ccgo_linux_amd64.go 785 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559
  1. // Code generated for linux/amd64 by 'generator --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-macro=m_ --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -extended-errors --libc modernc.org/libc --package-name=libz -o libz.a.go libz.a', DO NOT EDIT.
  2. //go:build linux && amd64
  3. package libz
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libc"
  8. )
  9. var _ reflect.Type
  10. var _ unsafe.Pointer
  11. const m_ARG_MAX = 131072
  12. const m_BASE = 65521
  13. const m_BC_BASE_MAX = 99
  14. const m_BC_DIM_MAX = 2048
  15. const m_BC_SCALE_MAX = 99
  16. const m_BC_STRING_MAX = 1000
  17. const m_BIG_ENDIAN = "__BIG_ENDIAN"
  18. const m_BYTE_ORDER = "__BYTE_ORDER"
  19. const m_CHARCLASS_NAME_MAX = 14
  20. const m_CHAR_BIT = 8
  21. const m_CHAR_MAX = 255
  22. const m_CHAR_MIN = 0
  23. const m_COLL_WEIGHTS_MAX = 2
  24. const m_DEF_MEM_LEVEL = 8
  25. const m_DEF_WBITS = "MAX_WBITS"
  26. const m_DELAYTIMER_MAX = 0x7fffffff
  27. const m_DYN_TREES = 2
  28. const m_EXIT_FAILURE = 1
  29. const m_EXIT_SUCCESS = 0
  30. const m_EXPR_NEST_MAX = 32
  31. const m_FD_SETSIZE = 1024
  32. const m_FILESIZEBITS = 64
  33. const m_F_LOCK = 1
  34. const m_F_OK = 0
  35. const m_F_TEST = 3
  36. const m_F_TLOCK = 2
  37. const m_F_ULOCK = 0
  38. const m_HAVE_HIDDEN = 1
  39. const m_HOST_NAME_MAX = 255
  40. const m_INT_MAX = 0x7fffffff
  41. const m_IOV_MAX = 1024
  42. const m_LINE_MAX = 4096
  43. const m_LITTLE_ENDIAN = "__LITTLE_ENDIAN"
  44. const m_LLONG_MAX = 0x7fffffffffffffff
  45. const m_LOGIN_NAME_MAX = 256
  46. const m_LONG_BIT = 64
  47. const m_LONG_MAX = "__LONG_MAX"
  48. const m_L_INCR = 1
  49. const m_L_SET = 0
  50. const m_L_XTND = 2
  51. const m_MAX_MATCH = 258
  52. const m_MAX_MEM_LEVEL = 9
  53. const m_MAX_WBITS = 15
  54. const m_MB_LEN_MAX = 4
  55. const m_MIN_MATCH = 3
  56. const m_MQ_PRIO_MAX = 32768
  57. const m_NAME_MAX = 255
  58. const m_NDEBUG = 1
  59. const m_NGROUPS_MAX = 32
  60. const m_NL_ARGMAX = 9
  61. const m_NL_LANGMAX = 32
  62. const m_NL_MSGMAX = 32767
  63. const m_NL_NMAX = 16
  64. const m_NL_SETMAX = 255
  65. const m_NL_TEXTMAX = 2048
  66. const m_NMAX = 5552
  67. const m_NZERO = 20
  68. const m_OS_CODE = 3
  69. const m_PAGESIZE = 4096
  70. const m_PAGE_SIZE = "PAGESIZE"
  71. const m_PATH_MAX = 4096
  72. const m_PDP_ENDIAN = "__PDP_ENDIAN"
  73. const m_PIPE_BUF = 4096
  74. const m_POSIX_CLOSE_RESTART = 0
  75. const m_PRESET_DICT = 0x20
  76. const m_PTHREAD_DESTRUCTOR_ITERATIONS = 4
  77. const m_PTHREAD_KEYS_MAX = 128
  78. const m_PTHREAD_STACK_MIN = 2048
  79. const m_RAND_MAX = 0x7fffffff
  80. const m_RE_DUP_MAX = 255
  81. const m_R_OK = 4
  82. const m_SCHAR_MAX = 127
  83. const m_SEEK_CUR = 1
  84. const m_SEEK_DATA = 3
  85. const m_SEEK_END = 2
  86. const m_SEEK_HOLE = 4
  87. const m_SEEK_SET = 0
  88. const m_SEM_NSEMS_MAX = 256
  89. const m_SEM_VALUE_MAX = 0x7fffffff
  90. const m_SHRT_MAX = 0x7fff
  91. const m_SSIZE_MAX = "LONG_MAX"
  92. const m_STATIC_TREES = 1
  93. const m_STDERR_FILENO = 2
  94. const m_STDIN_FILENO = 0
  95. const m_STDOUT_FILENO = 1
  96. const m_STORED_BLOCK = 0
  97. const m_SYMLOOP_MAX = 40
  98. const m_TTY_NAME_MAX = 32
  99. const m_TZNAME_MAX = 6
  100. const m_UCHAR_MAX = 255
  101. const m_UINT_MAX = 0xffffffff
  102. const m_USHRT_MAX = 0xffff
  103. const m_WNOHANG = 1
  104. const m_WORD_BIT = 32
  105. const m_WUNTRACED = 2
  106. const m_W_OK = 2
  107. const m_X_OK = 1
  108. const m_ZEXTERN = "extern"
  109. const m_ZLIB_VERNUM = 0x1310
  110. const m_ZLIB_VERSION = "1.3.1"
  111. const m_ZLIB_VER_MAJOR = 1
  112. const m_ZLIB_VER_MINOR = 3
  113. const m_ZLIB_VER_REVISION = 1
  114. const m_ZLIB_VER_SUBREVISION = 0
  115. const m_Z_ASCII = "Z_TEXT"
  116. const m_Z_BEST_COMPRESSION = 9
  117. const m_Z_BEST_SPEED = 1
  118. const m_Z_BINARY = 0
  119. const m_Z_BLOCK = 5
  120. const m_Z_DEFAULT_STRATEGY = 0
  121. const m_Z_DEFLATED = 8
  122. const m_Z_FILTERED = 1
  123. const m_Z_FINISH = 4
  124. const m_Z_FIXED = 4
  125. const m_Z_FULL_FLUSH = 3
  126. const m_Z_HUFFMAN_ONLY = 2
  127. const m_Z_NEED_DICT = 2
  128. const m_Z_NO_COMPRESSION = 0
  129. const m_Z_NO_FLUSH = 0
  130. const m_Z_NULL = 0
  131. const m_Z_OK = 0
  132. const m_Z_PARTIAL_FLUSH = 1
  133. const m_Z_RLE = 3
  134. const m_Z_STREAM_END = 1
  135. const m_Z_SYNC_FLUSH = 2
  136. const m_Z_TEXT = 1
  137. const m_Z_TREES = 6
  138. const m_Z_U4 = "unsigned"
  139. const m_Z_UNKNOWN = 2
  140. const m__CS_GNU_LIBC_VERSION = 2
  141. const m__CS_GNU_LIBPTHREAD_VERSION = 3
  142. const m__CS_PATH = 0
  143. const m__CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = 4
  144. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
  145. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
  146. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
  147. const m__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
  148. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
  149. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
  150. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
  151. const m__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
  152. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
  153. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
  154. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 1126
  155. const m__CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
  156. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
  157. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
  158. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
  159. const m__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
  160. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 1
  161. const m__CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
  162. const m__CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
  163. const m__CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
  164. const m__CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
  165. const m__CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
  166. const m__CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
  167. const m__CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
  168. const m__CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
  169. const m__CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
  170. const m__CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
  171. const m__CS_POSIX_V7_LP64_OFF64_LIBS = 1142
  172. const m__CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
  173. const m__CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
  174. const m__CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
  175. const m__CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
  176. const m__CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
  177. const m__CS_POSIX_V7_THREADS_CFLAGS = 1150
  178. const m__CS_POSIX_V7_THREADS_LDFLAGS = 1151
  179. const m__CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = 5
  180. const m__CS_V6_ENV = 1148
  181. const m__CS_V7_ENV = 1149
  182. const m__GNU_SOURCE = 1
  183. const m__LARGEFILE64_SOURCE = 1
  184. const m__LP64 = 1
  185. const m__PC_2_SYMLINKS = 20
  186. const m__PC_ALLOC_SIZE_MIN = 18
  187. const m__PC_ASYNC_IO = 10
  188. const m__PC_CHOWN_RESTRICTED = 6
  189. const m__PC_FILESIZEBITS = 13
  190. const m__PC_LINK_MAX = 0
  191. const m__PC_MAX_CANON = 1
  192. const m__PC_MAX_INPUT = 2
  193. const m__PC_NAME_MAX = 3
  194. const m__PC_NO_TRUNC = 7
  195. const m__PC_PATH_MAX = 4
  196. const m__PC_PIPE_BUF = 5
  197. const m__PC_PRIO_IO = 11
  198. const m__PC_REC_INCR_XFER_SIZE = 14
  199. const m__PC_REC_MAX_XFER_SIZE = 15
  200. const m__PC_REC_MIN_XFER_SIZE = 16
  201. const m__PC_REC_XFER_ALIGN = 17
  202. const m__PC_SOCK_MAXBUF = 12
  203. const m__PC_SYMLINK_MAX = 19
  204. const m__PC_SYNC_IO = 9
  205. const m__PC_VDISABLE = 8
  206. const m__POSIX2_BC_BASE_MAX = 99
  207. const m__POSIX2_BC_DIM_MAX = 2048
  208. const m__POSIX2_BC_SCALE_MAX = 99
  209. const m__POSIX2_BC_STRING_MAX = 1000
  210. const m__POSIX2_CHARCLASS_NAME_MAX = 14
  211. const m__POSIX2_COLL_WEIGHTS_MAX = 2
  212. const m__POSIX2_C_BIND = "_POSIX_VERSION"
  213. const m__POSIX2_EXPR_NEST_MAX = 32
  214. const m__POSIX2_LINE_MAX = 2048
  215. const m__POSIX2_RE_DUP_MAX = 255
  216. const m__POSIX2_VERSION = "_POSIX_VERSION"
  217. const m__POSIX_ADVISORY_INFO = "_POSIX_VERSION"
  218. const m__POSIX_AIO_LISTIO_MAX = 2
  219. const m__POSIX_AIO_MAX = 1
  220. const m__POSIX_ARG_MAX = 4096
  221. const m__POSIX_ASYNCHRONOUS_IO = "_POSIX_VERSION"
  222. const m__POSIX_BARRIERS = "_POSIX_VERSION"
  223. const m__POSIX_CHILD_MAX = 25
  224. const m__POSIX_CHOWN_RESTRICTED = 1
  225. const m__POSIX_CLOCKRES_MIN = 20000000
  226. const m__POSIX_CLOCK_SELECTION = "_POSIX_VERSION"
  227. const m__POSIX_CPUTIME = "_POSIX_VERSION"
  228. const m__POSIX_DELAYTIMER_MAX = 32
  229. const m__POSIX_FSYNC = "_POSIX_VERSION"
  230. const m__POSIX_HOST_NAME_MAX = 255
  231. const m__POSIX_IPV6 = "_POSIX_VERSION"
  232. const m__POSIX_JOB_CONTROL = 1
  233. const m__POSIX_LINK_MAX = 8
  234. const m__POSIX_LOGIN_NAME_MAX = 9
  235. const m__POSIX_MAPPED_FILES = "_POSIX_VERSION"
  236. const m__POSIX_MAX_CANON = 255
  237. const m__POSIX_MAX_INPUT = 255
  238. const m__POSIX_MEMLOCK = "_POSIX_VERSION"
  239. const m__POSIX_MEMLOCK_RANGE = "_POSIX_VERSION"
  240. const m__POSIX_MEMORY_PROTECTION = "_POSIX_VERSION"
  241. const m__POSIX_MESSAGE_PASSING = "_POSIX_VERSION"
  242. const m__POSIX_MONOTONIC_CLOCK = "_POSIX_VERSION"
  243. const m__POSIX_MQ_OPEN_MAX = 8
  244. const m__POSIX_MQ_PRIO_MAX = 32
  245. const m__POSIX_NAME_MAX = 14
  246. const m__POSIX_NGROUPS_MAX = 8
  247. const m__POSIX_NO_TRUNC = 1
  248. const m__POSIX_OPEN_MAX = 20
  249. const m__POSIX_PATH_MAX = 256
  250. const m__POSIX_PIPE_BUF = 512
  251. const m__POSIX_RAW_SOCKETS = "_POSIX_VERSION"
  252. const m__POSIX_READER_WRITER_LOCKS = "_POSIX_VERSION"
  253. const m__POSIX_REALTIME_SIGNALS = "_POSIX_VERSION"
  254. const m__POSIX_REGEXP = 1
  255. const m__POSIX_RE_DUP_MAX = 255
  256. const m__POSIX_RTSIG_MAX = 8
  257. const m__POSIX_SAVED_IDS = 1
  258. const m__POSIX_SEMAPHORES = "_POSIX_VERSION"
  259. const m__POSIX_SEM_NSEMS_MAX = 256
  260. const m__POSIX_SEM_VALUE_MAX = 32767
  261. const m__POSIX_SHARED_MEMORY_OBJECTS = "_POSIX_VERSION"
  262. const m__POSIX_SHELL = 1
  263. const m__POSIX_SIGQUEUE_MAX = 32
  264. const m__POSIX_SPAWN = "_POSIX_VERSION"
  265. const m__POSIX_SPIN_LOCKS = "_POSIX_VERSION"
  266. const m__POSIX_SSIZE_MAX = 32767
  267. const m__POSIX_SS_REPL_MAX = 4
  268. const m__POSIX_STREAM_MAX = 8
  269. const m__POSIX_SYMLINK_MAX = 255
  270. const m__POSIX_SYMLOOP_MAX = 8
  271. const m__POSIX_THREADS = "_POSIX_VERSION"
  272. const m__POSIX_THREAD_ATTR_STACKADDR = "_POSIX_VERSION"
  273. const m__POSIX_THREAD_ATTR_STACKSIZE = "_POSIX_VERSION"
  274. const m__POSIX_THREAD_CPUTIME = "_POSIX_VERSION"
  275. const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
  276. const m__POSIX_THREAD_KEYS_MAX = 128
  277. const m__POSIX_THREAD_PRIORITY_SCHEDULING = "_POSIX_VERSION"
  278. const m__POSIX_THREAD_PROCESS_SHARED = "_POSIX_VERSION"
  279. const m__POSIX_THREAD_SAFE_FUNCTIONS = "_POSIX_VERSION"
  280. const m__POSIX_THREAD_THREADS_MAX = 64
  281. const m__POSIX_TIMEOUTS = "_POSIX_VERSION"
  282. const m__POSIX_TIMERS = "_POSIX_VERSION"
  283. const m__POSIX_TIMER_MAX = 32
  284. const m__POSIX_TRACE_EVENT_NAME_MAX = 30
  285. const m__POSIX_TRACE_NAME_MAX = 8
  286. const m__POSIX_TRACE_SYS_MAX = 8
  287. const m__POSIX_TRACE_USER_EVENT_MAX = 32
  288. const m__POSIX_TTY_NAME_MAX = 9
  289. const m__POSIX_TZNAME_MAX = 6
  290. const m__POSIX_V6_LP64_OFF64 = 1
  291. const m__POSIX_V7_LP64_OFF64 = 1
  292. const m__POSIX_VDISABLE = 0
  293. const m__POSIX_VERSION = 200809
  294. const m__SC_2_CHAR_TERM = 95
  295. const m__SC_2_C_BIND = 47
  296. const m__SC_2_C_DEV = 48
  297. const m__SC_2_FORT_DEV = 49
  298. const m__SC_2_FORT_RUN = 50
  299. const m__SC_2_LOCALEDEF = 52
  300. const m__SC_2_PBS = 168
  301. const m__SC_2_PBS_ACCOUNTING = 169
  302. const m__SC_2_PBS_CHECKPOINT = 175
  303. const m__SC_2_PBS_LOCATE = 170
  304. const m__SC_2_PBS_MESSAGE = 171
  305. const m__SC_2_PBS_TRACK = 172
  306. const m__SC_2_SW_DEV = 51
  307. const m__SC_2_UPE = 97
  308. const m__SC_2_VERSION = 46
  309. const m__SC_ADVISORY_INFO = 132
  310. const m__SC_AIO_LISTIO_MAX = 23
  311. const m__SC_AIO_MAX = 24
  312. const m__SC_AIO_PRIO_DELTA_MAX = 25
  313. const m__SC_ARG_MAX = 0
  314. const m__SC_ASYNCHRONOUS_IO = 12
  315. const m__SC_ATEXIT_MAX = 87
  316. const m__SC_AVPHYS_PAGES = 86
  317. const m__SC_BARRIERS = 133
  318. const m__SC_BC_BASE_MAX = 36
  319. const m__SC_BC_DIM_MAX = 37
  320. const m__SC_BC_SCALE_MAX = 38
  321. const m__SC_BC_STRING_MAX = 39
  322. const m__SC_CHILD_MAX = 1
  323. const m__SC_CLK_TCK = 2
  324. const m__SC_CLOCK_SELECTION = 137
  325. const m__SC_COLL_WEIGHTS_MAX = 40
  326. const m__SC_CPUTIME = 138
  327. const m__SC_DELAYTIMER_MAX = 26
  328. const m__SC_EXPR_NEST_MAX = 42
  329. const m__SC_FSYNC = 15
  330. const m__SC_GETGR_R_SIZE_MAX = 69
  331. const m__SC_GETPW_R_SIZE_MAX = 70
  332. const m__SC_HOST_NAME_MAX = 180
  333. const m__SC_IOV_MAX = 60
  334. const m__SC_IPV6 = 235
  335. const m__SC_JOB_CONTROL = 7
  336. const m__SC_LINE_MAX = 43
  337. const m__SC_LOGIN_NAME_MAX = 71
  338. const m__SC_MAPPED_FILES = 16
  339. const m__SC_MEMLOCK = 17
  340. const m__SC_MEMLOCK_RANGE = 18
  341. const m__SC_MEMORY_PROTECTION = 19
  342. const m__SC_MESSAGE_PASSING = 20
  343. const m__SC_MINSIGSTKSZ = 249
  344. const m__SC_MONOTONIC_CLOCK = 149
  345. const m__SC_MQ_OPEN_MAX = 27
  346. const m__SC_MQ_PRIO_MAX = 28
  347. const m__SC_NGROUPS_MAX = 3
  348. const m__SC_NPROCESSORS_CONF = 83
  349. const m__SC_NPROCESSORS_ONLN = 84
  350. const m__SC_NZERO = 109
  351. const m__SC_OPEN_MAX = 4
  352. const m__SC_PAGESIZE = 30
  353. const m__SC_PAGE_SIZE = 30
  354. const m__SC_PASS_MAX = 88
  355. const m__SC_PHYS_PAGES = 85
  356. const m__SC_PRIORITIZED_IO = 13
  357. const m__SC_PRIORITY_SCHEDULING = 10
  358. const m__SC_RAW_SOCKETS = 236
  359. const m__SC_READER_WRITER_LOCKS = 153
  360. const m__SC_REALTIME_SIGNALS = 9
  361. const m__SC_REGEXP = 155
  362. const m__SC_RE_DUP_MAX = 44
  363. const m__SC_RTSIG_MAX = 31
  364. const m__SC_SAVED_IDS = 8
  365. const m__SC_SEMAPHORES = 21
  366. const m__SC_SEM_NSEMS_MAX = 32
  367. const m__SC_SEM_VALUE_MAX = 33
  368. const m__SC_SHARED_MEMORY_OBJECTS = 22
  369. const m__SC_SHELL = 157
  370. const m__SC_SIGQUEUE_MAX = 34
  371. const m__SC_SIGSTKSZ = 250
  372. const m__SC_SPAWN = 159
  373. const m__SC_SPIN_LOCKS = 154
  374. const m__SC_SPORADIC_SERVER = 160
  375. const m__SC_SS_REPL_MAX = 241
  376. const m__SC_STREAMS = 174
  377. const m__SC_STREAM_MAX = 5
  378. const m__SC_SYMLOOP_MAX = 173
  379. const m__SC_SYNCHRONIZED_IO = 14
  380. const m__SC_THREADS = 67
  381. const m__SC_THREAD_ATTR_STACKADDR = 77
  382. const m__SC_THREAD_ATTR_STACKSIZE = 78
  383. const m__SC_THREAD_CPUTIME = 139
  384. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 73
  385. const m__SC_THREAD_KEYS_MAX = 74
  386. const m__SC_THREAD_PRIORITY_SCHEDULING = 79
  387. const m__SC_THREAD_PRIO_INHERIT = 80
  388. const m__SC_THREAD_PRIO_PROTECT = 81
  389. const m__SC_THREAD_PROCESS_SHARED = 82
  390. const m__SC_THREAD_ROBUST_PRIO_INHERIT = 247
  391. const m__SC_THREAD_ROBUST_PRIO_PROTECT = 248
  392. const m__SC_THREAD_SAFE_FUNCTIONS = 68
  393. const m__SC_THREAD_SPORADIC_SERVER = 161
  394. const m__SC_THREAD_STACK_MIN = 75
  395. const m__SC_THREAD_THREADS_MAX = 76
  396. const m__SC_TIMEOUTS = 164
  397. const m__SC_TIMERS = 11
  398. const m__SC_TIMER_MAX = 35
  399. const m__SC_TRACE = 181
  400. const m__SC_TRACE_EVENT_FILTER = 182
  401. const m__SC_TRACE_EVENT_NAME_MAX = 242
  402. const m__SC_TRACE_INHERIT = 183
  403. const m__SC_TRACE_LOG = 184
  404. const m__SC_TRACE_NAME_MAX = 243
  405. const m__SC_TRACE_SYS_MAX = 244
  406. const m__SC_TRACE_USER_EVENT_MAX = 245
  407. const m__SC_TTY_NAME_MAX = 72
  408. const m__SC_TYPED_MEMORY_OBJECTS = 165
  409. const m__SC_TZNAME_MAX = 6
  410. const m__SC_UIO_MAXIOV = 60
  411. const m__SC_V6_ILP32_OFF32 = 176
  412. const m__SC_V6_ILP32_OFFBIG = 177
  413. const m__SC_V6_LP64_OFF64 = 178
  414. const m__SC_V6_LPBIG_OFFBIG = 179
  415. const m__SC_V7_ILP32_OFF32 = 237
  416. const m__SC_V7_ILP32_OFFBIG = 238
  417. const m__SC_V7_LP64_OFF64 = 239
  418. const m__SC_V7_LPBIG_OFFBIG = 240
  419. const m__SC_VERSION = 29
  420. const m__SC_XBS5_ILP32_OFF32 = 125
  421. const m__SC_XBS5_ILP32_OFFBIG = 126
  422. const m__SC_XBS5_LP64_OFF64 = 127
  423. const m__SC_XBS5_LPBIG_OFFBIG = 128
  424. const m__SC_XOPEN_CRYPT = 92
  425. const m__SC_XOPEN_ENH_I18N = 93
  426. const m__SC_XOPEN_LEGACY = 129
  427. const m__SC_XOPEN_REALTIME = 130
  428. const m__SC_XOPEN_REALTIME_THREADS = 131
  429. const m__SC_XOPEN_SHM = 94
  430. const m__SC_XOPEN_STREAMS = 246
  431. const m__SC_XOPEN_UNIX = 91
  432. const m__SC_XOPEN_VERSION = 89
  433. const m__SC_XOPEN_XCU_VERSION = 90
  434. const m__SC_XOPEN_XPG2 = 98
  435. const m__SC_XOPEN_XPG3 = 99
  436. const m__SC_XOPEN_XPG4 = 100
  437. const m__STDC_PREDEF_H = 1
  438. const m__XOPEN_ENH_I18N = 1
  439. const m__XOPEN_IOV_MAX = 16
  440. const m__XOPEN_NAME_MAX = 255
  441. const m__XOPEN_PATH_MAX = 1024
  442. const m__XOPEN_UNIX = 1
  443. const m__XOPEN_VERSION = 700
  444. const m___ATOMIC_ACQUIRE = 2
  445. const m___ATOMIC_ACQ_REL = 4
  446. const m___ATOMIC_CONSUME = 1
  447. const m___ATOMIC_HLE_ACQUIRE = 65536
  448. const m___ATOMIC_HLE_RELEASE = 131072
  449. const m___ATOMIC_RELAXED = 0
  450. const m___ATOMIC_RELEASE = 3
  451. const m___ATOMIC_SEQ_CST = 5
  452. const m___BIGGEST_ALIGNMENT__ = 16
  453. const m___BIG_ENDIAN = 4321
  454. const m___BYTE_ORDER = 1234
  455. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  456. const m___CCGO__ = 1
  457. const m___CHAR_BIT__ = 8
  458. const m___DBL_DECIMAL_DIG__ = 17
  459. const m___DBL_DIG__ = 15
  460. const m___DBL_HAS_DENORM__ = 1
  461. const m___DBL_HAS_INFINITY__ = 1
  462. const m___DBL_HAS_QUIET_NAN__ = 1
  463. const m___DBL_IS_IEC_60559__ = 2
  464. const m___DBL_MANT_DIG__ = 53
  465. const m___DBL_MAX_10_EXP__ = 308
  466. const m___DBL_MAX_EXP__ = 1024
  467. const m___DEC128_EPSILON__ = 1e-33
  468. const m___DEC128_MANT_DIG__ = 34
  469. const m___DEC128_MAX_EXP__ = 6145
  470. const m___DEC128_MAX__ = "9.999999999999999999999999999999999E6144"
  471. const m___DEC128_MIN__ = 1e-6143
  472. const m___DEC128_SUBNORMAL_MIN__ = 0.000000000000000000000000000000001e-6143
  473. const m___DEC32_EPSILON__ = 1e-6
  474. const m___DEC32_MANT_DIG__ = 7
  475. const m___DEC32_MAX_EXP__ = 97
  476. const m___DEC32_MAX__ = 9.999999e96
  477. const m___DEC32_MIN__ = 1e-95
  478. const m___DEC32_SUBNORMAL_MIN__ = 0.000001e-95
  479. const m___DEC64_EPSILON__ = 1e-15
  480. const m___DEC64_MANT_DIG__ = 16
  481. const m___DEC64_MAX_EXP__ = 385
  482. const m___DEC64_MAX__ = "9.999999999999999E384"
  483. const m___DEC64_MIN__ = 1e-383
  484. const m___DEC64_SUBNORMAL_MIN__ = 0.000000000000001e-383
  485. const m___DECIMAL_BID_FORMAT__ = 1
  486. const m___DECIMAL_DIG__ = 17
  487. const m___DEC_EVAL_METHOD__ = 2
  488. const m___ELF__ = 1
  489. const m___FINITE_MATH_ONLY__ = 0
  490. const m___FLOAT_WORD_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  491. const m___FLT128_DECIMAL_DIG__ = 36
  492. const m___FLT128_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  493. const m___FLT128_DIG__ = 33
  494. const m___FLT128_EPSILON__ = 1.92592994438723585305597794258492732e-34
  495. const m___FLT128_HAS_DENORM__ = 1
  496. const m___FLT128_HAS_INFINITY__ = 1
  497. const m___FLT128_HAS_QUIET_NAN__ = 1
  498. const m___FLT128_IS_IEC_60559__ = 2
  499. const m___FLT128_MANT_DIG__ = 113
  500. const m___FLT128_MAX_10_EXP__ = 4932
  501. const m___FLT128_MAX_EXP__ = 16384
  502. const m___FLT128_MAX__ = "1.18973149535723176508575932662800702e+4932"
  503. const m___FLT128_MIN__ = 3.36210314311209350626267781732175260e-4932
  504. const m___FLT128_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  505. const m___FLT16_DECIMAL_DIG__ = 5
  506. const m___FLT16_DENORM_MIN__ = 5.96046447753906250000000000000000000e-8
  507. const m___FLT16_DIG__ = 3
  508. const m___FLT16_EPSILON__ = 9.76562500000000000000000000000000000e-4
  509. const m___FLT16_HAS_DENORM__ = 1
  510. const m___FLT16_HAS_INFINITY__ = 1
  511. const m___FLT16_HAS_QUIET_NAN__ = 1
  512. const m___FLT16_IS_IEC_60559__ = 2
  513. const m___FLT16_MANT_DIG__ = 11
  514. const m___FLT16_MAX_10_EXP__ = 4
  515. const m___FLT16_MAX_EXP__ = 16
  516. const m___FLT16_MAX__ = 6.55040000000000000000000000000000000e+4
  517. const m___FLT16_MIN__ = 6.10351562500000000000000000000000000e-5
  518. const m___FLT16_NORM_MAX__ = 6.55040000000000000000000000000000000e+4
  519. const m___FLT32X_DECIMAL_DIG__ = 17
  520. const m___FLT32X_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  521. const m___FLT32X_DIG__ = 15
  522. const m___FLT32X_EPSILON__ = 2.22044604925031308084726333618164062e-16
  523. const m___FLT32X_HAS_DENORM__ = 1
  524. const m___FLT32X_HAS_INFINITY__ = 1
  525. const m___FLT32X_HAS_QUIET_NAN__ = 1
  526. const m___FLT32X_IS_IEC_60559__ = 2
  527. const m___FLT32X_MANT_DIG__ = 53
  528. const m___FLT32X_MAX_10_EXP__ = 308
  529. const m___FLT32X_MAX_EXP__ = 1024
  530. const m___FLT32X_MAX__ = 1.79769313486231570814527423731704357e+308
  531. const m___FLT32X_MIN__ = 2.22507385850720138309023271733240406e-308
  532. const m___FLT32X_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  533. const m___FLT32_DECIMAL_DIG__ = 9
  534. const m___FLT32_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  535. const m___FLT32_DIG__ = 6
  536. const m___FLT32_EPSILON__ = 1.19209289550781250000000000000000000e-7
  537. const m___FLT32_HAS_DENORM__ = 1
  538. const m___FLT32_HAS_INFINITY__ = 1
  539. const m___FLT32_HAS_QUIET_NAN__ = 1
  540. const m___FLT32_IS_IEC_60559__ = 2
  541. const m___FLT32_MANT_DIG__ = 24
  542. const m___FLT32_MAX_10_EXP__ = 38
  543. const m___FLT32_MAX_EXP__ = 128
  544. const m___FLT32_MAX__ = 3.40282346638528859811704183484516925e+38
  545. const m___FLT32_MIN__ = 1.17549435082228750796873653722224568e-38
  546. const m___FLT32_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  547. const m___FLT64X_DECIMAL_DIG__ = 36
  548. const m___FLT64X_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  549. const m___FLT64X_DIG__ = 33
  550. const m___FLT64X_EPSILON__ = 1.92592994438723585305597794258492732e-34
  551. const m___FLT64X_HAS_DENORM__ = 1
  552. const m___FLT64X_HAS_INFINITY__ = 1
  553. const m___FLT64X_HAS_QUIET_NAN__ = 1
  554. const m___FLT64X_IS_IEC_60559__ = 2
  555. const m___FLT64X_MANT_DIG__ = 113
  556. const m___FLT64X_MAX_10_EXP__ = 4932
  557. const m___FLT64X_MAX_EXP__ = 16384
  558. const m___FLT64X_MAX__ = "1.18973149535723176508575932662800702e+4932"
  559. const m___FLT64X_MIN__ = 3.36210314311209350626267781732175260e-4932
  560. const m___FLT64X_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  561. const m___FLT64_DECIMAL_DIG__ = 17
  562. const m___FLT64_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  563. const m___FLT64_DIG__ = 15
  564. const m___FLT64_EPSILON__ = 2.22044604925031308084726333618164062e-16
  565. const m___FLT64_HAS_DENORM__ = 1
  566. const m___FLT64_HAS_INFINITY__ = 1
  567. const m___FLT64_HAS_QUIET_NAN__ = 1
  568. const m___FLT64_IS_IEC_60559__ = 2
  569. const m___FLT64_MANT_DIG__ = 53
  570. const m___FLT64_MAX_10_EXP__ = 308
  571. const m___FLT64_MAX_EXP__ = 1024
  572. const m___FLT64_MAX__ = 1.79769313486231570814527423731704357e+308
  573. const m___FLT64_MIN__ = 2.22507385850720138309023271733240406e-308
  574. const m___FLT64_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  575. const m___FLT_DECIMAL_DIG__ = 9
  576. const m___FLT_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  577. const m___FLT_DIG__ = 6
  578. const m___FLT_EPSILON__ = 1.19209289550781250000000000000000000e-7
  579. const m___FLT_EVAL_METHOD_TS_18661_3__ = 0
  580. const m___FLT_EVAL_METHOD__ = 0
  581. const m___FLT_HAS_DENORM__ = 1
  582. const m___FLT_HAS_INFINITY__ = 1
  583. const m___FLT_HAS_QUIET_NAN__ = 1
  584. const m___FLT_IS_IEC_60559__ = 2
  585. const m___FLT_MANT_DIG__ = 24
  586. const m___FLT_MAX_10_EXP__ = 38
  587. const m___FLT_MAX_EXP__ = 128
  588. const m___FLT_MAX__ = 3.40282346638528859811704183484516925e+38
  589. const m___FLT_MIN__ = 1.17549435082228750796873653722224568e-38
  590. const m___FLT_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  591. const m___FLT_RADIX__ = 2
  592. const m___FUNCTION__ = "__func__"
  593. const m___FXSR__ = 1
  594. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  595. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  596. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  597. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  598. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  599. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  600. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  601. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  602. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  603. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  604. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  605. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  606. const m___GCC_CONSTRUCTIVE_SIZE = 64
  607. const m___GCC_DESTRUCTIVE_SIZE = 64
  608. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  609. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  610. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  611. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  612. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  613. const m___GCC_IEC_559 = 2
  614. const m___GCC_IEC_559_COMPLEX = 2
  615. const m___GNUC_EXECUTION_CHARSET_NAME = "UTF-8"
  616. const m___GNUC_MINOR__ = 2
  617. const m___GNUC_PATCHLEVEL__ = 0
  618. const m___GNUC_STDC_INLINE__ = 1
  619. const m___GNUC_WIDE_EXECUTION_CHARSET_NAME = "UTF-32LE"
  620. const m___GNUC__ = 12
  621. const m___GXX_ABI_VERSION = 1017
  622. const m___HAVE_SPECULATION_SAFE_VALUE = 1
  623. const m___INT16_MAX__ = 0x7fff
  624. const m___INT32_MAX__ = 0x7fffffff
  625. const m___INT32_TYPE__ = "int"
  626. const m___INT64_MAX__ = 0x7fffffffffffffff
  627. const m___INT8_MAX__ = 0x7f
  628. const m___INTMAX_MAX__ = 0x7fffffffffffffff
  629. const m___INTMAX_WIDTH__ = 64
  630. const m___INTPTR_MAX__ = 0x7fffffffffffffff
  631. const m___INTPTR_WIDTH__ = 64
  632. const m___INT_FAST16_MAX__ = 0x7fffffffffffffff
  633. const m___INT_FAST16_WIDTH__ = 64
  634. const m___INT_FAST32_MAX__ = 0x7fffffffffffffff
  635. const m___INT_FAST32_WIDTH__ = 64
  636. const m___INT_FAST64_MAX__ = 0x7fffffffffffffff
  637. const m___INT_FAST64_WIDTH__ = 64
  638. const m___INT_FAST8_MAX__ = 0x7f
  639. const m___INT_FAST8_WIDTH__ = 8
  640. const m___INT_LEAST16_MAX__ = 0x7fff
  641. const m___INT_LEAST16_WIDTH__ = 16
  642. const m___INT_LEAST32_MAX__ = 0x7fffffff
  643. const m___INT_LEAST32_TYPE__ = "int"
  644. const m___INT_LEAST32_WIDTH__ = 32
  645. const m___INT_LEAST64_MAX__ = 0x7fffffffffffffff
  646. const m___INT_LEAST64_WIDTH__ = 64
  647. const m___INT_LEAST8_MAX__ = 0x7f
  648. const m___INT_LEAST8_WIDTH__ = 8
  649. const m___INT_MAX__ = 0x7fffffff
  650. const m___INT_WIDTH__ = 32
  651. const m___LDBL_DECIMAL_DIG__ = 17
  652. const m___LDBL_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  653. const m___LDBL_DIG__ = 15
  654. const m___LDBL_EPSILON__ = 2.22044604925031308084726333618164062e-16
  655. const m___LDBL_HAS_DENORM__ = 1
  656. const m___LDBL_HAS_INFINITY__ = 1
  657. const m___LDBL_HAS_QUIET_NAN__ = 1
  658. const m___LDBL_IS_IEC_60559__ = 2
  659. const m___LDBL_MANT_DIG__ = 53
  660. const m___LDBL_MAX_10_EXP__ = 308
  661. const m___LDBL_MAX_EXP__ = 1024
  662. const m___LDBL_MAX__ = 1.79769313486231570814527423731704357e+308
  663. const m___LDBL_MIN__ = 2.22507385850720138309023271733240406e-308
  664. const m___LDBL_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  665. const m___LITTLE_ENDIAN = 1234
  666. const m___LONG_DOUBLE_64__ = 1
  667. const m___LONG_LONG_MAX__ = 0x7fffffffffffffff
  668. const m___LONG_LONG_WIDTH__ = 64
  669. const m___LONG_MAX = 0x7fffffffffffffff
  670. const m___LONG_MAX__ = 0x7fffffffffffffff
  671. const m___LONG_WIDTH__ = 64
  672. const m___LP64__ = 1
  673. const m___MMX_WITH_SSE__ = 1
  674. const m___MMX__ = 1
  675. const m___NO_INLINE__ = 1
  676. const m___ORDER_BIG_ENDIAN__ = 4321
  677. const m___ORDER_LITTLE_ENDIAN__ = 1234
  678. const m___ORDER_PDP_ENDIAN__ = 3412
  679. const m___PDP_ENDIAN = 3412
  680. const m___PIC__ = 2
  681. const m___PIE__ = 2
  682. const m___PRAGMA_REDEFINE_EXTNAME = 1
  683. const m___PRETTY_FUNCTION__ = "__func__"
  684. const m___PTRDIFF_MAX__ = 0x7fffffffffffffff
  685. const m___PTRDIFF_WIDTH__ = 64
  686. const m___SCHAR_MAX__ = 0x7f
  687. const m___SCHAR_WIDTH__ = 8
  688. const m___SEG_FS = 1
  689. const m___SEG_GS = 1
  690. const m___SHRT_MAX__ = 0x7fff
  691. const m___SHRT_WIDTH__ = 16
  692. const m___SIG_ATOMIC_MAX__ = 0x7fffffff
  693. const m___SIG_ATOMIC_TYPE__ = "int"
  694. const m___SIG_ATOMIC_WIDTH__ = 32
  695. const m___SIZEOF_DOUBLE__ = 8
  696. const m___SIZEOF_FLOAT128__ = 16
  697. const m___SIZEOF_FLOAT80__ = 16
  698. const m___SIZEOF_FLOAT__ = 4
  699. const m___SIZEOF_INT128__ = 16
  700. const m___SIZEOF_INT__ = 4
  701. const m___SIZEOF_LONG_DOUBLE__ = 8
  702. const m___SIZEOF_LONG_LONG__ = 8
  703. const m___SIZEOF_LONG__ = 8
  704. const m___SIZEOF_POINTER__ = 8
  705. const m___SIZEOF_PTRDIFF_T__ = 8
  706. const m___SIZEOF_SHORT__ = 2
  707. const m___SIZEOF_SIZE_T__ = 8
  708. const m___SIZEOF_WCHAR_T__ = 4
  709. const m___SIZEOF_WINT_T__ = 4
  710. const m___SIZE_MAX__ = 0xffffffffffffffff
  711. const m___SIZE_WIDTH__ = 64
  712. const m___SSE2_MATH__ = 1
  713. const m___SSE2__ = 1
  714. const m___SSE_MATH__ = 1
  715. const m___SSE__ = 1
  716. const m___STDC_HOSTED__ = 1
  717. const m___STDC_IEC_559_COMPLEX__ = 1
  718. const m___STDC_IEC_559__ = 1
  719. const m___STDC_IEC_60559_BFP__ = 201404
  720. const m___STDC_IEC_60559_COMPLEX__ = 201404
  721. const m___STDC_ISO_10646__ = 201706
  722. const m___STDC_UTF_16__ = 1
  723. const m___STDC_UTF_32__ = 1
  724. const m___STDC_VERSION__ = 201710
  725. const m___STDC__ = 1
  726. const m___UINT16_MAX__ = 0xffff
  727. const m___UINT32_MAX__ = 0xffffffff
  728. const m___UINT64_MAX__ = 0xffffffffffffffff
  729. const m___UINT8_MAX__ = 0xff
  730. const m___UINTMAX_MAX__ = 0xffffffffffffffff
  731. const m___UINTPTR_MAX__ = 0xffffffffffffffff
  732. const m___UINT_FAST16_MAX__ = 0xffffffffffffffff
  733. const m___UINT_FAST32_MAX__ = 0xffffffffffffffff
  734. const m___UINT_FAST64_MAX__ = 0xffffffffffffffff
  735. const m___UINT_FAST8_MAX__ = 0xff
  736. const m___UINT_LEAST16_MAX__ = 0xffff
  737. const m___UINT_LEAST32_MAX__ = 0xffffffff
  738. const m___UINT_LEAST64_MAX__ = 0xffffffffffffffff
  739. const m___UINT_LEAST8_MAX__ = 0xff
  740. const m___USE_TIME_BITS64 = 1
  741. const m___VERSION__ = "12.2.0"
  742. const m___WCHAR_MAX__ = 0x7fffffff
  743. const m___WCHAR_TYPE__ = "int"
  744. const m___WCHAR_WIDTH__ = 32
  745. const m___WINT_MAX__ = 0xffffffff
  746. const m___WINT_MIN__ = 0
  747. const m___WINT_WIDTH__ = 32
  748. const m___amd64 = 1
  749. const m___amd64__ = 1
  750. const m___code_model_small__ = 1
  751. const m___gnu_linux__ = 1
  752. const m___inline = "inline"
  753. const m___k8 = 1
  754. const m___k8__ = 1
  755. const m___linux = 1
  756. const m___linux__ = 1
  757. const m___pic__ = 2
  758. const m___pie__ = 2
  759. const m___restrict = "restrict"
  760. const m___restrict_arr = "restrict"
  761. const m___unix = 1
  762. const m___unix__ = 1
  763. const m___x86_64 = 1
  764. const m___x86_64__ = 1
  765. const m_alloca = "__builtin_alloca"
  766. const m_blkcnt64_t = "blkcnt_t"
  767. const m_fsblkcnt64_t = "fsblkcnt_t"
  768. const m_fsfilcnt64_t = "fsfilcnt_t"
  769. const m_ftruncate64 = "ftruncate"
  770. const m_ino64_t = "ino_t"
  771. const m_linux = 1
  772. const m_local = "static"
  773. const m_lockf64 = "lockf"
  774. const m_lseek64 = "lseek"
  775. const m_mkostemp64 = "mkostemp"
  776. const m_mkostemps64 = "mkostemps"
  777. const m_mkstemp64 = "mkstemp"
  778. const m_mkstemps64 = "mkstemps"
  779. const m_off64_t = "off_t"
  780. const m_pread64 = "pread"
  781. const m_pwrite64 = "pwrite"
  782. const m_truncate64 = "truncate"
  783. const m_unix = 1
  784. const m_z_off64_t = "z_off_t"
  785. const m_z_off_t = "off_t"
  786. const m_zmemcmp = "memcmp"
  787. const m_zmemcpy = "memcpy"
  788. type t__builtin_va_list = uintptr
  789. type t__predefined_size_t = uint64
  790. type t__predefined_wchar_t = int32
  791. type t__predefined_ptrdiff_t = int64
  792. type Twchar_t = int32
  793. type Tmax_align_t = struct {
  794. F__ll int64
  795. F__ld float64
  796. }
  797. type Tsize_t = uint64
  798. type Tptrdiff_t = int64
  799. type Tz_size_t = uint64
  800. type TByte = uint8
  801. type TuInt = uint32
  802. type TuLong = uint64
  803. type TBytef = uint8
  804. type Tcharf = int8
  805. type Tintf = int32
  806. type TuIntf = uint32
  807. type TuLongf = uint64
  808. type Tvoidpc = uintptr
  809. type Tvoidpf = uintptr
  810. type Tvoidp = uintptr
  811. type Tz_crc_t = uint32
  812. type Tssize_t = int64
  813. type Tregister_t = int64
  814. type Ttime_t = int64
  815. type Tsuseconds_t = int64
  816. type Tint8_t = int8
  817. type Tint16_t = int16
  818. type Tint32_t = int32
  819. type Tint64_t = int64
  820. type Tu_int64_t = uint64
  821. type Tmode_t = uint32
  822. type Tnlink_t = uint64
  823. type Toff_t = int64
  824. type Tino_t = uint64
  825. type Tdev_t = uint64
  826. type Tblksize_t = int64
  827. type Tblkcnt_t = int64
  828. type Tfsblkcnt_t = uint64
  829. type Tfsfilcnt_t = uint64
  830. type Ttimer_t = uintptr
  831. type Tclockid_t = int32
  832. type Tclock_t = int64
  833. type Tpid_t = int32
  834. type Tid_t = uint32
  835. type Tuid_t = uint32
  836. type Tgid_t = uint32
  837. type Tkey_t = int32
  838. type Tuseconds_t = uint32
  839. type Tpthread_t = uintptr
  840. type Tpthread_once_t = int32
  841. type Tpthread_key_t = uint32
  842. type Tpthread_spinlock_t = int32
  843. type Tpthread_mutexattr_t = struct {
  844. F__attr uint32
  845. }
  846. type Tpthread_condattr_t = struct {
  847. F__attr uint32
  848. }
  849. type Tpthread_barrierattr_t = struct {
  850. F__attr uint32
  851. }
  852. type Tpthread_rwlockattr_t = struct {
  853. F__attr [2]uint32
  854. }
  855. type Tpthread_attr_t = struct {
  856. F__u struct {
  857. F__vi [0][14]int32
  858. F__s [0][7]uint64
  859. F__i [14]int32
  860. }
  861. }
  862. type Tpthread_mutex_t = struct {
  863. F__u struct {
  864. F__vi [0][10]int32
  865. F__p [0][5]uintptr
  866. F__i [10]int32
  867. }
  868. }
  869. type Tpthread_cond_t = struct {
  870. F__u struct {
  871. F__vi [0][12]int32
  872. F__p [0][6]uintptr
  873. F__i [12]int32
  874. }
  875. }
  876. type Tpthread_rwlock_t = struct {
  877. F__u struct {
  878. F__vi [0][14]int32
  879. F__p [0][7]uintptr
  880. F__i [14]int32
  881. }
  882. }
  883. type Tpthread_barrier_t = struct {
  884. F__u struct {
  885. F__vi [0][8]int32
  886. F__p [0][4]uintptr
  887. F__i [8]int32
  888. }
  889. }
  890. type Tu_int8_t = uint8
  891. type Tu_int16_t = uint16
  892. type Tu_int32_t = uint32
  893. type Tcaddr_t = uintptr
  894. type Tu_char = uint8
  895. type Tu_short = uint16
  896. type Tushort = uint16
  897. type Tu_int = uint32
  898. type Tuint = uint32
  899. type Tu_long = uint64
  900. type Tulong = uint64
  901. type Tquad_t = int64
  902. type Tu_quad_t = uint64
  903. type Tuint16_t = uint16
  904. type Tuint32_t = uint32
  905. type Tuint64_t = uint64
  906. type Ttimeval = struct {
  907. Ftv_sec Ttime_t
  908. Ftv_usec Tsuseconds_t
  909. }
  910. type Ttimespec = struct {
  911. Ftv_sec Ttime_t
  912. Ftv_nsec int64
  913. }
  914. type Tsigset_t = struct {
  915. F__bits [16]uint64
  916. }
  917. type t__sigset_t = Tsigset_t
  918. type Tfd_mask = uint64
  919. type Tfd_set = struct {
  920. Ffds_bits [16]uint64
  921. }
  922. type Tva_list = uintptr
  923. type Tintptr_t = int64
  924. type Talloc_func = uintptr
  925. type Tfree_func = uintptr
  926. type Tz_stream = struct {
  927. Fnext_in uintptr
  928. Favail_in TuInt
  929. Ftotal_in TuLong
  930. Fnext_out uintptr
  931. Favail_out TuInt
  932. Ftotal_out TuLong
  933. Fmsg uintptr
  934. Fstate uintptr
  935. Fzalloc Talloc_func
  936. Fzfree Tfree_func
  937. Fopaque Tvoidpf
  938. Fdata_type int32
  939. Fadler TuLong
  940. Freserved TuLong
  941. }
  942. type Tz_stream_s = Tz_stream
  943. type Tz_streamp = uintptr
  944. type Tgz_header = struct {
  945. Ftext int32
  946. Ftime TuLong
  947. Fxflags int32
  948. Fos int32
  949. Fextra uintptr
  950. Fextra_len TuInt
  951. Fextra_max TuInt
  952. Fname uintptr
  953. Fname_max TuInt
  954. Fcomment uintptr
  955. Fcomm_max TuInt
  956. Fhcrc int32
  957. Fdone int32
  958. }
  959. type Tgz_header_s = Tgz_header
  960. type Tgz_headerp = uintptr
  961. type Tin_func = uintptr
  962. type Tout_func = uintptr
  963. type TgzFile = uintptr
  964. type TgzFile_s = struct {
  965. Fhave uint32
  966. Fnext uintptr
  967. Fpos Toff_t
  968. }
  969. type Tlocale_t = uintptr
  970. type Tdiv_t = struct {
  971. Fquot int32
  972. Frem int32
  973. }
  974. type Tldiv_t = struct {
  975. Fquot int64
  976. Frem int64
  977. }
  978. type Tlldiv_t = struct {
  979. Fquot int64
  980. Frem int64
  981. }
  982. type Tuch = uint8
  983. type Tuchf = uint8
  984. type Tush = uint16
  985. type Tushf = uint16
  986. type Tulg = uint64
  987. /* Reverse the bytes in a 32-bit value */
  988. /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
  989. /* use NO_DIVIDE if your processor does not do division in hardware --
  990. try it both ways to see which is faster */
  991. // C documentation
  992. //
  993. // /* ========================================================================= */
  994. func Xadler32_z(tls *libc.TLS, adler TuLong, buf uintptr, len1 Tz_size_t) (r TuLong) {
  995. var n, v3 uint32
  996. var sum2 uint64
  997. var v1, v5 Tz_size_t
  998. var v2, v6 uintptr
  999. _, _, _, _, _, _, _ = n, sum2, v1, v2, v3, v5, v6
  1000. /* split Adler-32 into component sums */
  1001. sum2 = adler >> libc.Int32FromInt32(16) & uint64(0xffff)
  1002. adler &= uint64(0xffff)
  1003. /* in case user likes doing a byte at a time, keep it fast */
  1004. if len1 == uint64(1) {
  1005. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1006. if adler >= uint64(65521) {
  1007. adler -= uint64(65521)
  1008. }
  1009. sum2 += adler
  1010. if sum2 >= uint64(65521) {
  1011. sum2 -= uint64(65521)
  1012. }
  1013. return adler | sum2<<int32(16)
  1014. }
  1015. /* initial Adler-32 value (deferred check for len == 1 speed) */
  1016. if buf == uintptr(m_Z_NULL) {
  1017. return uint64(1)
  1018. }
  1019. /* in case short lengths are provided, keep it somewhat fast */
  1020. if len1 < uint64(16) {
  1021. for {
  1022. v1 = len1
  1023. len1--
  1024. if !(v1 != 0) {
  1025. break
  1026. }
  1027. v2 = buf
  1028. buf++
  1029. adler += uint64(*(*TBytef)(unsafe.Pointer(v2)))
  1030. sum2 += adler
  1031. }
  1032. if adler >= uint64(65521) {
  1033. adler -= uint64(65521)
  1034. }
  1035. sum2 %= uint64(65521) /* only added so many BASE's */
  1036. return adler | sum2<<int32(16)
  1037. }
  1038. /* do length NMAX blocks -- requires just one modulo operation */
  1039. for len1 >= uint64(m_NMAX) {
  1040. len1 -= uint64(m_NMAX)
  1041. n = libc.Uint32FromInt32(libc.Int32FromInt32(m_NMAX) / libc.Int32FromInt32(16)) /* NMAX is divisible by 16 */
  1042. for {
  1043. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1044. sum2 += adler
  1045. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  1046. sum2 += adler
  1047. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  1048. sum2 += adler
  1049. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1050. sum2 += adler
  1051. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  1052. sum2 += adler
  1053. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1054. sum2 += adler
  1055. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1056. sum2 += adler
  1057. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1058. sum2 += adler
  1059. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  1060. sum2 += adler
  1061. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  1062. sum2 += adler
  1063. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  1064. sum2 += adler
  1065. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1066. sum2 += adler
  1067. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  1068. sum2 += adler
  1069. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1070. sum2 += adler
  1071. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1072. sum2 += adler
  1073. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1074. sum2 += adler /* 16 sums unrolled */
  1075. buf += uintptr(16)
  1076. goto _4
  1077. _4:
  1078. ;
  1079. n--
  1080. v3 = n
  1081. if !(v3 != 0) {
  1082. break
  1083. }
  1084. }
  1085. adler %= uint64(65521)
  1086. sum2 %= uint64(65521)
  1087. }
  1088. /* do remaining bytes (less than NMAX, still just one modulo) */
  1089. if len1 != 0 { /* avoid modulos if none remaining */
  1090. for len1 >= uint64(16) {
  1091. len1 -= uint64(16)
  1092. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1093. sum2 += adler
  1094. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  1095. sum2 += adler
  1096. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  1097. sum2 += adler
  1098. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1099. sum2 += adler
  1100. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  1101. sum2 += adler
  1102. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1103. sum2 += adler
  1104. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1105. sum2 += adler
  1106. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1107. sum2 += adler
  1108. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  1109. sum2 += adler
  1110. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  1111. sum2 += adler
  1112. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  1113. sum2 += adler
  1114. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1115. sum2 += adler
  1116. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  1117. sum2 += adler
  1118. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1119. sum2 += adler
  1120. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1121. sum2 += adler
  1122. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1123. sum2 += adler
  1124. buf += uintptr(16)
  1125. }
  1126. for {
  1127. v5 = len1
  1128. len1--
  1129. if !(v5 != 0) {
  1130. break
  1131. }
  1132. v6 = buf
  1133. buf++
  1134. adler += uint64(*(*TBytef)(unsafe.Pointer(v6)))
  1135. sum2 += adler
  1136. }
  1137. adler %= uint64(65521)
  1138. sum2 %= uint64(65521)
  1139. }
  1140. /* return recombined sums */
  1141. return adler | sum2<<int32(16)
  1142. }
  1143. // C documentation
  1144. //
  1145. // /* ========================================================================= */
  1146. func Xadler32(tls *libc.TLS, adler TuLong, buf uintptr, len1 TuInt) (r TuLong) {
  1147. return Xadler32_z(tls, adler, buf, uint64(len1))
  1148. }
  1149. // C documentation
  1150. //
  1151. // /* ========================================================================= */
  1152. func _adler32_combine_(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1153. var rem uint32
  1154. var sum1, sum2 uint64
  1155. _, _, _ = rem, sum1, sum2
  1156. /* for negative len, return invalid adler32 as a clue for debugging */
  1157. if len2 < 0 {
  1158. return uint64(0xffffffff)
  1159. }
  1160. /* the derivation of this formula is left as an exercise for the reader */
  1161. len2 %= libc.Int64FromUint32(65521) /* assumes len2 >= 0 */
  1162. rem = libc.Uint32FromInt64(len2)
  1163. sum1 = adler1 & uint64(0xffff)
  1164. sum2 = uint64(rem) * sum1
  1165. sum2 %= uint64(65521)
  1166. sum1 += adler2&uint64(0xffff) + uint64(65521) - uint64(1)
  1167. sum2 += adler1>>libc.Int32FromInt32(16)&uint64(0xffff) + adler2>>libc.Int32FromInt32(16)&uint64(0xffff) + uint64(65521) - uint64(rem)
  1168. if sum1 >= uint64(65521) {
  1169. sum1 -= uint64(65521)
  1170. }
  1171. if sum1 >= uint64(65521) {
  1172. sum1 -= uint64(65521)
  1173. }
  1174. if sum2 >= libc.Uint64FromUint32(65521)<<libc.Int32FromInt32(1) {
  1175. sum2 -= libc.Uint64FromUint32(65521) << libc.Int32FromInt32(1)
  1176. }
  1177. if sum2 >= uint64(65521) {
  1178. sum2 -= uint64(65521)
  1179. }
  1180. return sum1 | sum2<<int32(16)
  1181. }
  1182. // C documentation
  1183. //
  1184. // /* ========================================================================= */
  1185. func Xadler32_combine(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1186. return _adler32_combine_(tls, adler1, adler2, len2)
  1187. }
  1188. func Xadler32_combine64(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1189. return _adler32_combine_(tls, adler1, adler2, len2)
  1190. }
  1191. const m_N = 5
  1192. const m_POLY = 3988292384
  1193. const m_W = 8
  1194. /* Reverse the bytes in a 32-bit value */
  1195. /*
  1196. A CRC of a message is computed on N braids of words in the message, where
  1197. each word consists of W bytes (4 or 8). If N is 3, for example, then three
  1198. running sparse CRCs are calculated respectively on each braid, at these
  1199. indices in the array of words: 0, 3, 6, ..., 1, 4, 7, ..., and 2, 5, 8, ...
  1200. This is done starting at a word boundary, and continues until as many blocks
  1201. of N * W bytes as are available have been processed. The results are combined
  1202. into a single CRC at the end. For this code, N must be in the range 1..6 and
  1203. W must be 4 or 8. The upper limit on N can be increased if desired by adding
  1204. more #if blocks, extending the patterns apparent in the code. In addition,
  1205. crc32.h would need to be regenerated, if the maximum N value is increased.
  1206. N and W are chosen empirically by benchmarking the execution time on a given
  1207. processor. The choices for N and W below were based on testing on Intel Kaby
  1208. Lake i7, AMD Ryzen 7, ARM Cortex-A57, Sparc64-VII, PowerPC POWER9, and MIPS64
  1209. Octeon II processors. The Intel, AMD, and ARM processors were all fastest
  1210. with N=5, W=8. The Sparc, PowerPC, and MIPS64 were all fastest at N=5, W=4.
  1211. They were all tested with either gcc or clang, all using the -O3 optimization
  1212. level. Your mileage may vary.
  1213. */
  1214. /* Define N */
  1215. /*
  1216. z_crc_t must be at least 32 bits. z_word_t must be at least as long as
  1217. z_crc_t. It is assumed here that z_word_t is either 32 bits or 64 bits, and
  1218. that bytes are eight bits.
  1219. */
  1220. // C documentation
  1221. //
  1222. // /*
  1223. // Define W and the associated z_word_t type. If W is not defined, then a
  1224. // braided calculation is not used, and the associated tables and code are not
  1225. // compiled.
  1226. // */
  1227. type Tz_word_t = uint64
  1228. /* If available, use the ARM processor CRC32 instruction. */
  1229. // C documentation
  1230. //
  1231. // /*
  1232. // Swap the bytes in a z_word_t to convert between little and big endian. Any
  1233. // self-respecting compiler will optimize this to a single machine byte-swap
  1234. // instruction, if one is available. This assumes that word_t is either 32 bits
  1235. // or 64 bits.
  1236. // */
  1237. func _byte_swap(tls *libc.TLS, word Tz_word_t) (r Tz_word_t) {
  1238. return word&uint64(0xff00000000000000)>>int32(56) | word&uint64(0xff000000000000)>>int32(40) | word&uint64(0xff0000000000)>>int32(24) | word&uint64(0xff00000000)>>int32(8) | word&uint64(0xff000000)<<int32(8) | word&uint64(0xff0000)<<int32(24) | word&uint64(0xff00)<<int32(40) | word&uint64(0xff)<<int32(56)
  1239. }
  1240. var _crc_table = [256]Tz_crc_t{
  1241. 1: uint32(0x77073096),
  1242. 2: uint32(0xee0e612c),
  1243. 3: uint32(0x990951ba),
  1244. 4: uint32(0x076dc419),
  1245. 5: uint32(0x706af48f),
  1246. 6: uint32(0xe963a535),
  1247. 7: uint32(0x9e6495a3),
  1248. 8: uint32(0x0edb8832),
  1249. 9: uint32(0x79dcb8a4),
  1250. 10: uint32(0xe0d5e91e),
  1251. 11: uint32(0x97d2d988),
  1252. 12: uint32(0x09b64c2b),
  1253. 13: uint32(0x7eb17cbd),
  1254. 14: uint32(0xe7b82d07),
  1255. 15: uint32(0x90bf1d91),
  1256. 16: uint32(0x1db71064),
  1257. 17: uint32(0x6ab020f2),
  1258. 18: uint32(0xf3b97148),
  1259. 19: uint32(0x84be41de),
  1260. 20: uint32(0x1adad47d),
  1261. 21: uint32(0x6ddde4eb),
  1262. 22: uint32(0xf4d4b551),
  1263. 23: uint32(0x83d385c7),
  1264. 24: uint32(0x136c9856),
  1265. 25: uint32(0x646ba8c0),
  1266. 26: uint32(0xfd62f97a),
  1267. 27: uint32(0x8a65c9ec),
  1268. 28: uint32(0x14015c4f),
  1269. 29: uint32(0x63066cd9),
  1270. 30: uint32(0xfa0f3d63),
  1271. 31: uint32(0x8d080df5),
  1272. 32: uint32(0x3b6e20c8),
  1273. 33: uint32(0x4c69105e),
  1274. 34: uint32(0xd56041e4),
  1275. 35: uint32(0xa2677172),
  1276. 36: uint32(0x3c03e4d1),
  1277. 37: uint32(0x4b04d447),
  1278. 38: uint32(0xd20d85fd),
  1279. 39: uint32(0xa50ab56b),
  1280. 40: uint32(0x35b5a8fa),
  1281. 41: uint32(0x42b2986c),
  1282. 42: uint32(0xdbbbc9d6),
  1283. 43: uint32(0xacbcf940),
  1284. 44: uint32(0x32d86ce3),
  1285. 45: uint32(0x45df5c75),
  1286. 46: uint32(0xdcd60dcf),
  1287. 47: uint32(0xabd13d59),
  1288. 48: uint32(0x26d930ac),
  1289. 49: uint32(0x51de003a),
  1290. 50: uint32(0xc8d75180),
  1291. 51: uint32(0xbfd06116),
  1292. 52: uint32(0x21b4f4b5),
  1293. 53: uint32(0x56b3c423),
  1294. 54: uint32(0xcfba9599),
  1295. 55: uint32(0xb8bda50f),
  1296. 56: uint32(0x2802b89e),
  1297. 57: uint32(0x5f058808),
  1298. 58: uint32(0xc60cd9b2),
  1299. 59: uint32(0xb10be924),
  1300. 60: uint32(0x2f6f7c87),
  1301. 61: uint32(0x58684c11),
  1302. 62: uint32(0xc1611dab),
  1303. 63: uint32(0xb6662d3d),
  1304. 64: uint32(0x76dc4190),
  1305. 65: uint32(0x01db7106),
  1306. 66: uint32(0x98d220bc),
  1307. 67: uint32(0xefd5102a),
  1308. 68: uint32(0x71b18589),
  1309. 69: uint32(0x06b6b51f),
  1310. 70: uint32(0x9fbfe4a5),
  1311. 71: uint32(0xe8b8d433),
  1312. 72: uint32(0x7807c9a2),
  1313. 73: uint32(0x0f00f934),
  1314. 74: uint32(0x9609a88e),
  1315. 75: uint32(0xe10e9818),
  1316. 76: uint32(0x7f6a0dbb),
  1317. 77: uint32(0x086d3d2d),
  1318. 78: uint32(0x91646c97),
  1319. 79: uint32(0xe6635c01),
  1320. 80: uint32(0x6b6b51f4),
  1321. 81: uint32(0x1c6c6162),
  1322. 82: uint32(0x856530d8),
  1323. 83: uint32(0xf262004e),
  1324. 84: uint32(0x6c0695ed),
  1325. 85: uint32(0x1b01a57b),
  1326. 86: uint32(0x8208f4c1),
  1327. 87: uint32(0xf50fc457),
  1328. 88: uint32(0x65b0d9c6),
  1329. 89: uint32(0x12b7e950),
  1330. 90: uint32(0x8bbeb8ea),
  1331. 91: uint32(0xfcb9887c),
  1332. 92: uint32(0x62dd1ddf),
  1333. 93: uint32(0x15da2d49),
  1334. 94: uint32(0x8cd37cf3),
  1335. 95: uint32(0xfbd44c65),
  1336. 96: uint32(0x4db26158),
  1337. 97: uint32(0x3ab551ce),
  1338. 98: uint32(0xa3bc0074),
  1339. 99: uint32(0xd4bb30e2),
  1340. 100: uint32(0x4adfa541),
  1341. 101: uint32(0x3dd895d7),
  1342. 102: uint32(0xa4d1c46d),
  1343. 103: uint32(0xd3d6f4fb),
  1344. 104: uint32(0x4369e96a),
  1345. 105: uint32(0x346ed9fc),
  1346. 106: uint32(0xad678846),
  1347. 107: uint32(0xda60b8d0),
  1348. 108: uint32(0x44042d73),
  1349. 109: uint32(0x33031de5),
  1350. 110: uint32(0xaa0a4c5f),
  1351. 111: uint32(0xdd0d7cc9),
  1352. 112: uint32(0x5005713c),
  1353. 113: uint32(0x270241aa),
  1354. 114: uint32(0xbe0b1010),
  1355. 115: uint32(0xc90c2086),
  1356. 116: uint32(0x5768b525),
  1357. 117: uint32(0x206f85b3),
  1358. 118: uint32(0xb966d409),
  1359. 119: uint32(0xce61e49f),
  1360. 120: uint32(0x5edef90e),
  1361. 121: uint32(0x29d9c998),
  1362. 122: uint32(0xb0d09822),
  1363. 123: uint32(0xc7d7a8b4),
  1364. 124: uint32(0x59b33d17),
  1365. 125: uint32(0x2eb40d81),
  1366. 126: uint32(0xb7bd5c3b),
  1367. 127: uint32(0xc0ba6cad),
  1368. 128: uint32(0xedb88320),
  1369. 129: uint32(0x9abfb3b6),
  1370. 130: uint32(0x03b6e20c),
  1371. 131: uint32(0x74b1d29a),
  1372. 132: uint32(0xead54739),
  1373. 133: uint32(0x9dd277af),
  1374. 134: uint32(0x04db2615),
  1375. 135: uint32(0x73dc1683),
  1376. 136: uint32(0xe3630b12),
  1377. 137: uint32(0x94643b84),
  1378. 138: uint32(0x0d6d6a3e),
  1379. 139: uint32(0x7a6a5aa8),
  1380. 140: uint32(0xe40ecf0b),
  1381. 141: uint32(0x9309ff9d),
  1382. 142: uint32(0x0a00ae27),
  1383. 143: uint32(0x7d079eb1),
  1384. 144: uint32(0xf00f9344),
  1385. 145: uint32(0x8708a3d2),
  1386. 146: uint32(0x1e01f268),
  1387. 147: uint32(0x6906c2fe),
  1388. 148: uint32(0xf762575d),
  1389. 149: uint32(0x806567cb),
  1390. 150: uint32(0x196c3671),
  1391. 151: uint32(0x6e6b06e7),
  1392. 152: uint32(0xfed41b76),
  1393. 153: uint32(0x89d32be0),
  1394. 154: uint32(0x10da7a5a),
  1395. 155: uint32(0x67dd4acc),
  1396. 156: uint32(0xf9b9df6f),
  1397. 157: uint32(0x8ebeeff9),
  1398. 158: uint32(0x17b7be43),
  1399. 159: uint32(0x60b08ed5),
  1400. 160: uint32(0xd6d6a3e8),
  1401. 161: uint32(0xa1d1937e),
  1402. 162: uint32(0x38d8c2c4),
  1403. 163: uint32(0x4fdff252),
  1404. 164: uint32(0xd1bb67f1),
  1405. 165: uint32(0xa6bc5767),
  1406. 166: uint32(0x3fb506dd),
  1407. 167: uint32(0x48b2364b),
  1408. 168: uint32(0xd80d2bda),
  1409. 169: uint32(0xaf0a1b4c),
  1410. 170: uint32(0x36034af6),
  1411. 171: uint32(0x41047a60),
  1412. 172: uint32(0xdf60efc3),
  1413. 173: uint32(0xa867df55),
  1414. 174: uint32(0x316e8eef),
  1415. 175: uint32(0x4669be79),
  1416. 176: uint32(0xcb61b38c),
  1417. 177: uint32(0xbc66831a),
  1418. 178: uint32(0x256fd2a0),
  1419. 179: uint32(0x5268e236),
  1420. 180: uint32(0xcc0c7795),
  1421. 181: uint32(0xbb0b4703),
  1422. 182: uint32(0x220216b9),
  1423. 183: uint32(0x5505262f),
  1424. 184: uint32(0xc5ba3bbe),
  1425. 185: uint32(0xb2bd0b28),
  1426. 186: uint32(0x2bb45a92),
  1427. 187: uint32(0x5cb36a04),
  1428. 188: uint32(0xc2d7ffa7),
  1429. 189: uint32(0xb5d0cf31),
  1430. 190: uint32(0x2cd99e8b),
  1431. 191: uint32(0x5bdeae1d),
  1432. 192: uint32(0x9b64c2b0),
  1433. 193: uint32(0xec63f226),
  1434. 194: uint32(0x756aa39c),
  1435. 195: uint32(0x026d930a),
  1436. 196: uint32(0x9c0906a9),
  1437. 197: uint32(0xeb0e363f),
  1438. 198: uint32(0x72076785),
  1439. 199: uint32(0x05005713),
  1440. 200: uint32(0x95bf4a82),
  1441. 201: uint32(0xe2b87a14),
  1442. 202: uint32(0x7bb12bae),
  1443. 203: uint32(0x0cb61b38),
  1444. 204: uint32(0x92d28e9b),
  1445. 205: uint32(0xe5d5be0d),
  1446. 206: uint32(0x7cdcefb7),
  1447. 207: uint32(0x0bdbdf21),
  1448. 208: uint32(0x86d3d2d4),
  1449. 209: uint32(0xf1d4e242),
  1450. 210: uint32(0x68ddb3f8),
  1451. 211: uint32(0x1fda836e),
  1452. 212: uint32(0x81be16cd),
  1453. 213: uint32(0xf6b9265b),
  1454. 214: uint32(0x6fb077e1),
  1455. 215: uint32(0x18b74777),
  1456. 216: uint32(0x88085ae6),
  1457. 217: uint32(0xff0f6a70),
  1458. 218: uint32(0x66063bca),
  1459. 219: uint32(0x11010b5c),
  1460. 220: uint32(0x8f659eff),
  1461. 221: uint32(0xf862ae69),
  1462. 222: uint32(0x616bffd3),
  1463. 223: uint32(0x166ccf45),
  1464. 224: uint32(0xa00ae278),
  1465. 225: uint32(0xd70dd2ee),
  1466. 226: uint32(0x4e048354),
  1467. 227: uint32(0x3903b3c2),
  1468. 228: uint32(0xa7672661),
  1469. 229: uint32(0xd06016f7),
  1470. 230: uint32(0x4969474d),
  1471. 231: uint32(0x3e6e77db),
  1472. 232: uint32(0xaed16a4a),
  1473. 233: uint32(0xd9d65adc),
  1474. 234: uint32(0x40df0b66),
  1475. 235: uint32(0x37d83bf0),
  1476. 236: uint32(0xa9bcae53),
  1477. 237: uint32(0xdebb9ec5),
  1478. 238: uint32(0x47b2cf7f),
  1479. 239: uint32(0x30b5ffe9),
  1480. 240: uint32(0xbdbdf21c),
  1481. 241: uint32(0xcabac28a),
  1482. 242: uint32(0x53b39330),
  1483. 243: uint32(0x24b4a3a6),
  1484. 244: uint32(0xbad03605),
  1485. 245: uint32(0xcdd70693),
  1486. 246: uint32(0x54de5729),
  1487. 247: uint32(0x23d967bf),
  1488. 248: uint32(0xb3667a2e),
  1489. 249: uint32(0xc4614ab8),
  1490. 250: uint32(0x5d681b02),
  1491. 251: uint32(0x2a6f2b94),
  1492. 252: uint32(0xb40bbe37),
  1493. 253: uint32(0xc30c8ea1),
  1494. 254: uint32(0x5a05df1b),
  1495. 255: uint32(0x2d02ef8d),
  1496. }
  1497. var _crc_big_table = [256]Tz_word_t{
  1498. 1: uint64(0x9630077700000000),
  1499. 2: uint64(0x2c610eee00000000),
  1500. 3: uint64(0xba51099900000000),
  1501. 4: uint64(0x19c46d0700000000),
  1502. 5: uint64(0x8ff46a7000000000),
  1503. 6: uint64(0x35a563e900000000),
  1504. 7: uint64(0xa395649e00000000),
  1505. 8: uint64(0x3288db0e00000000),
  1506. 9: uint64(0xa4b8dc7900000000),
  1507. 10: uint64(0x1ee9d5e000000000),
  1508. 11: uint64(0x88d9d29700000000),
  1509. 12: uint64(0x2b4cb60900000000),
  1510. 13: uint64(0xbd7cb17e00000000),
  1511. 14: uint64(0x072db8e700000000),
  1512. 15: uint64(0x911dbf9000000000),
  1513. 16: uint64(0x6410b71d00000000),
  1514. 17: uint64(0xf220b06a00000000),
  1515. 18: uint64(0x4871b9f300000000),
  1516. 19: uint64(0xde41be8400000000),
  1517. 20: uint64(0x7dd4da1a00000000),
  1518. 21: uint64(0xebe4dd6d00000000),
  1519. 22: uint64(0x51b5d4f400000000),
  1520. 23: uint64(0xc785d38300000000),
  1521. 24: uint64(0x56986c1300000000),
  1522. 25: uint64(0xc0a86b6400000000),
  1523. 26: uint64(0x7af962fd00000000),
  1524. 27: uint64(0xecc9658a00000000),
  1525. 28: uint64(0x4f5c011400000000),
  1526. 29: uint64(0xd96c066300000000),
  1527. 30: uint64(0x633d0ffa00000000),
  1528. 31: uint64(0xf50d088d00000000),
  1529. 32: uint64(0xc8206e3b00000000),
  1530. 33: uint64(0x5e10694c00000000),
  1531. 34: uint64(0xe44160d500000000),
  1532. 35: uint64(0x727167a200000000),
  1533. 36: uint64(0xd1e4033c00000000),
  1534. 37: uint64(0x47d4044b00000000),
  1535. 38: uint64(0xfd850dd200000000),
  1536. 39: uint64(0x6bb50aa500000000),
  1537. 40: uint64(0xfaa8b53500000000),
  1538. 41: uint64(0x6c98b24200000000),
  1539. 42: uint64(0xd6c9bbdb00000000),
  1540. 43: uint64(0x40f9bcac00000000),
  1541. 44: uint64(0xe36cd83200000000),
  1542. 45: uint64(0x755cdf4500000000),
  1543. 46: uint64(0xcf0dd6dc00000000),
  1544. 47: uint64(0x593dd1ab00000000),
  1545. 48: uint64(0xac30d92600000000),
  1546. 49: uint64(0x3a00de5100000000),
  1547. 50: uint64(0x8051d7c800000000),
  1548. 51: uint64(0x1661d0bf00000000),
  1549. 52: uint64(0xb5f4b42100000000),
  1550. 53: uint64(0x23c4b35600000000),
  1551. 54: uint64(0x9995bacf00000000),
  1552. 55: uint64(0x0fa5bdb800000000),
  1553. 56: uint64(0x9eb8022800000000),
  1554. 57: uint64(0x0888055f00000000),
  1555. 58: uint64(0xb2d90cc600000000),
  1556. 59: uint64(0x24e90bb100000000),
  1557. 60: uint64(0x877c6f2f00000000),
  1558. 61: uint64(0x114c685800000000),
  1559. 62: uint64(0xab1d61c100000000),
  1560. 63: uint64(0x3d2d66b600000000),
  1561. 64: uint64(0x9041dc7600000000),
  1562. 65: uint64(0x0671db0100000000),
  1563. 66: uint64(0xbc20d29800000000),
  1564. 67: uint64(0x2a10d5ef00000000),
  1565. 68: uint64(0x8985b17100000000),
  1566. 69: uint64(0x1fb5b60600000000),
  1567. 70: uint64(0xa5e4bf9f00000000),
  1568. 71: uint64(0x33d4b8e800000000),
  1569. 72: uint64(0xa2c9077800000000),
  1570. 73: uint64(0x34f9000f00000000),
  1571. 74: uint64(0x8ea8099600000000),
  1572. 75: uint64(0x18980ee100000000),
  1573. 76: uint64(0xbb0d6a7f00000000),
  1574. 77: uint64(0x2d3d6d0800000000),
  1575. 78: uint64(0x976c649100000000),
  1576. 79: uint64(0x015c63e600000000),
  1577. 80: uint64(0xf4516b6b00000000),
  1578. 81: uint64(0x62616c1c00000000),
  1579. 82: uint64(0xd830658500000000),
  1580. 83: uint64(0x4e0062f200000000),
  1581. 84: uint64(0xed95066c00000000),
  1582. 85: uint64(0x7ba5011b00000000),
  1583. 86: uint64(0xc1f4088200000000),
  1584. 87: uint64(0x57c40ff500000000),
  1585. 88: uint64(0xc6d9b06500000000),
  1586. 89: uint64(0x50e9b71200000000),
  1587. 90: uint64(0xeab8be8b00000000),
  1588. 91: uint64(0x7c88b9fc00000000),
  1589. 92: uint64(0xdf1ddd6200000000),
  1590. 93: uint64(0x492dda1500000000),
  1591. 94: uint64(0xf37cd38c00000000),
  1592. 95: uint64(0x654cd4fb00000000),
  1593. 96: uint64(0x5861b24d00000000),
  1594. 97: uint64(0xce51b53a00000000),
  1595. 98: uint64(0x7400bca300000000),
  1596. 99: uint64(0xe230bbd400000000),
  1597. 100: uint64(0x41a5df4a00000000),
  1598. 101: uint64(0xd795d83d00000000),
  1599. 102: uint64(0x6dc4d1a400000000),
  1600. 103: uint64(0xfbf4d6d300000000),
  1601. 104: uint64(0x6ae9694300000000),
  1602. 105: uint64(0xfcd96e3400000000),
  1603. 106: uint64(0x468867ad00000000),
  1604. 107: uint64(0xd0b860da00000000),
  1605. 108: uint64(0x732d044400000000),
  1606. 109: uint64(0xe51d033300000000),
  1607. 110: uint64(0x5f4c0aaa00000000),
  1608. 111: uint64(0xc97c0ddd00000000),
  1609. 112: uint64(0x3c71055000000000),
  1610. 113: uint64(0xaa41022700000000),
  1611. 114: uint64(0x10100bbe00000000),
  1612. 115: uint64(0x86200cc900000000),
  1613. 116: uint64(0x25b5685700000000),
  1614. 117: uint64(0xb3856f2000000000),
  1615. 118: uint64(0x09d466b900000000),
  1616. 119: uint64(0x9fe461ce00000000),
  1617. 120: uint64(0x0ef9de5e00000000),
  1618. 121: uint64(0x98c9d92900000000),
  1619. 122: uint64(0x2298d0b000000000),
  1620. 123: uint64(0xb4a8d7c700000000),
  1621. 124: uint64(0x173db35900000000),
  1622. 125: uint64(0x810db42e00000000),
  1623. 126: uint64(0x3b5cbdb700000000),
  1624. 127: uint64(0xad6cbac000000000),
  1625. 128: uint64(0x2083b8ed00000000),
  1626. 129: uint64(0xb6b3bf9a00000000),
  1627. 130: uint64(0x0ce2b60300000000),
  1628. 131: uint64(0x9ad2b17400000000),
  1629. 132: uint64(0x3947d5ea00000000),
  1630. 133: uint64(0xaf77d29d00000000),
  1631. 134: uint64(0x1526db0400000000),
  1632. 135: uint64(0x8316dc7300000000),
  1633. 136: uint64(0x120b63e300000000),
  1634. 137: uint64(0x843b649400000000),
  1635. 138: uint64(0x3e6a6d0d00000000),
  1636. 139: uint64(0xa85a6a7a00000000),
  1637. 140: uint64(0x0bcf0ee400000000),
  1638. 141: uint64(0x9dff099300000000),
  1639. 142: uint64(0x27ae000a00000000),
  1640. 143: uint64(0xb19e077d00000000),
  1641. 144: uint64(0x44930ff000000000),
  1642. 145: uint64(0xd2a3088700000000),
  1643. 146: uint64(0x68f2011e00000000),
  1644. 147: uint64(0xfec2066900000000),
  1645. 148: uint64(0x5d5762f700000000),
  1646. 149: uint64(0xcb67658000000000),
  1647. 150: uint64(0x71366c1900000000),
  1648. 151: uint64(0xe7066b6e00000000),
  1649. 152: uint64(0x761bd4fe00000000),
  1650. 153: uint64(0xe02bd38900000000),
  1651. 154: uint64(0x5a7ada1000000000),
  1652. 155: uint64(0xcc4add6700000000),
  1653. 156: uint64(0x6fdfb9f900000000),
  1654. 157: uint64(0xf9efbe8e00000000),
  1655. 158: uint64(0x43beb71700000000),
  1656. 159: uint64(0xd58eb06000000000),
  1657. 160: uint64(0xe8a3d6d600000000),
  1658. 161: uint64(0x7e93d1a100000000),
  1659. 162: uint64(0xc4c2d83800000000),
  1660. 163: uint64(0x52f2df4f00000000),
  1661. 164: uint64(0xf167bbd100000000),
  1662. 165: uint64(0x6757bca600000000),
  1663. 166: uint64(0xdd06b53f00000000),
  1664. 167: uint64(0x4b36b24800000000),
  1665. 168: uint64(0xda2b0dd800000000),
  1666. 169: uint64(0x4c1b0aaf00000000),
  1667. 170: uint64(0xf64a033600000000),
  1668. 171: uint64(0x607a044100000000),
  1669. 172: uint64(0xc3ef60df00000000),
  1670. 173: uint64(0x55df67a800000000),
  1671. 174: uint64(0xef8e6e3100000000),
  1672. 175: uint64(0x79be694600000000),
  1673. 176: uint64(0x8cb361cb00000000),
  1674. 177: uint64(0x1a8366bc00000000),
  1675. 178: uint64(0xa0d26f2500000000),
  1676. 179: uint64(0x36e2685200000000),
  1677. 180: uint64(0x95770ccc00000000),
  1678. 181: uint64(0x03470bbb00000000),
  1679. 182: uint64(0xb916022200000000),
  1680. 183: uint64(0x2f26055500000000),
  1681. 184: uint64(0xbe3bbac500000000),
  1682. 185: uint64(0x280bbdb200000000),
  1683. 186: uint64(0x925ab42b00000000),
  1684. 187: uint64(0x046ab35c00000000),
  1685. 188: uint64(0xa7ffd7c200000000),
  1686. 189: uint64(0x31cfd0b500000000),
  1687. 190: uint64(0x8b9ed92c00000000),
  1688. 191: uint64(0x1daede5b00000000),
  1689. 192: uint64(0xb0c2649b00000000),
  1690. 193: uint64(0x26f263ec00000000),
  1691. 194: uint64(0x9ca36a7500000000),
  1692. 195: uint64(0x0a936d0200000000),
  1693. 196: uint64(0xa906099c00000000),
  1694. 197: uint64(0x3f360eeb00000000),
  1695. 198: uint64(0x8567077200000000),
  1696. 199: uint64(0x1357000500000000),
  1697. 200: uint64(0x824abf9500000000),
  1698. 201: uint64(0x147ab8e200000000),
  1699. 202: uint64(0xae2bb17b00000000),
  1700. 203: uint64(0x381bb60c00000000),
  1701. 204: uint64(0x9b8ed29200000000),
  1702. 205: uint64(0x0dbed5e500000000),
  1703. 206: uint64(0xb7efdc7c00000000),
  1704. 207: uint64(0x21dfdb0b00000000),
  1705. 208: uint64(0xd4d2d38600000000),
  1706. 209: uint64(0x42e2d4f100000000),
  1707. 210: uint64(0xf8b3dd6800000000),
  1708. 211: uint64(0x6e83da1f00000000),
  1709. 212: uint64(0xcd16be8100000000),
  1710. 213: uint64(0x5b26b9f600000000),
  1711. 214: uint64(0xe177b06f00000000),
  1712. 215: uint64(0x7747b71800000000),
  1713. 216: uint64(0xe65a088800000000),
  1714. 217: uint64(0x706a0fff00000000),
  1715. 218: uint64(0xca3b066600000000),
  1716. 219: uint64(0x5c0b011100000000),
  1717. 220: uint64(0xff9e658f00000000),
  1718. 221: uint64(0x69ae62f800000000),
  1719. 222: uint64(0xd3ff6b6100000000),
  1720. 223: uint64(0x45cf6c1600000000),
  1721. 224: uint64(0x78e20aa000000000),
  1722. 225: uint64(0xeed20dd700000000),
  1723. 226: uint64(0x5483044e00000000),
  1724. 227: uint64(0xc2b3033900000000),
  1725. 228: uint64(0x612667a700000000),
  1726. 229: uint64(0xf71660d000000000),
  1727. 230: uint64(0x4d47694900000000),
  1728. 231: uint64(0xdb776e3e00000000),
  1729. 232: uint64(0x4a6ad1ae00000000),
  1730. 233: uint64(0xdc5ad6d900000000),
  1731. 234: uint64(0x660bdf4000000000),
  1732. 235: uint64(0xf03bd83700000000),
  1733. 236: uint64(0x53aebca900000000),
  1734. 237: uint64(0xc59ebbde00000000),
  1735. 238: uint64(0x7fcfb24700000000),
  1736. 239: uint64(0xe9ffb53000000000),
  1737. 240: uint64(0x1cf2bdbd00000000),
  1738. 241: uint64(0x8ac2baca00000000),
  1739. 242: uint64(0x3093b35300000000),
  1740. 243: uint64(0xa6a3b42400000000),
  1741. 244: uint64(0x0536d0ba00000000),
  1742. 245: uint64(0x9306d7cd00000000),
  1743. 246: uint64(0x2957de5400000000),
  1744. 247: uint64(0xbf67d92300000000),
  1745. 248: uint64(0x2e7a66b300000000),
  1746. 249: uint64(0xb84a61c400000000),
  1747. 250: uint64(0x021b685d00000000),
  1748. 251: uint64(0x942b6f2a00000000),
  1749. 252: uint64(0x37be0bb400000000),
  1750. 253: uint64(0xa18e0cc300000000),
  1751. 254: uint64(0x1bdf055a00000000),
  1752. 255: uint64(0x8def022d00000000),
  1753. }
  1754. var _crc_braid_table = [8][256]Tz_crc_t{
  1755. 0: {
  1756. 1: uint32(0xaf449247),
  1757. 2: uint32(0x85f822cf),
  1758. 3: uint32(0x2abcb088),
  1759. 4: uint32(0xd08143df),
  1760. 5: uint32(0x7fc5d198),
  1761. 6: uint32(0x55796110),
  1762. 7: uint32(0xfa3df357),
  1763. 8: uint32(0x7a7381ff),
  1764. 9: uint32(0xd53713b8),
  1765. 10: uint32(0xff8ba330),
  1766. 11: uint32(0x50cf3177),
  1767. 12: uint32(0xaaf2c220),
  1768. 13: uint32(0x05b65067),
  1769. 14: uint32(0x2f0ae0ef),
  1770. 15: uint32(0x804e72a8),
  1771. 16: uint32(0xf4e703fe),
  1772. 17: uint32(0x5ba391b9),
  1773. 18: uint32(0x711f2131),
  1774. 19: uint32(0xde5bb376),
  1775. 20: uint32(0x24664021),
  1776. 21: uint32(0x8b22d266),
  1777. 22: uint32(0xa19e62ee),
  1778. 23: uint32(0x0edaf0a9),
  1779. 24: uint32(0x8e948201),
  1780. 25: uint32(0x21d01046),
  1781. 26: uint32(0x0b6ca0ce),
  1782. 27: uint32(0xa4283289),
  1783. 28: uint32(0x5e15c1de),
  1784. 29: uint32(0xf1515399),
  1785. 30: uint32(0xdbede311),
  1786. 31: uint32(0x74a97156),
  1787. 32: uint32(0x32bf01bd),
  1788. 33: uint32(0x9dfb93fa),
  1789. 34: uint32(0xb7472372),
  1790. 35: uint32(0x1803b135),
  1791. 36: uint32(0xe23e4262),
  1792. 37: uint32(0x4d7ad025),
  1793. 38: uint32(0x67c660ad),
  1794. 39: uint32(0xc882f2ea),
  1795. 40: uint32(0x48cc8042),
  1796. 41: uint32(0xe7881205),
  1797. 42: uint32(0xcd34a28d),
  1798. 43: uint32(0x627030ca),
  1799. 44: uint32(0x984dc39d),
  1800. 45: uint32(0x370951da),
  1801. 46: uint32(0x1db5e152),
  1802. 47: uint32(0xb2f17315),
  1803. 48: uint32(0xc6580243),
  1804. 49: uint32(0x691c9004),
  1805. 50: uint32(0x43a0208c),
  1806. 51: uint32(0xece4b2cb),
  1807. 52: uint32(0x16d9419c),
  1808. 53: uint32(0xb99dd3db),
  1809. 54: uint32(0x93216353),
  1810. 55: uint32(0x3c65f114),
  1811. 56: uint32(0xbc2b83bc),
  1812. 57: uint32(0x136f11fb),
  1813. 58: uint32(0x39d3a173),
  1814. 59: uint32(0x96973334),
  1815. 60: uint32(0x6caac063),
  1816. 61: uint32(0xc3ee5224),
  1817. 62: uint32(0xe952e2ac),
  1818. 63: uint32(0x461670eb),
  1819. 64: uint32(0x657e037a),
  1820. 65: uint32(0xca3a913d),
  1821. 66: uint32(0xe08621b5),
  1822. 67: uint32(0x4fc2b3f2),
  1823. 68: uint32(0xb5ff40a5),
  1824. 69: uint32(0x1abbd2e2),
  1825. 70: uint32(0x3007626a),
  1826. 71: uint32(0x9f43f02d),
  1827. 72: uint32(0x1f0d8285),
  1828. 73: uint32(0xb04910c2),
  1829. 74: uint32(0x9af5a04a),
  1830. 75: uint32(0x35b1320d),
  1831. 76: uint32(0xcf8cc15a),
  1832. 77: uint32(0x60c8531d),
  1833. 78: uint32(0x4a74e395),
  1834. 79: uint32(0xe53071d2),
  1835. 80: uint32(0x91990084),
  1836. 81: uint32(0x3edd92c3),
  1837. 82: uint32(0x1461224b),
  1838. 83: uint32(0xbb25b00c),
  1839. 84: uint32(0x4118435b),
  1840. 85: uint32(0xee5cd11c),
  1841. 86: uint32(0xc4e06194),
  1842. 87: uint32(0x6ba4f3d3),
  1843. 88: uint32(0xebea817b),
  1844. 89: uint32(0x44ae133c),
  1845. 90: uint32(0x6e12a3b4),
  1846. 91: uint32(0xc15631f3),
  1847. 92: uint32(0x3b6bc2a4),
  1848. 93: uint32(0x942f50e3),
  1849. 94: uint32(0xbe93e06b),
  1850. 95: uint32(0x11d7722c),
  1851. 96: uint32(0x57c102c7),
  1852. 97: uint32(0xf8859080),
  1853. 98: uint32(0xd2392008),
  1854. 99: uint32(0x7d7db24f),
  1855. 100: uint32(0x87404118),
  1856. 101: uint32(0x2804d35f),
  1857. 102: uint32(0x02b863d7),
  1858. 103: uint32(0xadfcf190),
  1859. 104: uint32(0x2db28338),
  1860. 105: uint32(0x82f6117f),
  1861. 106: uint32(0xa84aa1f7),
  1862. 107: uint32(0x070e33b0),
  1863. 108: uint32(0xfd33c0e7),
  1864. 109: uint32(0x527752a0),
  1865. 110: uint32(0x78cbe228),
  1866. 111: uint32(0xd78f706f),
  1867. 112: uint32(0xa3260139),
  1868. 113: uint32(0x0c62937e),
  1869. 114: uint32(0x26de23f6),
  1870. 115: uint32(0x899ab1b1),
  1871. 116: uint32(0x73a742e6),
  1872. 117: uint32(0xdce3d0a1),
  1873. 118: uint32(0xf65f6029),
  1874. 119: uint32(0x591bf26e),
  1875. 120: uint32(0xd95580c6),
  1876. 121: uint32(0x76111281),
  1877. 122: uint32(0x5cada209),
  1878. 123: uint32(0xf3e9304e),
  1879. 124: uint32(0x09d4c319),
  1880. 125: uint32(0xa690515e),
  1881. 126: uint32(0x8c2ce1d6),
  1882. 127: uint32(0x23687391),
  1883. 128: uint32(0xcafc06f4),
  1884. 129: uint32(0x65b894b3),
  1885. 130: uint32(0x4f04243b),
  1886. 131: uint32(0xe040b67c),
  1887. 132: uint32(0x1a7d452b),
  1888. 133: uint32(0xb539d76c),
  1889. 134: uint32(0x9f8567e4),
  1890. 135: uint32(0x30c1f5a3),
  1891. 136: uint32(0xb08f870b),
  1892. 137: uint32(0x1fcb154c),
  1893. 138: uint32(0x3577a5c4),
  1894. 139: uint32(0x9a333783),
  1895. 140: uint32(0x600ec4d4),
  1896. 141: uint32(0xcf4a5693),
  1897. 142: uint32(0xe5f6e61b),
  1898. 143: uint32(0x4ab2745c),
  1899. 144: uint32(0x3e1b050a),
  1900. 145: uint32(0x915f974d),
  1901. 146: uint32(0xbbe327c5),
  1902. 147: uint32(0x14a7b582),
  1903. 148: uint32(0xee9a46d5),
  1904. 149: uint32(0x41ded492),
  1905. 150: uint32(0x6b62641a),
  1906. 151: uint32(0xc426f65d),
  1907. 152: uint32(0x446884f5),
  1908. 153: uint32(0xeb2c16b2),
  1909. 154: uint32(0xc190a63a),
  1910. 155: uint32(0x6ed4347d),
  1911. 156: uint32(0x94e9c72a),
  1912. 157: uint32(0x3bad556d),
  1913. 158: uint32(0x1111e5e5),
  1914. 159: uint32(0xbe5577a2),
  1915. 160: uint32(0xf8430749),
  1916. 161: uint32(0x5707950e),
  1917. 162: uint32(0x7dbb2586),
  1918. 163: uint32(0xd2ffb7c1),
  1919. 164: uint32(0x28c24496),
  1920. 165: uint32(0x8786d6d1),
  1921. 166: uint32(0xad3a6659),
  1922. 167: uint32(0x027ef41e),
  1923. 168: uint32(0x823086b6),
  1924. 169: uint32(0x2d7414f1),
  1925. 170: uint32(0x07c8a479),
  1926. 171: uint32(0xa88c363e),
  1927. 172: uint32(0x52b1c569),
  1928. 173: uint32(0xfdf5572e),
  1929. 174: uint32(0xd749e7a6),
  1930. 175: uint32(0x780d75e1),
  1931. 176: uint32(0x0ca404b7),
  1932. 177: uint32(0xa3e096f0),
  1933. 178: uint32(0x895c2678),
  1934. 179: uint32(0x2618b43f),
  1935. 180: uint32(0xdc254768),
  1936. 181: uint32(0x7361d52f),
  1937. 182: uint32(0x59dd65a7),
  1938. 183: uint32(0xf699f7e0),
  1939. 184: uint32(0x76d78548),
  1940. 185: uint32(0xd993170f),
  1941. 186: uint32(0xf32fa787),
  1942. 187: uint32(0x5c6b35c0),
  1943. 188: uint32(0xa656c697),
  1944. 189: uint32(0x091254d0),
  1945. 190: uint32(0x23aee458),
  1946. 191: uint32(0x8cea761f),
  1947. 192: uint32(0xaf82058e),
  1948. 193: uint32(0x00c697c9),
  1949. 194: uint32(0x2a7a2741),
  1950. 195: uint32(0x853eb506),
  1951. 196: uint32(0x7f034651),
  1952. 197: uint32(0xd047d416),
  1953. 198: uint32(0xfafb649e),
  1954. 199: uint32(0x55bff6d9),
  1955. 200: uint32(0xd5f18471),
  1956. 201: uint32(0x7ab51636),
  1957. 202: uint32(0x5009a6be),
  1958. 203: uint32(0xff4d34f9),
  1959. 204: uint32(0x0570c7ae),
  1960. 205: uint32(0xaa3455e9),
  1961. 206: uint32(0x8088e561),
  1962. 207: uint32(0x2fcc7726),
  1963. 208: uint32(0x5b650670),
  1964. 209: uint32(0xf4219437),
  1965. 210: uint32(0xde9d24bf),
  1966. 211: uint32(0x71d9b6f8),
  1967. 212: uint32(0x8be445af),
  1968. 213: uint32(0x24a0d7e8),
  1969. 214: uint32(0x0e1c6760),
  1970. 215: uint32(0xa158f527),
  1971. 216: uint32(0x2116878f),
  1972. 217: uint32(0x8e5215c8),
  1973. 218: uint32(0xa4eea540),
  1974. 219: uint32(0x0baa3707),
  1975. 220: uint32(0xf197c450),
  1976. 221: uint32(0x5ed35617),
  1977. 222: uint32(0x746fe69f),
  1978. 223: uint32(0xdb2b74d8),
  1979. 224: uint32(0x9d3d0433),
  1980. 225: uint32(0x32799674),
  1981. 226: uint32(0x18c526fc),
  1982. 227: uint32(0xb781b4bb),
  1983. 228: uint32(0x4dbc47ec),
  1984. 229: uint32(0xe2f8d5ab),
  1985. 230: uint32(0xc8446523),
  1986. 231: uint32(0x6700f764),
  1987. 232: uint32(0xe74e85cc),
  1988. 233: uint32(0x480a178b),
  1989. 234: uint32(0x62b6a703),
  1990. 235: uint32(0xcdf23544),
  1991. 236: uint32(0x37cfc613),
  1992. 237: uint32(0x988b5454),
  1993. 238: uint32(0xb237e4dc),
  1994. 239: uint32(0x1d73769b),
  1995. 240: uint32(0x69da07cd),
  1996. 241: uint32(0xc69e958a),
  1997. 242: uint32(0xec222502),
  1998. 243: uint32(0x4366b745),
  1999. 244: uint32(0xb95b4412),
  2000. 245: uint32(0x161fd655),
  2001. 246: uint32(0x3ca366dd),
  2002. 247: uint32(0x93e7f49a),
  2003. 248: uint32(0x13a98632),
  2004. 249: uint32(0xbced1475),
  2005. 250: uint32(0x9651a4fd),
  2006. 251: uint32(0x391536ba),
  2007. 252: uint32(0xc328c5ed),
  2008. 253: uint32(0x6c6c57aa),
  2009. 254: uint32(0x46d0e722),
  2010. 255: uint32(0xe9947565),
  2011. },
  2012. 1: {
  2013. 1: uint32(0x4e890ba9),
  2014. 2: uint32(0x9d121752),
  2015. 3: uint32(0xd39b1cfb),
  2016. 4: uint32(0xe15528e5),
  2017. 5: uint32(0xafdc234c),
  2018. 6: uint32(0x7c473fb7),
  2019. 7: uint32(0x32ce341e),
  2020. 8: uint32(0x19db578b),
  2021. 9: uint32(0x57525c22),
  2022. 10: uint32(0x84c940d9),
  2023. 11: uint32(0xca404b70),
  2024. 12: uint32(0xf88e7f6e),
  2025. 13: uint32(0xb60774c7),
  2026. 14: uint32(0x659c683c),
  2027. 15: uint32(0x2b156395),
  2028. 16: uint32(0x33b6af16),
  2029. 17: uint32(0x7d3fa4bf),
  2030. 18: uint32(0xaea4b844),
  2031. 19: uint32(0xe02db3ed),
  2032. 20: uint32(0xd2e387f3),
  2033. 21: uint32(0x9c6a8c5a),
  2034. 22: uint32(0x4ff190a1),
  2035. 23: uint32(0x01789b08),
  2036. 24: uint32(0x2a6df89d),
  2037. 25: uint32(0x64e4f334),
  2038. 26: uint32(0xb77fefcf),
  2039. 27: uint32(0xf9f6e466),
  2040. 28: uint32(0xcb38d078),
  2041. 29: uint32(0x85b1dbd1),
  2042. 30: uint32(0x562ac72a),
  2043. 31: uint32(0x18a3cc83),
  2044. 32: uint32(0x676d5e2c),
  2045. 33: uint32(0x29e45585),
  2046. 34: uint32(0xfa7f497e),
  2047. 35: uint32(0xb4f642d7),
  2048. 36: uint32(0x863876c9),
  2049. 37: uint32(0xc8b17d60),
  2050. 38: uint32(0x1b2a619b),
  2051. 39: uint32(0x55a36a32),
  2052. 40: uint32(0x7eb609a7),
  2053. 41: uint32(0x303f020e),
  2054. 42: uint32(0xe3a41ef5),
  2055. 43: uint32(0xad2d155c),
  2056. 44: uint32(0x9fe32142),
  2057. 45: uint32(0xd16a2aeb),
  2058. 46: uint32(0x02f13610),
  2059. 47: uint32(0x4c783db9),
  2060. 48: uint32(0x54dbf13a),
  2061. 49: uint32(0x1a52fa93),
  2062. 50: uint32(0xc9c9e668),
  2063. 51: uint32(0x8740edc1),
  2064. 52: uint32(0xb58ed9df),
  2065. 53: uint32(0xfb07d276),
  2066. 54: uint32(0x289cce8d),
  2067. 55: uint32(0x6615c524),
  2068. 56: uint32(0x4d00a6b1),
  2069. 57: uint32(0x0389ad18),
  2070. 58: uint32(0xd012b1e3),
  2071. 59: uint32(0x9e9bba4a),
  2072. 60: uint32(0xac558e54),
  2073. 61: uint32(0xe2dc85fd),
  2074. 62: uint32(0x31479906),
  2075. 63: uint32(0x7fce92af),
  2076. 64: uint32(0xcedabc58),
  2077. 65: uint32(0x8053b7f1),
  2078. 66: uint32(0x53c8ab0a),
  2079. 67: uint32(0x1d41a0a3),
  2080. 68: uint32(0x2f8f94bd),
  2081. 69: uint32(0x61069f14),
  2082. 70: uint32(0xb29d83ef),
  2083. 71: uint32(0xfc148846),
  2084. 72: uint32(0xd701ebd3),
  2085. 73: uint32(0x9988e07a),
  2086. 74: uint32(0x4a13fc81),
  2087. 75: uint32(0x049af728),
  2088. 76: uint32(0x3654c336),
  2089. 77: uint32(0x78ddc89f),
  2090. 78: uint32(0xab46d464),
  2091. 79: uint32(0xe5cfdfcd),
  2092. 80: uint32(0xfd6c134e),
  2093. 81: uint32(0xb3e518e7),
  2094. 82: uint32(0x607e041c),
  2095. 83: uint32(0x2ef70fb5),
  2096. 84: uint32(0x1c393bab),
  2097. 85: uint32(0x52b03002),
  2098. 86: uint32(0x812b2cf9),
  2099. 87: uint32(0xcfa22750),
  2100. 88: uint32(0xe4b744c5),
  2101. 89: uint32(0xaa3e4f6c),
  2102. 90: uint32(0x79a55397),
  2103. 91: uint32(0x372c583e),
  2104. 92: uint32(0x05e26c20),
  2105. 93: uint32(0x4b6b6789),
  2106. 94: uint32(0x98f07b72),
  2107. 95: uint32(0xd67970db),
  2108. 96: uint32(0xa9b7e274),
  2109. 97: uint32(0xe73ee9dd),
  2110. 98: uint32(0x34a5f526),
  2111. 99: uint32(0x7a2cfe8f),
  2112. 100: uint32(0x48e2ca91),
  2113. 101: uint32(0x066bc138),
  2114. 102: uint32(0xd5f0ddc3),
  2115. 103: uint32(0x9b79d66a),
  2116. 104: uint32(0xb06cb5ff),
  2117. 105: uint32(0xfee5be56),
  2118. 106: uint32(0x2d7ea2ad),
  2119. 107: uint32(0x63f7a904),
  2120. 108: uint32(0x51399d1a),
  2121. 109: uint32(0x1fb096b3),
  2122. 110: uint32(0xcc2b8a48),
  2123. 111: uint32(0x82a281e1),
  2124. 112: uint32(0x9a014d62),
  2125. 113: uint32(0xd48846cb),
  2126. 114: uint32(0x07135a30),
  2127. 115: uint32(0x499a5199),
  2128. 116: uint32(0x7b546587),
  2129. 117: uint32(0x35dd6e2e),
  2130. 118: uint32(0xe64672d5),
  2131. 119: uint32(0xa8cf797c),
  2132. 120: uint32(0x83da1ae9),
  2133. 121: uint32(0xcd531140),
  2134. 122: uint32(0x1ec80dbb),
  2135. 123: uint32(0x50410612),
  2136. 124: uint32(0x628f320c),
  2137. 125: uint32(0x2c0639a5),
  2138. 126: uint32(0xff9d255e),
  2139. 127: uint32(0xb1142ef7),
  2140. 128: uint32(0x46c47ef1),
  2141. 129: uint32(0x084d7558),
  2142. 130: uint32(0xdbd669a3),
  2143. 131: uint32(0x955f620a),
  2144. 132: uint32(0xa7915614),
  2145. 133: uint32(0xe9185dbd),
  2146. 134: uint32(0x3a834146),
  2147. 135: uint32(0x740a4aef),
  2148. 136: uint32(0x5f1f297a),
  2149. 137: uint32(0x119622d3),
  2150. 138: uint32(0xc20d3e28),
  2151. 139: uint32(0x8c843581),
  2152. 140: uint32(0xbe4a019f),
  2153. 141: uint32(0xf0c30a36),
  2154. 142: uint32(0x235816cd),
  2155. 143: uint32(0x6dd11d64),
  2156. 144: uint32(0x7572d1e7),
  2157. 145: uint32(0x3bfbda4e),
  2158. 146: uint32(0xe860c6b5),
  2159. 147: uint32(0xa6e9cd1c),
  2160. 148: uint32(0x9427f902),
  2161. 149: uint32(0xdaaef2ab),
  2162. 150: uint32(0x0935ee50),
  2163. 151: uint32(0x47bce5f9),
  2164. 152: uint32(0x6ca9866c),
  2165. 153: uint32(0x22208dc5),
  2166. 154: uint32(0xf1bb913e),
  2167. 155: uint32(0xbf329a97),
  2168. 156: uint32(0x8dfcae89),
  2169. 157: uint32(0xc375a520),
  2170. 158: uint32(0x10eeb9db),
  2171. 159: uint32(0x5e67b272),
  2172. 160: uint32(0x21a920dd),
  2173. 161: uint32(0x6f202b74),
  2174. 162: uint32(0xbcbb378f),
  2175. 163: uint32(0xf2323c26),
  2176. 164: uint32(0xc0fc0838),
  2177. 165: uint32(0x8e750391),
  2178. 166: uint32(0x5dee1f6a),
  2179. 167: uint32(0x136714c3),
  2180. 168: uint32(0x38727756),
  2181. 169: uint32(0x76fb7cff),
  2182. 170: uint32(0xa5606004),
  2183. 171: uint32(0xebe96bad),
  2184. 172: uint32(0xd9275fb3),
  2185. 173: uint32(0x97ae541a),
  2186. 174: uint32(0x443548e1),
  2187. 175: uint32(0x0abc4348),
  2188. 176: uint32(0x121f8fcb),
  2189. 177: uint32(0x5c968462),
  2190. 178: uint32(0x8f0d9899),
  2191. 179: uint32(0xc1849330),
  2192. 180: uint32(0xf34aa72e),
  2193. 181: uint32(0xbdc3ac87),
  2194. 182: uint32(0x6e58b07c),
  2195. 183: uint32(0x20d1bbd5),
  2196. 184: uint32(0x0bc4d840),
  2197. 185: uint32(0x454dd3e9),
  2198. 186: uint32(0x96d6cf12),
  2199. 187: uint32(0xd85fc4bb),
  2200. 188: uint32(0xea91f0a5),
  2201. 189: uint32(0xa418fb0c),
  2202. 190: uint32(0x7783e7f7),
  2203. 191: uint32(0x390aec5e),
  2204. 192: uint32(0x881ec2a9),
  2205. 193: uint32(0xc697c900),
  2206. 194: uint32(0x150cd5fb),
  2207. 195: uint32(0x5b85de52),
  2208. 196: uint32(0x694bea4c),
  2209. 197: uint32(0x27c2e1e5),
  2210. 198: uint32(0xf459fd1e),
  2211. 199: uint32(0xbad0f6b7),
  2212. 200: uint32(0x91c59522),
  2213. 201: uint32(0xdf4c9e8b),
  2214. 202: uint32(0x0cd78270),
  2215. 203: uint32(0x425e89d9),
  2216. 204: uint32(0x7090bdc7),
  2217. 205: uint32(0x3e19b66e),
  2218. 206: uint32(0xed82aa95),
  2219. 207: uint32(0xa30ba13c),
  2220. 208: uint32(0xbba86dbf),
  2221. 209: uint32(0xf5216616),
  2222. 210: uint32(0x26ba7aed),
  2223. 211: uint32(0x68337144),
  2224. 212: uint32(0x5afd455a),
  2225. 213: uint32(0x14744ef3),
  2226. 214: uint32(0xc7ef5208),
  2227. 215: uint32(0x896659a1),
  2228. 216: uint32(0xa2733a34),
  2229. 217: uint32(0xecfa319d),
  2230. 218: uint32(0x3f612d66),
  2231. 219: uint32(0x71e826cf),
  2232. 220: uint32(0x432612d1),
  2233. 221: uint32(0x0daf1978),
  2234. 222: uint32(0xde340583),
  2235. 223: uint32(0x90bd0e2a),
  2236. 224: uint32(0xef739c85),
  2237. 225: uint32(0xa1fa972c),
  2238. 226: uint32(0x72618bd7),
  2239. 227: uint32(0x3ce8807e),
  2240. 228: uint32(0x0e26b460),
  2241. 229: uint32(0x40afbfc9),
  2242. 230: uint32(0x9334a332),
  2243. 231: uint32(0xddbda89b),
  2244. 232: uint32(0xf6a8cb0e),
  2245. 233: uint32(0xb821c0a7),
  2246. 234: uint32(0x6bbadc5c),
  2247. 235: uint32(0x2533d7f5),
  2248. 236: uint32(0x17fde3eb),
  2249. 237: uint32(0x5974e842),
  2250. 238: uint32(0x8aeff4b9),
  2251. 239: uint32(0xc466ff10),
  2252. 240: uint32(0xdcc53393),
  2253. 241: uint32(0x924c383a),
  2254. 242: uint32(0x41d724c1),
  2255. 243: uint32(0x0f5e2f68),
  2256. 244: uint32(0x3d901b76),
  2257. 245: uint32(0x731910df),
  2258. 246: uint32(0xa0820c24),
  2259. 247: uint32(0xee0b078d),
  2260. 248: uint32(0xc51e6418),
  2261. 249: uint32(0x8b976fb1),
  2262. 250: uint32(0x580c734a),
  2263. 251: uint32(0x168578e3),
  2264. 252: uint32(0x244b4cfd),
  2265. 253: uint32(0x6ac24754),
  2266. 254: uint32(0xb9595baf),
  2267. 255: uint32(0xf7d05006),
  2268. },
  2269. 2: {
  2270. 1: uint32(0x8d88fde2),
  2271. 2: uint32(0xc060fd85),
  2272. 3: uint32(0x4de80067),
  2273. 4: uint32(0x5bb0fd4b),
  2274. 5: uint32(0xd63800a9),
  2275. 6: uint32(0x9bd000ce),
  2276. 7: uint32(0x1658fd2c),
  2277. 8: uint32(0xb761fa96),
  2278. 9: uint32(0x3ae90774),
  2279. 10: uint32(0x77010713),
  2280. 11: uint32(0xfa89faf1),
  2281. 12: uint32(0xecd107dd),
  2282. 13: uint32(0x6159fa3f),
  2283. 14: uint32(0x2cb1fa58),
  2284. 15: uint32(0xa13907ba),
  2285. 16: uint32(0xb5b2f36d),
  2286. 17: uint32(0x383a0e8f),
  2287. 18: uint32(0x75d20ee8),
  2288. 19: uint32(0xf85af30a),
  2289. 20: uint32(0xee020e26),
  2290. 21: uint32(0x638af3c4),
  2291. 22: uint32(0x2e62f3a3),
  2292. 23: uint32(0xa3ea0e41),
  2293. 24: uint32(0x02d309fb),
  2294. 25: uint32(0x8f5bf419),
  2295. 26: uint32(0xc2b3f47e),
  2296. 27: uint32(0x4f3b099c),
  2297. 28: uint32(0x5963f4b0),
  2298. 29: uint32(0xd4eb0952),
  2299. 30: uint32(0x99030935),
  2300. 31: uint32(0x148bf4d7),
  2301. 32: uint32(0xb014e09b),
  2302. 33: uint32(0x3d9c1d79),
  2303. 34: uint32(0x70741d1e),
  2304. 35: uint32(0xfdfce0fc),
  2305. 36: uint32(0xeba41dd0),
  2306. 37: uint32(0x662ce032),
  2307. 38: uint32(0x2bc4e055),
  2308. 39: uint32(0xa64c1db7),
  2309. 40: uint32(0x07751a0d),
  2310. 41: uint32(0x8afde7ef),
  2311. 42: uint32(0xc715e788),
  2312. 43: uint32(0x4a9d1a6a),
  2313. 44: uint32(0x5cc5e746),
  2314. 45: uint32(0xd14d1aa4),
  2315. 46: uint32(0x9ca51ac3),
  2316. 47: uint32(0x112de721),
  2317. 48: uint32(0x05a613f6),
  2318. 49: uint32(0x882eee14),
  2319. 50: uint32(0xc5c6ee73),
  2320. 51: uint32(0x484e1391),
  2321. 52: uint32(0x5e16eebd),
  2322. 53: uint32(0xd39e135f),
  2323. 54: uint32(0x9e761338),
  2324. 55: uint32(0x13feeeda),
  2325. 56: uint32(0xb2c7e960),
  2326. 57: uint32(0x3f4f1482),
  2327. 58: uint32(0x72a714e5),
  2328. 59: uint32(0xff2fe907),
  2329. 60: uint32(0xe977142b),
  2330. 61: uint32(0x64ffe9c9),
  2331. 62: uint32(0x2917e9ae),
  2332. 63: uint32(0xa49f144c),
  2333. 64: uint32(0xbb58c777),
  2334. 65: uint32(0x36d03a95),
  2335. 66: uint32(0x7b383af2),
  2336. 67: uint32(0xf6b0c710),
  2337. 68: uint32(0xe0e83a3c),
  2338. 69: uint32(0x6d60c7de),
  2339. 70: uint32(0x2088c7b9),
  2340. 71: uint32(0xad003a5b),
  2341. 72: uint32(0x0c393de1),
  2342. 73: uint32(0x81b1c003),
  2343. 74: uint32(0xcc59c064),
  2344. 75: uint32(0x41d13d86),
  2345. 76: uint32(0x5789c0aa),
  2346. 77: uint32(0xda013d48),
  2347. 78: uint32(0x97e93d2f),
  2348. 79: uint32(0x1a61c0cd),
  2349. 80: uint32(0x0eea341a),
  2350. 81: uint32(0x8362c9f8),
  2351. 82: uint32(0xce8ac99f),
  2352. 83: uint32(0x4302347d),
  2353. 84: uint32(0x555ac951),
  2354. 85: uint32(0xd8d234b3),
  2355. 86: uint32(0x953a34d4),
  2356. 87: uint32(0x18b2c936),
  2357. 88: uint32(0xb98bce8c),
  2358. 89: uint32(0x3403336e),
  2359. 90: uint32(0x79eb3309),
  2360. 91: uint32(0xf463ceeb),
  2361. 92: uint32(0xe23b33c7),
  2362. 93: uint32(0x6fb3ce25),
  2363. 94: uint32(0x225bce42),
  2364. 95: uint32(0xafd333a0),
  2365. 96: uint32(0x0b4c27ec),
  2366. 97: uint32(0x86c4da0e),
  2367. 98: uint32(0xcb2cda69),
  2368. 99: uint32(0x46a4278b),
  2369. 100: uint32(0x50fcdaa7),
  2370. 101: uint32(0xdd742745),
  2371. 102: uint32(0x909c2722),
  2372. 103: uint32(0x1d14dac0),
  2373. 104: uint32(0xbc2ddd7a),
  2374. 105: uint32(0x31a52098),
  2375. 106: uint32(0x7c4d20ff),
  2376. 107: uint32(0xf1c5dd1d),
  2377. 108: uint32(0xe79d2031),
  2378. 109: uint32(0x6a15ddd3),
  2379. 110: uint32(0x27fdddb4),
  2380. 111: uint32(0xaa752056),
  2381. 112: uint32(0xbefed481),
  2382. 113: uint32(0x33762963),
  2383. 114: uint32(0x7e9e2904),
  2384. 115: uint32(0xf316d4e6),
  2385. 116: uint32(0xe54e29ca),
  2386. 117: uint32(0x68c6d428),
  2387. 118: uint32(0x252ed44f),
  2388. 119: uint32(0xa8a629ad),
  2389. 120: uint32(0x099f2e17),
  2390. 121: uint32(0x8417d3f5),
  2391. 122: uint32(0xc9ffd392),
  2392. 123: uint32(0x44772e70),
  2393. 124: uint32(0x522fd35c),
  2394. 125: uint32(0xdfa72ebe),
  2395. 126: uint32(0x924f2ed9),
  2396. 127: uint32(0x1fc7d33b),
  2397. 128: uint32(0xadc088af),
  2398. 129: uint32(0x2048754d),
  2399. 130: uint32(0x6da0752a),
  2400. 131: uint32(0xe02888c8),
  2401. 132: uint32(0xf67075e4),
  2402. 133: uint32(0x7bf88806),
  2403. 134: uint32(0x36108861),
  2404. 135: uint32(0xbb987583),
  2405. 136: uint32(0x1aa17239),
  2406. 137: uint32(0x97298fdb),
  2407. 138: uint32(0xdac18fbc),
  2408. 139: uint32(0x5749725e),
  2409. 140: uint32(0x41118f72),
  2410. 141: uint32(0xcc997290),
  2411. 142: uint32(0x817172f7),
  2412. 143: uint32(0x0cf98f15),
  2413. 144: uint32(0x18727bc2),
  2414. 145: uint32(0x95fa8620),
  2415. 146: uint32(0xd8128647),
  2416. 147: uint32(0x559a7ba5),
  2417. 148: uint32(0x43c28689),
  2418. 149: uint32(0xce4a7b6b),
  2419. 150: uint32(0x83a27b0c),
  2420. 151: uint32(0x0e2a86ee),
  2421. 152: uint32(0xaf138154),
  2422. 153: uint32(0x229b7cb6),
  2423. 154: uint32(0x6f737cd1),
  2424. 155: uint32(0xe2fb8133),
  2425. 156: uint32(0xf4a37c1f),
  2426. 157: uint32(0x792b81fd),
  2427. 158: uint32(0x34c3819a),
  2428. 159: uint32(0xb94b7c78),
  2429. 160: uint32(0x1dd46834),
  2430. 161: uint32(0x905c95d6),
  2431. 162: uint32(0xddb495b1),
  2432. 163: uint32(0x503c6853),
  2433. 164: uint32(0x4664957f),
  2434. 165: uint32(0xcbec689d),
  2435. 166: uint32(0x860468fa),
  2436. 167: uint32(0x0b8c9518),
  2437. 168: uint32(0xaab592a2),
  2438. 169: uint32(0x273d6f40),
  2439. 170: uint32(0x6ad56f27),
  2440. 171: uint32(0xe75d92c5),
  2441. 172: uint32(0xf1056fe9),
  2442. 173: uint32(0x7c8d920b),
  2443. 174: uint32(0x3165926c),
  2444. 175: uint32(0xbced6f8e),
  2445. 176: uint32(0xa8669b59),
  2446. 177: uint32(0x25ee66bb),
  2447. 178: uint32(0x680666dc),
  2448. 179: uint32(0xe58e9b3e),
  2449. 180: uint32(0xf3d66612),
  2450. 181: uint32(0x7e5e9bf0),
  2451. 182: uint32(0x33b69b97),
  2452. 183: uint32(0xbe3e6675),
  2453. 184: uint32(0x1f0761cf),
  2454. 185: uint32(0x928f9c2d),
  2455. 186: uint32(0xdf679c4a),
  2456. 187: uint32(0x52ef61a8),
  2457. 188: uint32(0x44b79c84),
  2458. 189: uint32(0xc93f6166),
  2459. 190: uint32(0x84d76101),
  2460. 191: uint32(0x095f9ce3),
  2461. 192: uint32(0x16984fd8),
  2462. 193: uint32(0x9b10b23a),
  2463. 194: uint32(0xd6f8b25d),
  2464. 195: uint32(0x5b704fbf),
  2465. 196: uint32(0x4d28b293),
  2466. 197: uint32(0xc0a04f71),
  2467. 198: uint32(0x8d484f16),
  2468. 199: uint32(0x00c0b2f4),
  2469. 200: uint32(0xa1f9b54e),
  2470. 201: uint32(0x2c7148ac),
  2471. 202: uint32(0x619948cb),
  2472. 203: uint32(0xec11b529),
  2473. 204: uint32(0xfa494805),
  2474. 205: uint32(0x77c1b5e7),
  2475. 206: uint32(0x3a29b580),
  2476. 207: uint32(0xb7a14862),
  2477. 208: uint32(0xa32abcb5),
  2478. 209: uint32(0x2ea24157),
  2479. 210: uint32(0x634a4130),
  2480. 211: uint32(0xeec2bcd2),
  2481. 212: uint32(0xf89a41fe),
  2482. 213: uint32(0x7512bc1c),
  2483. 214: uint32(0x38fabc7b),
  2484. 215: uint32(0xb5724199),
  2485. 216: uint32(0x144b4623),
  2486. 217: uint32(0x99c3bbc1),
  2487. 218: uint32(0xd42bbba6),
  2488. 219: uint32(0x59a34644),
  2489. 220: uint32(0x4ffbbb68),
  2490. 221: uint32(0xc273468a),
  2491. 222: uint32(0x8f9b46ed),
  2492. 223: uint32(0x0213bb0f),
  2493. 224: uint32(0xa68caf43),
  2494. 225: uint32(0x2b0452a1),
  2495. 226: uint32(0x66ec52c6),
  2496. 227: uint32(0xeb64af24),
  2497. 228: uint32(0xfd3c5208),
  2498. 229: uint32(0x70b4afea),
  2499. 230: uint32(0x3d5caf8d),
  2500. 231: uint32(0xb0d4526f),
  2501. 232: uint32(0x11ed55d5),
  2502. 233: uint32(0x9c65a837),
  2503. 234: uint32(0xd18da850),
  2504. 235: uint32(0x5c0555b2),
  2505. 236: uint32(0x4a5da89e),
  2506. 237: uint32(0xc7d5557c),
  2507. 238: uint32(0x8a3d551b),
  2508. 239: uint32(0x07b5a8f9),
  2509. 240: uint32(0x133e5c2e),
  2510. 241: uint32(0x9eb6a1cc),
  2511. 242: uint32(0xd35ea1ab),
  2512. 243: uint32(0x5ed65c49),
  2513. 244: uint32(0x488ea165),
  2514. 245: uint32(0xc5065c87),
  2515. 246: uint32(0x88ee5ce0),
  2516. 247: uint32(0x0566a102),
  2517. 248: uint32(0xa45fa6b8),
  2518. 249: uint32(0x29d75b5a),
  2519. 250: uint32(0x643f5b3d),
  2520. 251: uint32(0xe9b7a6df),
  2521. 252: uint32(0xffef5bf3),
  2522. 253: uint32(0x7267a611),
  2523. 254: uint32(0x3f8fa676),
  2524. 255: uint32(0xb2075b94),
  2525. },
  2526. 3: {
  2527. 1: uint32(0x80f0171f),
  2528. 2: uint32(0xda91287f),
  2529. 3: uint32(0x5a613f60),
  2530. 4: uint32(0x6e5356bf),
  2531. 5: uint32(0xeea341a0),
  2532. 6: uint32(0xb4c27ec0),
  2533. 7: uint32(0x343269df),
  2534. 8: uint32(0xdca6ad7e),
  2535. 9: uint32(0x5c56ba61),
  2536. 10: uint32(0x06378501),
  2537. 11: uint32(0x86c7921e),
  2538. 12: uint32(0xb2f5fbc1),
  2539. 13: uint32(0x3205ecde),
  2540. 14: uint32(0x6864d3be),
  2541. 15: uint32(0xe894c4a1),
  2542. 16: uint32(0x623c5cbd),
  2543. 17: uint32(0xe2cc4ba2),
  2544. 18: uint32(0xb8ad74c2),
  2545. 19: uint32(0x385d63dd),
  2546. 20: uint32(0x0c6f0a02),
  2547. 21: uint32(0x8c9f1d1d),
  2548. 22: uint32(0xd6fe227d),
  2549. 23: uint32(0x560e3562),
  2550. 24: uint32(0xbe9af1c3),
  2551. 25: uint32(0x3e6ae6dc),
  2552. 26: uint32(0x640bd9bc),
  2553. 27: uint32(0xe4fbcea3),
  2554. 28: uint32(0xd0c9a77c),
  2555. 29: uint32(0x5039b063),
  2556. 30: uint32(0x0a588f03),
  2557. 31: uint32(0x8aa8981c),
  2558. 32: uint32(0xc478b97a),
  2559. 33: uint32(0x4488ae65),
  2560. 34: uint32(0x1ee99105),
  2561. 35: uint32(0x9e19861a),
  2562. 36: uint32(0xaa2befc5),
  2563. 37: uint32(0x2adbf8da),
  2564. 38: uint32(0x70bac7ba),
  2565. 39: uint32(0xf04ad0a5),
  2566. 40: uint32(0x18de1404),
  2567. 41: uint32(0x982e031b),
  2568. 42: uint32(0xc24f3c7b),
  2569. 43: uint32(0x42bf2b64),
  2570. 44: uint32(0x768d42bb),
  2571. 45: uint32(0xf67d55a4),
  2572. 46: uint32(0xac1c6ac4),
  2573. 47: uint32(0x2cec7ddb),
  2574. 48: uint32(0xa644e5c7),
  2575. 49: uint32(0x26b4f2d8),
  2576. 50: uint32(0x7cd5cdb8),
  2577. 51: uint32(0xfc25daa7),
  2578. 52: uint32(0xc817b378),
  2579. 53: uint32(0x48e7a467),
  2580. 54: uint32(0x12869b07),
  2581. 55: uint32(0x92768c18),
  2582. 56: uint32(0x7ae248b9),
  2583. 57: uint32(0xfa125fa6),
  2584. 58: uint32(0xa07360c6),
  2585. 59: uint32(0x208377d9),
  2586. 60: uint32(0x14b11e06),
  2587. 61: uint32(0x94410919),
  2588. 62: uint32(0xce203679),
  2589. 63: uint32(0x4ed02166),
  2590. 64: uint32(0x538074b5),
  2591. 65: uint32(0xd37063aa),
  2592. 66: uint32(0x89115cca),
  2593. 67: uint32(0x09e14bd5),
  2594. 68: uint32(0x3dd3220a),
  2595. 69: uint32(0xbd233515),
  2596. 70: uint32(0xe7420a75),
  2597. 71: uint32(0x67b21d6a),
  2598. 72: uint32(0x8f26d9cb),
  2599. 73: uint32(0x0fd6ced4),
  2600. 74: uint32(0x55b7f1b4),
  2601. 75: uint32(0xd547e6ab),
  2602. 76: uint32(0xe1758f74),
  2603. 77: uint32(0x6185986b),
  2604. 78: uint32(0x3be4a70b),
  2605. 79: uint32(0xbb14b014),
  2606. 80: uint32(0x31bc2808),
  2607. 81: uint32(0xb14c3f17),
  2608. 82: uint32(0xeb2d0077),
  2609. 83: uint32(0x6bdd1768),
  2610. 84: uint32(0x5fef7eb7),
  2611. 85: uint32(0xdf1f69a8),
  2612. 86: uint32(0x857e56c8),
  2613. 87: uint32(0x058e41d7),
  2614. 88: uint32(0xed1a8576),
  2615. 89: uint32(0x6dea9269),
  2616. 90: uint32(0x378bad09),
  2617. 91: uint32(0xb77bba16),
  2618. 92: uint32(0x8349d3c9),
  2619. 93: uint32(0x03b9c4d6),
  2620. 94: uint32(0x59d8fbb6),
  2621. 95: uint32(0xd928eca9),
  2622. 96: uint32(0x97f8cdcf),
  2623. 97: uint32(0x1708dad0),
  2624. 98: uint32(0x4d69e5b0),
  2625. 99: uint32(0xcd99f2af),
  2626. 100: uint32(0xf9ab9b70),
  2627. 101: uint32(0x795b8c6f),
  2628. 102: uint32(0x233ab30f),
  2629. 103: uint32(0xa3caa410),
  2630. 104: uint32(0x4b5e60b1),
  2631. 105: uint32(0xcbae77ae),
  2632. 106: uint32(0x91cf48ce),
  2633. 107: uint32(0x113f5fd1),
  2634. 108: uint32(0x250d360e),
  2635. 109: uint32(0xa5fd2111),
  2636. 110: uint32(0xff9c1e71),
  2637. 111: uint32(0x7f6c096e),
  2638. 112: uint32(0xf5c49172),
  2639. 113: uint32(0x7534866d),
  2640. 114: uint32(0x2f55b90d),
  2641. 115: uint32(0xafa5ae12),
  2642. 116: uint32(0x9b97c7cd),
  2643. 117: uint32(0x1b67d0d2),
  2644. 118: uint32(0x4106efb2),
  2645. 119: uint32(0xc1f6f8ad),
  2646. 120: uint32(0x29623c0c),
  2647. 121: uint32(0xa9922b13),
  2648. 122: uint32(0xf3f31473),
  2649. 123: uint32(0x7303036c),
  2650. 124: uint32(0x47316ab3),
  2651. 125: uint32(0xc7c17dac),
  2652. 126: uint32(0x9da042cc),
  2653. 127: uint32(0x1d5055d3),
  2654. 128: uint32(0xa700e96a),
  2655. 129: uint32(0x27f0fe75),
  2656. 130: uint32(0x7d91c115),
  2657. 131: uint32(0xfd61d60a),
  2658. 132: uint32(0xc953bfd5),
  2659. 133: uint32(0x49a3a8ca),
  2660. 134: uint32(0x13c297aa),
  2661. 135: uint32(0x933280b5),
  2662. 136: uint32(0x7ba64414),
  2663. 137: uint32(0xfb56530b),
  2664. 138: uint32(0xa1376c6b),
  2665. 139: uint32(0x21c77b74),
  2666. 140: uint32(0x15f512ab),
  2667. 141: uint32(0x950505b4),
  2668. 142: uint32(0xcf643ad4),
  2669. 143: uint32(0x4f942dcb),
  2670. 144: uint32(0xc53cb5d7),
  2671. 145: uint32(0x45cca2c8),
  2672. 146: uint32(0x1fad9da8),
  2673. 147: uint32(0x9f5d8ab7),
  2674. 148: uint32(0xab6fe368),
  2675. 149: uint32(0x2b9ff477),
  2676. 150: uint32(0x71fecb17),
  2677. 151: uint32(0xf10edc08),
  2678. 152: uint32(0x199a18a9),
  2679. 153: uint32(0x996a0fb6),
  2680. 154: uint32(0xc30b30d6),
  2681. 155: uint32(0x43fb27c9),
  2682. 156: uint32(0x77c94e16),
  2683. 157: uint32(0xf7395909),
  2684. 158: uint32(0xad586669),
  2685. 159: uint32(0x2da87176),
  2686. 160: uint32(0x63785010),
  2687. 161: uint32(0xe388470f),
  2688. 162: uint32(0xb9e9786f),
  2689. 163: uint32(0x39196f70),
  2690. 164: uint32(0x0d2b06af),
  2691. 165: uint32(0x8ddb11b0),
  2692. 166: uint32(0xd7ba2ed0),
  2693. 167: uint32(0x574a39cf),
  2694. 168: uint32(0xbfdefd6e),
  2695. 169: uint32(0x3f2eea71),
  2696. 170: uint32(0x654fd511),
  2697. 171: uint32(0xe5bfc20e),
  2698. 172: uint32(0xd18dabd1),
  2699. 173: uint32(0x517dbcce),
  2700. 174: uint32(0x0b1c83ae),
  2701. 175: uint32(0x8bec94b1),
  2702. 176: uint32(0x01440cad),
  2703. 177: uint32(0x81b41bb2),
  2704. 178: uint32(0xdbd524d2),
  2705. 179: uint32(0x5b2533cd),
  2706. 180: uint32(0x6f175a12),
  2707. 181: uint32(0xefe74d0d),
  2708. 182: uint32(0xb586726d),
  2709. 183: uint32(0x35766572),
  2710. 184: uint32(0xdde2a1d3),
  2711. 185: uint32(0x5d12b6cc),
  2712. 186: uint32(0x077389ac),
  2713. 187: uint32(0x87839eb3),
  2714. 188: uint32(0xb3b1f76c),
  2715. 189: uint32(0x3341e073),
  2716. 190: uint32(0x6920df13),
  2717. 191: uint32(0xe9d0c80c),
  2718. 192: uint32(0xf4809ddf),
  2719. 193: uint32(0x74708ac0),
  2720. 194: uint32(0x2e11b5a0),
  2721. 195: uint32(0xaee1a2bf),
  2722. 196: uint32(0x9ad3cb60),
  2723. 197: uint32(0x1a23dc7f),
  2724. 198: uint32(0x4042e31f),
  2725. 199: uint32(0xc0b2f400),
  2726. 200: uint32(0x282630a1),
  2727. 201: uint32(0xa8d627be),
  2728. 202: uint32(0xf2b718de),
  2729. 203: uint32(0x72470fc1),
  2730. 204: uint32(0x4675661e),
  2731. 205: uint32(0xc6857101),
  2732. 206: uint32(0x9ce44e61),
  2733. 207: uint32(0x1c14597e),
  2734. 208: uint32(0x96bcc162),
  2735. 209: uint32(0x164cd67d),
  2736. 210: uint32(0x4c2de91d),
  2737. 211: uint32(0xccddfe02),
  2738. 212: uint32(0xf8ef97dd),
  2739. 213: uint32(0x781f80c2),
  2740. 214: uint32(0x227ebfa2),
  2741. 215: uint32(0xa28ea8bd),
  2742. 216: uint32(0x4a1a6c1c),
  2743. 217: uint32(0xcaea7b03),
  2744. 218: uint32(0x908b4463),
  2745. 219: uint32(0x107b537c),
  2746. 220: uint32(0x24493aa3),
  2747. 221: uint32(0xa4b92dbc),
  2748. 222: uint32(0xfed812dc),
  2749. 223: uint32(0x7e2805c3),
  2750. 224: uint32(0x30f824a5),
  2751. 225: uint32(0xb00833ba),
  2752. 226: uint32(0xea690cda),
  2753. 227: uint32(0x6a991bc5),
  2754. 228: uint32(0x5eab721a),
  2755. 229: uint32(0xde5b6505),
  2756. 230: uint32(0x843a5a65),
  2757. 231: uint32(0x04ca4d7a),
  2758. 232: uint32(0xec5e89db),
  2759. 233: uint32(0x6cae9ec4),
  2760. 234: uint32(0x36cfa1a4),
  2761. 235: uint32(0xb63fb6bb),
  2762. 236: uint32(0x820ddf64),
  2763. 237: uint32(0x02fdc87b),
  2764. 238: uint32(0x589cf71b),
  2765. 239: uint32(0xd86ce004),
  2766. 240: uint32(0x52c47818),
  2767. 241: uint32(0xd2346f07),
  2768. 242: uint32(0x88555067),
  2769. 243: uint32(0x08a54778),
  2770. 244: uint32(0x3c972ea7),
  2771. 245: uint32(0xbc6739b8),
  2772. 246: uint32(0xe60606d8),
  2773. 247: uint32(0x66f611c7),
  2774. 248: uint32(0x8e62d566),
  2775. 249: uint32(0x0e92c279),
  2776. 250: uint32(0x54f3fd19),
  2777. 251: uint32(0xd403ea06),
  2778. 252: uint32(0xe03183d9),
  2779. 253: uint32(0x60c194c6),
  2780. 254: uint32(0x3aa0aba6),
  2781. 255: uint32(0xba50bcb9),
  2782. },
  2783. 4: {
  2784. 1: uint32(0x9570d495),
  2785. 2: uint32(0xf190af6b),
  2786. 3: uint32(0x64e07bfe),
  2787. 4: uint32(0x38505897),
  2788. 5: uint32(0xad208c02),
  2789. 6: uint32(0xc9c0f7fc),
  2790. 7: uint32(0x5cb02369),
  2791. 8: uint32(0x70a0b12e),
  2792. 9: uint32(0xe5d065bb),
  2793. 10: uint32(0x81301e45),
  2794. 11: uint32(0x1440cad0),
  2795. 12: uint32(0x48f0e9b9),
  2796. 13: uint32(0xdd803d2c),
  2797. 14: uint32(0xb96046d2),
  2798. 15: uint32(0x2c109247),
  2799. 16: uint32(0xe141625c),
  2800. 17: uint32(0x7431b6c9),
  2801. 18: uint32(0x10d1cd37),
  2802. 19: uint32(0x85a119a2),
  2803. 20: uint32(0xd9113acb),
  2804. 21: uint32(0x4c61ee5e),
  2805. 22: uint32(0x288195a0),
  2806. 23: uint32(0xbdf14135),
  2807. 24: uint32(0x91e1d372),
  2808. 25: uint32(0x049107e7),
  2809. 26: uint32(0x60717c19),
  2810. 27: uint32(0xf501a88c),
  2811. 28: uint32(0xa9b18be5),
  2812. 29: uint32(0x3cc15f70),
  2813. 30: uint32(0x5821248e),
  2814. 31: uint32(0xcd51f01b),
  2815. 32: uint32(0x19f3c2f9),
  2816. 33: uint32(0x8c83166c),
  2817. 34: uint32(0xe8636d92),
  2818. 35: uint32(0x7d13b907),
  2819. 36: uint32(0x21a39a6e),
  2820. 37: uint32(0xb4d34efb),
  2821. 38: uint32(0xd0333505),
  2822. 39: uint32(0x4543e190),
  2823. 40: uint32(0x695373d7),
  2824. 41: uint32(0xfc23a742),
  2825. 42: uint32(0x98c3dcbc),
  2826. 43: uint32(0x0db30829),
  2827. 44: uint32(0x51032b40),
  2828. 45: uint32(0xc473ffd5),
  2829. 46: uint32(0xa093842b),
  2830. 47: uint32(0x35e350be),
  2831. 48: uint32(0xf8b2a0a5),
  2832. 49: uint32(0x6dc27430),
  2833. 50: uint32(0x09220fce),
  2834. 51: uint32(0x9c52db5b),
  2835. 52: uint32(0xc0e2f832),
  2836. 53: uint32(0x55922ca7),
  2837. 54: uint32(0x31725759),
  2838. 55: uint32(0xa40283cc),
  2839. 56: uint32(0x8812118b),
  2840. 57: uint32(0x1d62c51e),
  2841. 58: uint32(0x7982bee0),
  2842. 59: uint32(0xecf26a75),
  2843. 60: uint32(0xb042491c),
  2844. 61: uint32(0x25329d89),
  2845. 62: uint32(0x41d2e677),
  2846. 63: uint32(0xd4a232e2),
  2847. 64: uint32(0x33e785f2),
  2848. 65: uint32(0xa6975167),
  2849. 66: uint32(0xc2772a99),
  2850. 67: uint32(0x5707fe0c),
  2851. 68: uint32(0x0bb7dd65),
  2852. 69: uint32(0x9ec709f0),
  2853. 70: uint32(0xfa27720e),
  2854. 71: uint32(0x6f57a69b),
  2855. 72: uint32(0x434734dc),
  2856. 73: uint32(0xd637e049),
  2857. 74: uint32(0xb2d79bb7),
  2858. 75: uint32(0x27a74f22),
  2859. 76: uint32(0x7b176c4b),
  2860. 77: uint32(0xee67b8de),
  2861. 78: uint32(0x8a87c320),
  2862. 79: uint32(0x1ff717b5),
  2863. 80: uint32(0xd2a6e7ae),
  2864. 81: uint32(0x47d6333b),
  2865. 82: uint32(0x233648c5),
  2866. 83: uint32(0xb6469c50),
  2867. 84: uint32(0xeaf6bf39),
  2868. 85: uint32(0x7f866bac),
  2869. 86: uint32(0x1b661052),
  2870. 87: uint32(0x8e16c4c7),
  2871. 88: uint32(0xa2065680),
  2872. 89: uint32(0x37768215),
  2873. 90: uint32(0x5396f9eb),
  2874. 91: uint32(0xc6e62d7e),
  2875. 92: uint32(0x9a560e17),
  2876. 93: uint32(0x0f26da82),
  2877. 94: uint32(0x6bc6a17c),
  2878. 95: uint32(0xfeb675e9),
  2879. 96: uint32(0x2a14470b),
  2880. 97: uint32(0xbf64939e),
  2881. 98: uint32(0xdb84e860),
  2882. 99: uint32(0x4ef43cf5),
  2883. 100: uint32(0x12441f9c),
  2884. 101: uint32(0x8734cb09),
  2885. 102: uint32(0xe3d4b0f7),
  2886. 103: uint32(0x76a46462),
  2887. 104: uint32(0x5ab4f625),
  2888. 105: uint32(0xcfc422b0),
  2889. 106: uint32(0xab24594e),
  2890. 107: uint32(0x3e548ddb),
  2891. 108: uint32(0x62e4aeb2),
  2892. 109: uint32(0xf7947a27),
  2893. 110: uint32(0x937401d9),
  2894. 111: uint32(0x0604d54c),
  2895. 112: uint32(0xcb552557),
  2896. 113: uint32(0x5e25f1c2),
  2897. 114: uint32(0x3ac58a3c),
  2898. 115: uint32(0xafb55ea9),
  2899. 116: uint32(0xf3057dc0),
  2900. 117: uint32(0x6675a955),
  2901. 118: uint32(0x0295d2ab),
  2902. 119: uint32(0x97e5063e),
  2903. 120: uint32(0xbbf59479),
  2904. 121: uint32(0x2e8540ec),
  2905. 122: uint32(0x4a653b12),
  2906. 123: uint32(0xdf15ef87),
  2907. 124: uint32(0x83a5ccee),
  2908. 125: uint32(0x16d5187b),
  2909. 126: uint32(0x72356385),
  2910. 127: uint32(0xe745b710),
  2911. 128: uint32(0x67cf0be4),
  2912. 129: uint32(0xf2bfdf71),
  2913. 130: uint32(0x965fa48f),
  2914. 131: uint32(0x032f701a),
  2915. 132: uint32(0x5f9f5373),
  2916. 133: uint32(0xcaef87e6),
  2917. 134: uint32(0xae0ffc18),
  2918. 135: uint32(0x3b7f288d),
  2919. 136: uint32(0x176fbaca),
  2920. 137: uint32(0x821f6e5f),
  2921. 138: uint32(0xe6ff15a1),
  2922. 139: uint32(0x738fc134),
  2923. 140: uint32(0x2f3fe25d),
  2924. 141: uint32(0xba4f36c8),
  2925. 142: uint32(0xdeaf4d36),
  2926. 143: uint32(0x4bdf99a3),
  2927. 144: uint32(0x868e69b8),
  2928. 145: uint32(0x13febd2d),
  2929. 146: uint32(0x771ec6d3),
  2930. 147: uint32(0xe26e1246),
  2931. 148: uint32(0xbede312f),
  2932. 149: uint32(0x2baee5ba),
  2933. 150: uint32(0x4f4e9e44),
  2934. 151: uint32(0xda3e4ad1),
  2935. 152: uint32(0xf62ed896),
  2936. 153: uint32(0x635e0c03),
  2937. 154: uint32(0x07be77fd),
  2938. 155: uint32(0x92cea368),
  2939. 156: uint32(0xce7e8001),
  2940. 157: uint32(0x5b0e5494),
  2941. 158: uint32(0x3fee2f6a),
  2942. 159: uint32(0xaa9efbff),
  2943. 160: uint32(0x7e3cc91d),
  2944. 161: uint32(0xeb4c1d88),
  2945. 162: uint32(0x8fac6676),
  2946. 163: uint32(0x1adcb2e3),
  2947. 164: uint32(0x466c918a),
  2948. 165: uint32(0xd31c451f),
  2949. 166: uint32(0xb7fc3ee1),
  2950. 167: uint32(0x228cea74),
  2951. 168: uint32(0x0e9c7833),
  2952. 169: uint32(0x9becaca6),
  2953. 170: uint32(0xff0cd758),
  2954. 171: uint32(0x6a7c03cd),
  2955. 172: uint32(0x36cc20a4),
  2956. 173: uint32(0xa3bcf431),
  2957. 174: uint32(0xc75c8fcf),
  2958. 175: uint32(0x522c5b5a),
  2959. 176: uint32(0x9f7dab41),
  2960. 177: uint32(0x0a0d7fd4),
  2961. 178: uint32(0x6eed042a),
  2962. 179: uint32(0xfb9dd0bf),
  2963. 180: uint32(0xa72df3d6),
  2964. 181: uint32(0x325d2743),
  2965. 182: uint32(0x56bd5cbd),
  2966. 183: uint32(0xc3cd8828),
  2967. 184: uint32(0xefdd1a6f),
  2968. 185: uint32(0x7aadcefa),
  2969. 186: uint32(0x1e4db504),
  2970. 187: uint32(0x8b3d6191),
  2971. 188: uint32(0xd78d42f8),
  2972. 189: uint32(0x42fd966d),
  2973. 190: uint32(0x261ded93),
  2974. 191: uint32(0xb36d3906),
  2975. 192: uint32(0x54288e16),
  2976. 193: uint32(0xc1585a83),
  2977. 194: uint32(0xa5b8217d),
  2978. 195: uint32(0x30c8f5e8),
  2979. 196: uint32(0x6c78d681),
  2980. 197: uint32(0xf9080214),
  2981. 198: uint32(0x9de879ea),
  2982. 199: uint32(0x0898ad7f),
  2983. 200: uint32(0x24883f38),
  2984. 201: uint32(0xb1f8ebad),
  2985. 202: uint32(0xd5189053),
  2986. 203: uint32(0x406844c6),
  2987. 204: uint32(0x1cd867af),
  2988. 205: uint32(0x89a8b33a),
  2989. 206: uint32(0xed48c8c4),
  2990. 207: uint32(0x78381c51),
  2991. 208: uint32(0xb569ec4a),
  2992. 209: uint32(0x201938df),
  2993. 210: uint32(0x44f94321),
  2994. 211: uint32(0xd18997b4),
  2995. 212: uint32(0x8d39b4dd),
  2996. 213: uint32(0x18496048),
  2997. 214: uint32(0x7ca91bb6),
  2998. 215: uint32(0xe9d9cf23),
  2999. 216: uint32(0xc5c95d64),
  3000. 217: uint32(0x50b989f1),
  3001. 218: uint32(0x3459f20f),
  3002. 219: uint32(0xa129269a),
  3003. 220: uint32(0xfd9905f3),
  3004. 221: uint32(0x68e9d166),
  3005. 222: uint32(0x0c09aa98),
  3006. 223: uint32(0x99797e0d),
  3007. 224: uint32(0x4ddb4cef),
  3008. 225: uint32(0xd8ab987a),
  3009. 226: uint32(0xbc4be384),
  3010. 227: uint32(0x293b3711),
  3011. 228: uint32(0x758b1478),
  3012. 229: uint32(0xe0fbc0ed),
  3013. 230: uint32(0x841bbb13),
  3014. 231: uint32(0x116b6f86),
  3015. 232: uint32(0x3d7bfdc1),
  3016. 233: uint32(0xa80b2954),
  3017. 234: uint32(0xcceb52aa),
  3018. 235: uint32(0x599b863f),
  3019. 236: uint32(0x052ba556),
  3020. 237: uint32(0x905b71c3),
  3021. 238: uint32(0xf4bb0a3d),
  3022. 239: uint32(0x61cbdea8),
  3023. 240: uint32(0xac9a2eb3),
  3024. 241: uint32(0x39eafa26),
  3025. 242: uint32(0x5d0a81d8),
  3026. 243: uint32(0xc87a554d),
  3027. 244: uint32(0x94ca7624),
  3028. 245: uint32(0x01baa2b1),
  3029. 246: uint32(0x655ad94f),
  3030. 247: uint32(0xf02a0dda),
  3031. 248: uint32(0xdc3a9f9d),
  3032. 249: uint32(0x494a4b08),
  3033. 250: uint32(0x2daa30f6),
  3034. 251: uint32(0xb8dae463),
  3035. 252: uint32(0xe46ac70a),
  3036. 253: uint32(0x711a139f),
  3037. 254: uint32(0x15fa6861),
  3038. 255: uint32(0x808abcf4),
  3039. },
  3040. 5: {
  3041. 1: uint32(0xcf9e17c8),
  3042. 2: uint32(0x444d29d1),
  3043. 3: uint32(0x8bd33e19),
  3044. 4: uint32(0x889a53a2),
  3045. 5: uint32(0x4704446a),
  3046. 6: uint32(0xccd77a73),
  3047. 7: uint32(0x03496dbb),
  3048. 8: uint32(0xca45a105),
  3049. 9: uint32(0x05dbb6cd),
  3050. 10: uint32(0x8e0888d4),
  3051. 11: uint32(0x41969f1c),
  3052. 12: uint32(0x42dff2a7),
  3053. 13: uint32(0x8d41e56f),
  3054. 14: uint32(0x0692db76),
  3055. 15: uint32(0xc90cccbe),
  3056. 16: uint32(0x4ffa444b),
  3057. 17: uint32(0x80645383),
  3058. 18: uint32(0x0bb76d9a),
  3059. 19: uint32(0xc4297a52),
  3060. 20: uint32(0xc76017e9),
  3061. 21: uint32(0x08fe0021),
  3062. 22: uint32(0x832d3e38),
  3063. 23: uint32(0x4cb329f0),
  3064. 24: uint32(0x85bfe54e),
  3065. 25: uint32(0x4a21f286),
  3066. 26: uint32(0xc1f2cc9f),
  3067. 27: uint32(0x0e6cdb57),
  3068. 28: uint32(0x0d25b6ec),
  3069. 29: uint32(0xc2bba124),
  3070. 30: uint32(0x49689f3d),
  3071. 31: uint32(0x86f688f5),
  3072. 32: uint32(0x9ff48896),
  3073. 33: uint32(0x506a9f5e),
  3074. 34: uint32(0xdbb9a147),
  3075. 35: uint32(0x1427b68f),
  3076. 36: uint32(0x176edb34),
  3077. 37: uint32(0xd8f0ccfc),
  3078. 38: uint32(0x5323f2e5),
  3079. 39: uint32(0x9cbde52d),
  3080. 40: uint32(0x55b12993),
  3081. 41: uint32(0x9a2f3e5b),
  3082. 42: uint32(0x11fc0042),
  3083. 43: uint32(0xde62178a),
  3084. 44: uint32(0xdd2b7a31),
  3085. 45: uint32(0x12b56df9),
  3086. 46: uint32(0x996653e0),
  3087. 47: uint32(0x56f84428),
  3088. 48: uint32(0xd00eccdd),
  3089. 49: uint32(0x1f90db15),
  3090. 50: uint32(0x9443e50c),
  3091. 51: uint32(0x5bddf2c4),
  3092. 52: uint32(0x58949f7f),
  3093. 53: uint32(0x970a88b7),
  3094. 54: uint32(0x1cd9b6ae),
  3095. 55: uint32(0xd347a166),
  3096. 56: uint32(0x1a4b6dd8),
  3097. 57: uint32(0xd5d57a10),
  3098. 58: uint32(0x5e064409),
  3099. 59: uint32(0x919853c1),
  3100. 60: uint32(0x92d13e7a),
  3101. 61: uint32(0x5d4f29b2),
  3102. 62: uint32(0xd69c17ab),
  3103. 63: uint32(0x19020063),
  3104. 64: uint32(0xe498176d),
  3105. 65: uint32(0x2b0600a5),
  3106. 66: uint32(0xa0d53ebc),
  3107. 67: uint32(0x6f4b2974),
  3108. 68: uint32(0x6c0244cf),
  3109. 69: uint32(0xa39c5307),
  3110. 70: uint32(0x284f6d1e),
  3111. 71: uint32(0xe7d17ad6),
  3112. 72: uint32(0x2eddb668),
  3113. 73: uint32(0xe143a1a0),
  3114. 74: uint32(0x6a909fb9),
  3115. 75: uint32(0xa50e8871),
  3116. 76: uint32(0xa647e5ca),
  3117. 77: uint32(0x69d9f202),
  3118. 78: uint32(0xe20acc1b),
  3119. 79: uint32(0x2d94dbd3),
  3120. 80: uint32(0xab625326),
  3121. 81: uint32(0x64fc44ee),
  3122. 82: uint32(0xef2f7af7),
  3123. 83: uint32(0x20b16d3f),
  3124. 84: uint32(0x23f80084),
  3125. 85: uint32(0xec66174c),
  3126. 86: uint32(0x67b52955),
  3127. 87: uint32(0xa82b3e9d),
  3128. 88: uint32(0x6127f223),
  3129. 89: uint32(0xaeb9e5eb),
  3130. 90: uint32(0x256adbf2),
  3131. 91: uint32(0xeaf4cc3a),
  3132. 92: uint32(0xe9bda181),
  3133. 93: uint32(0x2623b649),
  3134. 94: uint32(0xadf08850),
  3135. 95: uint32(0x626e9f98),
  3136. 96: uint32(0x7b6c9ffb),
  3137. 97: uint32(0xb4f28833),
  3138. 98: uint32(0x3f21b62a),
  3139. 99: uint32(0xf0bfa1e2),
  3140. 100: uint32(0xf3f6cc59),
  3141. 101: uint32(0x3c68db91),
  3142. 102: uint32(0xb7bbe588),
  3143. 103: uint32(0x7825f240),
  3144. 104: uint32(0xb1293efe),
  3145. 105: uint32(0x7eb72936),
  3146. 106: uint32(0xf564172f),
  3147. 107: uint32(0x3afa00e7),
  3148. 108: uint32(0x39b36d5c),
  3149. 109: uint32(0xf62d7a94),
  3150. 110: uint32(0x7dfe448d),
  3151. 111: uint32(0xb2605345),
  3152. 112: uint32(0x3496dbb0),
  3153. 113: uint32(0xfb08cc78),
  3154. 114: uint32(0x70dbf261),
  3155. 115: uint32(0xbf45e5a9),
  3156. 116: uint32(0xbc0c8812),
  3157. 117: uint32(0x73929fda),
  3158. 118: uint32(0xf841a1c3),
  3159. 119: uint32(0x37dfb60b),
  3160. 120: uint32(0xfed37ab5),
  3161. 121: uint32(0x314d6d7d),
  3162. 122: uint32(0xba9e5364),
  3163. 123: uint32(0x750044ac),
  3164. 124: uint32(0x76492917),
  3165. 125: uint32(0xb9d73edf),
  3166. 126: uint32(0x320400c6),
  3167. 127: uint32(0xfd9a170e),
  3168. 128: uint32(0x1241289b),
  3169. 129: uint32(0xdddf3f53),
  3170. 130: uint32(0x560c014a),
  3171. 131: uint32(0x99921682),
  3172. 132: uint32(0x9adb7b39),
  3173. 133: uint32(0x55456cf1),
  3174. 134: uint32(0xde9652e8),
  3175. 135: uint32(0x11084520),
  3176. 136: uint32(0xd804899e),
  3177. 137: uint32(0x179a9e56),
  3178. 138: uint32(0x9c49a04f),
  3179. 139: uint32(0x53d7b787),
  3180. 140: uint32(0x509eda3c),
  3181. 141: uint32(0x9f00cdf4),
  3182. 142: uint32(0x14d3f3ed),
  3183. 143: uint32(0xdb4de425),
  3184. 144: uint32(0x5dbb6cd0),
  3185. 145: uint32(0x92257b18),
  3186. 146: uint32(0x19f64501),
  3187. 147: uint32(0xd66852c9),
  3188. 148: uint32(0xd5213f72),
  3189. 149: uint32(0x1abf28ba),
  3190. 150: uint32(0x916c16a3),
  3191. 151: uint32(0x5ef2016b),
  3192. 152: uint32(0x97fecdd5),
  3193. 153: uint32(0x5860da1d),
  3194. 154: uint32(0xd3b3e404),
  3195. 155: uint32(0x1c2df3cc),
  3196. 156: uint32(0x1f649e77),
  3197. 157: uint32(0xd0fa89bf),
  3198. 158: uint32(0x5b29b7a6),
  3199. 159: uint32(0x94b7a06e),
  3200. 160: uint32(0x8db5a00d),
  3201. 161: uint32(0x422bb7c5),
  3202. 162: uint32(0xc9f889dc),
  3203. 163: uint32(0x06669e14),
  3204. 164: uint32(0x052ff3af),
  3205. 165: uint32(0xcab1e467),
  3206. 166: uint32(0x4162da7e),
  3207. 167: uint32(0x8efccdb6),
  3208. 168: uint32(0x47f00108),
  3209. 169: uint32(0x886e16c0),
  3210. 170: uint32(0x03bd28d9),
  3211. 171: uint32(0xcc233f11),
  3212. 172: uint32(0xcf6a52aa),
  3213. 173: uint32(0x00f44562),
  3214. 174: uint32(0x8b277b7b),
  3215. 175: uint32(0x44b96cb3),
  3216. 176: uint32(0xc24fe446),
  3217. 177: uint32(0x0dd1f38e),
  3218. 178: uint32(0x8602cd97),
  3219. 179: uint32(0x499cda5f),
  3220. 180: uint32(0x4ad5b7e4),
  3221. 181: uint32(0x854ba02c),
  3222. 182: uint32(0x0e989e35),
  3223. 183: uint32(0xc10689fd),
  3224. 184: uint32(0x080a4543),
  3225. 185: uint32(0xc794528b),
  3226. 186: uint32(0x4c476c92),
  3227. 187: uint32(0x83d97b5a),
  3228. 188: uint32(0x809016e1),
  3229. 189: uint32(0x4f0e0129),
  3230. 190: uint32(0xc4dd3f30),
  3231. 191: uint32(0x0b4328f8),
  3232. 192: uint32(0xf6d93ff6),
  3233. 193: uint32(0x3947283e),
  3234. 194: uint32(0xb2941627),
  3235. 195: uint32(0x7d0a01ef),
  3236. 196: uint32(0x7e436c54),
  3237. 197: uint32(0xb1dd7b9c),
  3238. 198: uint32(0x3a0e4585),
  3239. 199: uint32(0xf590524d),
  3240. 200: uint32(0x3c9c9ef3),
  3241. 201: uint32(0xf302893b),
  3242. 202: uint32(0x78d1b722),
  3243. 203: uint32(0xb74fa0ea),
  3244. 204: uint32(0xb406cd51),
  3245. 205: uint32(0x7b98da99),
  3246. 206: uint32(0xf04be480),
  3247. 207: uint32(0x3fd5f348),
  3248. 208: uint32(0xb9237bbd),
  3249. 209: uint32(0x76bd6c75),
  3250. 210: uint32(0xfd6e526c),
  3251. 211: uint32(0x32f045a4),
  3252. 212: uint32(0x31b9281f),
  3253. 213: uint32(0xfe273fd7),
  3254. 214: uint32(0x75f401ce),
  3255. 215: uint32(0xba6a1606),
  3256. 216: uint32(0x7366dab8),
  3257. 217: uint32(0xbcf8cd70),
  3258. 218: uint32(0x372bf369),
  3259. 219: uint32(0xf8b5e4a1),
  3260. 220: uint32(0xfbfc891a),
  3261. 221: uint32(0x34629ed2),
  3262. 222: uint32(0xbfb1a0cb),
  3263. 223: uint32(0x702fb703),
  3264. 224: uint32(0x692db760),
  3265. 225: uint32(0xa6b3a0a8),
  3266. 226: uint32(0x2d609eb1),
  3267. 227: uint32(0xe2fe8979),
  3268. 228: uint32(0xe1b7e4c2),
  3269. 229: uint32(0x2e29f30a),
  3270. 230: uint32(0xa5facd13),
  3271. 231: uint32(0x6a64dadb),
  3272. 232: uint32(0xa3681665),
  3273. 233: uint32(0x6cf601ad),
  3274. 234: uint32(0xe7253fb4),
  3275. 235: uint32(0x28bb287c),
  3276. 236: uint32(0x2bf245c7),
  3277. 237: uint32(0xe46c520f),
  3278. 238: uint32(0x6fbf6c16),
  3279. 239: uint32(0xa0217bde),
  3280. 240: uint32(0x26d7f32b),
  3281. 241: uint32(0xe949e4e3),
  3282. 242: uint32(0x629adafa),
  3283. 243: uint32(0xad04cd32),
  3284. 244: uint32(0xae4da089),
  3285. 245: uint32(0x61d3b741),
  3286. 246: uint32(0xea008958),
  3287. 247: uint32(0x259e9e90),
  3288. 248: uint32(0xec92522e),
  3289. 249: uint32(0x230c45e6),
  3290. 250: uint32(0xa8df7bff),
  3291. 251: uint32(0x67416c37),
  3292. 252: uint32(0x6408018c),
  3293. 253: uint32(0xab961644),
  3294. 254: uint32(0x2045285d),
  3295. 255: uint32(0xefdb3f95),
  3296. },
  3297. 6: {
  3298. 1: uint32(0x24825136),
  3299. 2: uint32(0x4904a26c),
  3300. 3: uint32(0x6d86f35a),
  3301. 4: uint32(0x920944d8),
  3302. 5: uint32(0xb68b15ee),
  3303. 6: uint32(0xdb0de6b4),
  3304. 7: uint32(0xff8fb782),
  3305. 8: uint32(0xff638ff1),
  3306. 9: uint32(0xdbe1dec7),
  3307. 10: uint32(0xb6672d9d),
  3308. 11: uint32(0x92e57cab),
  3309. 12: uint32(0x6d6acb29),
  3310. 13: uint32(0x49e89a1f),
  3311. 14: uint32(0x246e6945),
  3312. 15: uint32(0x00ec3873),
  3313. 16: uint32(0x25b619a3),
  3314. 17: uint32(0x01344895),
  3315. 18: uint32(0x6cb2bbcf),
  3316. 19: uint32(0x4830eaf9),
  3317. 20: uint32(0xb7bf5d7b),
  3318. 21: uint32(0x933d0c4d),
  3319. 22: uint32(0xfebbff17),
  3320. 23: uint32(0xda39ae21),
  3321. 24: uint32(0xdad59652),
  3322. 25: uint32(0xfe57c764),
  3323. 26: uint32(0x93d1343e),
  3324. 27: uint32(0xb7536508),
  3325. 28: uint32(0x48dcd28a),
  3326. 29: uint32(0x6c5e83bc),
  3327. 30: uint32(0x01d870e6),
  3328. 31: uint32(0x255a21d0),
  3329. 32: uint32(0x4b6c3346),
  3330. 33: uint32(0x6fee6270),
  3331. 34: uint32(0x0268912a),
  3332. 35: uint32(0x26eac01c),
  3333. 36: uint32(0xd965779e),
  3334. 37: uint32(0xfde726a8),
  3335. 38: uint32(0x9061d5f2),
  3336. 39: uint32(0xb4e384c4),
  3337. 40: uint32(0xb40fbcb7),
  3338. 41: uint32(0x908ded81),
  3339. 42: uint32(0xfd0b1edb),
  3340. 43: uint32(0xd9894fed),
  3341. 44: uint32(0x2606f86f),
  3342. 45: uint32(0x0284a959),
  3343. 46: uint32(0x6f025a03),
  3344. 47: uint32(0x4b800b35),
  3345. 48: uint32(0x6eda2ae5),
  3346. 49: uint32(0x4a587bd3),
  3347. 50: uint32(0x27de8889),
  3348. 51: uint32(0x035cd9bf),
  3349. 52: uint32(0xfcd36e3d),
  3350. 53: uint32(0xd8513f0b),
  3351. 54: uint32(0xb5d7cc51),
  3352. 55: uint32(0x91559d67),
  3353. 56: uint32(0x91b9a514),
  3354. 57: uint32(0xb53bf422),
  3355. 58: uint32(0xd8bd0778),
  3356. 59: uint32(0xfc3f564e),
  3357. 60: uint32(0x03b0e1cc),
  3358. 61: uint32(0x2732b0fa),
  3359. 62: uint32(0x4ab443a0),
  3360. 63: uint32(0x6e361296),
  3361. 64: uint32(0x96d8668c),
  3362. 65: uint32(0xb25a37ba),
  3363. 66: uint32(0xdfdcc4e0),
  3364. 67: uint32(0xfb5e95d6),
  3365. 68: uint32(0x04d12254),
  3366. 69: uint32(0x20537362),
  3367. 70: uint32(0x4dd58038),
  3368. 71: uint32(0x6957d10e),
  3369. 72: uint32(0x69bbe97d),
  3370. 73: uint32(0x4d39b84b),
  3371. 74: uint32(0x20bf4b11),
  3372. 75: uint32(0x043d1a27),
  3373. 76: uint32(0xfbb2ada5),
  3374. 77: uint32(0xdf30fc93),
  3375. 78: uint32(0xb2b60fc9),
  3376. 79: uint32(0x96345eff),
  3377. 80: uint32(0xb36e7f2f),
  3378. 81: uint32(0x97ec2e19),
  3379. 82: uint32(0xfa6add43),
  3380. 83: uint32(0xdee88c75),
  3381. 84: uint32(0x21673bf7),
  3382. 85: uint32(0x05e56ac1),
  3383. 86: uint32(0x6863999b),
  3384. 87: uint32(0x4ce1c8ad),
  3385. 88: uint32(0x4c0df0de),
  3386. 89: uint32(0x688fa1e8),
  3387. 90: uint32(0x050952b2),
  3388. 91: uint32(0x218b0384),
  3389. 92: uint32(0xde04b406),
  3390. 93: uint32(0xfa86e530),
  3391. 94: uint32(0x9700166a),
  3392. 95: uint32(0xb382475c),
  3393. 96: uint32(0xddb455ca),
  3394. 97: uint32(0xf93604fc),
  3395. 98: uint32(0x94b0f7a6),
  3396. 99: uint32(0xb032a690),
  3397. 100: uint32(0x4fbd1112),
  3398. 101: uint32(0x6b3f4024),
  3399. 102: uint32(0x06b9b37e),
  3400. 103: uint32(0x223be248),
  3401. 104: uint32(0x22d7da3b),
  3402. 105: uint32(0x06558b0d),
  3403. 106: uint32(0x6bd37857),
  3404. 107: uint32(0x4f512961),
  3405. 108: uint32(0xb0de9ee3),
  3406. 109: uint32(0x945ccfd5),
  3407. 110: uint32(0xf9da3c8f),
  3408. 111: uint32(0xdd586db9),
  3409. 112: uint32(0xf8024c69),
  3410. 113: uint32(0xdc801d5f),
  3411. 114: uint32(0xb106ee05),
  3412. 115: uint32(0x9584bf33),
  3413. 116: uint32(0x6a0b08b1),
  3414. 117: uint32(0x4e895987),
  3415. 118: uint32(0x230faadd),
  3416. 119: uint32(0x078dfbeb),
  3417. 120: uint32(0x0761c398),
  3418. 121: uint32(0x23e392ae),
  3419. 122: uint32(0x4e6561f4),
  3420. 123: uint32(0x6ae730c2),
  3421. 124: uint32(0x95688740),
  3422. 125: uint32(0xb1ead676),
  3423. 126: uint32(0xdc6c252c),
  3424. 127: uint32(0xf8ee741a),
  3425. 128: uint32(0xf6c1cb59),
  3426. 129: uint32(0xd2439a6f),
  3427. 130: uint32(0xbfc56935),
  3428. 131: uint32(0x9b473803),
  3429. 132: uint32(0x64c88f81),
  3430. 133: uint32(0x404adeb7),
  3431. 134: uint32(0x2dcc2ded),
  3432. 135: uint32(0x094e7cdb),
  3433. 136: uint32(0x09a244a8),
  3434. 137: uint32(0x2d20159e),
  3435. 138: uint32(0x40a6e6c4),
  3436. 139: uint32(0x6424b7f2),
  3437. 140: uint32(0x9bab0070),
  3438. 141: uint32(0xbf295146),
  3439. 142: uint32(0xd2afa21c),
  3440. 143: uint32(0xf62df32a),
  3441. 144: uint32(0xd377d2fa),
  3442. 145: uint32(0xf7f583cc),
  3443. 146: uint32(0x9a737096),
  3444. 147: uint32(0xbef121a0),
  3445. 148: uint32(0x417e9622),
  3446. 149: uint32(0x65fcc714),
  3447. 150: uint32(0x087a344e),
  3448. 151: uint32(0x2cf86578),
  3449. 152: uint32(0x2c145d0b),
  3450. 153: uint32(0x08960c3d),
  3451. 154: uint32(0x6510ff67),
  3452. 155: uint32(0x4192ae51),
  3453. 156: uint32(0xbe1d19d3),
  3454. 157: uint32(0x9a9f48e5),
  3455. 158: uint32(0xf719bbbf),
  3456. 159: uint32(0xd39bea89),
  3457. 160: uint32(0xbdadf81f),
  3458. 161: uint32(0x992fa929),
  3459. 162: uint32(0xf4a95a73),
  3460. 163: uint32(0xd02b0b45),
  3461. 164: uint32(0x2fa4bcc7),
  3462. 165: uint32(0x0b26edf1),
  3463. 166: uint32(0x66a01eab),
  3464. 167: uint32(0x42224f9d),
  3465. 168: uint32(0x42ce77ee),
  3466. 169: uint32(0x664c26d8),
  3467. 170: uint32(0x0bcad582),
  3468. 171: uint32(0x2f4884b4),
  3469. 172: uint32(0xd0c73336),
  3470. 173: uint32(0xf4456200),
  3471. 174: uint32(0x99c3915a),
  3472. 175: uint32(0xbd41c06c),
  3473. 176: uint32(0x981be1bc),
  3474. 177: uint32(0xbc99b08a),
  3475. 178: uint32(0xd11f43d0),
  3476. 179: uint32(0xf59d12e6),
  3477. 180: uint32(0x0a12a564),
  3478. 181: uint32(0x2e90f452),
  3479. 182: uint32(0x43160708),
  3480. 183: uint32(0x6794563e),
  3481. 184: uint32(0x67786e4d),
  3482. 185: uint32(0x43fa3f7b),
  3483. 186: uint32(0x2e7ccc21),
  3484. 187: uint32(0x0afe9d17),
  3485. 188: uint32(0xf5712a95),
  3486. 189: uint32(0xd1f37ba3),
  3487. 190: uint32(0xbc7588f9),
  3488. 191: uint32(0x98f7d9cf),
  3489. 192: uint32(0x6019add5),
  3490. 193: uint32(0x449bfce3),
  3491. 194: uint32(0x291d0fb9),
  3492. 195: uint32(0x0d9f5e8f),
  3493. 196: uint32(0xf210e90d),
  3494. 197: uint32(0xd692b83b),
  3495. 198: uint32(0xbb144b61),
  3496. 199: uint32(0x9f961a57),
  3497. 200: uint32(0x9f7a2224),
  3498. 201: uint32(0xbbf87312),
  3499. 202: uint32(0xd67e8048),
  3500. 203: uint32(0xf2fcd17e),
  3501. 204: uint32(0x0d7366fc),
  3502. 205: uint32(0x29f137ca),
  3503. 206: uint32(0x4477c490),
  3504. 207: uint32(0x60f595a6),
  3505. 208: uint32(0x45afb476),
  3506. 209: uint32(0x612de540),
  3507. 210: uint32(0x0cab161a),
  3508. 211: uint32(0x2829472c),
  3509. 212: uint32(0xd7a6f0ae),
  3510. 213: uint32(0xf324a198),
  3511. 214: uint32(0x9ea252c2),
  3512. 215: uint32(0xba2003f4),
  3513. 216: uint32(0xbacc3b87),
  3514. 217: uint32(0x9e4e6ab1),
  3515. 218: uint32(0xf3c899eb),
  3516. 219: uint32(0xd74ac8dd),
  3517. 220: uint32(0x28c57f5f),
  3518. 221: uint32(0x0c472e69),
  3519. 222: uint32(0x61c1dd33),
  3520. 223: uint32(0x45438c05),
  3521. 224: uint32(0x2b759e93),
  3522. 225: uint32(0x0ff7cfa5),
  3523. 226: uint32(0x62713cff),
  3524. 227: uint32(0x46f36dc9),
  3525. 228: uint32(0xb97cda4b),
  3526. 229: uint32(0x9dfe8b7d),
  3527. 230: uint32(0xf0787827),
  3528. 231: uint32(0xd4fa2911),
  3529. 232: uint32(0xd4161162),
  3530. 233: uint32(0xf0944054),
  3531. 234: uint32(0x9d12b30e),
  3532. 235: uint32(0xb990e238),
  3533. 236: uint32(0x461f55ba),
  3534. 237: uint32(0x629d048c),
  3535. 238: uint32(0x0f1bf7d6),
  3536. 239: uint32(0x2b99a6e0),
  3537. 240: uint32(0x0ec38730),
  3538. 241: uint32(0x2a41d606),
  3539. 242: uint32(0x47c7255c),
  3540. 243: uint32(0x6345746a),
  3541. 244: uint32(0x9ccac3e8),
  3542. 245: uint32(0xb84892de),
  3543. 246: uint32(0xd5ce6184),
  3544. 247: uint32(0xf14c30b2),
  3545. 248: uint32(0xf1a008c1),
  3546. 249: uint32(0xd52259f7),
  3547. 250: uint32(0xb8a4aaad),
  3548. 251: uint32(0x9c26fb9b),
  3549. 252: uint32(0x63a94c19),
  3550. 253: uint32(0x472b1d2f),
  3551. 254: uint32(0x2aadee75),
  3552. 255: uint32(0x0e2fbf43),
  3553. },
  3554. 7: {
  3555. 1: uint32(0x36f290f3),
  3556. 2: uint32(0x6de521e6),
  3557. 3: uint32(0x5b17b115),
  3558. 4: uint32(0xdbca43cc),
  3559. 5: uint32(0xed38d33f),
  3560. 6: uint32(0xb62f622a),
  3561. 7: uint32(0x80ddf2d9),
  3562. 8: uint32(0x6ce581d9),
  3563. 9: uint32(0x5a17112a),
  3564. 10: uint32(0x0100a03f),
  3565. 11: uint32(0x37f230cc),
  3566. 12: uint32(0xb72fc215),
  3567. 13: uint32(0x81dd52e6),
  3568. 14: uint32(0xdacae3f3),
  3569. 15: uint32(0xec387300),
  3570. 16: uint32(0xd9cb03b2),
  3571. 17: uint32(0xef399341),
  3572. 18: uint32(0xb42e2254),
  3573. 19: uint32(0x82dcb2a7),
  3574. 20: uint32(0x0201407e),
  3575. 21: uint32(0x34f3d08d),
  3576. 22: uint32(0x6fe46198),
  3577. 23: uint32(0x5916f16b),
  3578. 24: uint32(0xb52e826b),
  3579. 25: uint32(0x83dc1298),
  3580. 26: uint32(0xd8cba38d),
  3581. 27: uint32(0xee39337e),
  3582. 28: uint32(0x6ee4c1a7),
  3583. 29: uint32(0x58165154),
  3584. 30: uint32(0x0301e041),
  3585. 31: uint32(0x35f370b2),
  3586. 32: uint32(0x68e70125),
  3587. 33: uint32(0x5e1591d6),
  3588. 34: uint32(0x050220c3),
  3589. 35: uint32(0x33f0b030),
  3590. 36: uint32(0xb32d42e9),
  3591. 37: uint32(0x85dfd21a),
  3592. 38: uint32(0xdec8630f),
  3593. 39: uint32(0xe83af3fc),
  3594. 40: uint32(0x040280fc),
  3595. 41: uint32(0x32f0100f),
  3596. 42: uint32(0x69e7a11a),
  3597. 43: uint32(0x5f1531e9),
  3598. 44: uint32(0xdfc8c330),
  3599. 45: uint32(0xe93a53c3),
  3600. 46: uint32(0xb22de2d6),
  3601. 47: uint32(0x84df7225),
  3602. 48: uint32(0xb12c0297),
  3603. 49: uint32(0x87de9264),
  3604. 50: uint32(0xdcc92371),
  3605. 51: uint32(0xea3bb382),
  3606. 52: uint32(0x6ae6415b),
  3607. 53: uint32(0x5c14d1a8),
  3608. 54: uint32(0x070360bd),
  3609. 55: uint32(0x31f1f04e),
  3610. 56: uint32(0xddc9834e),
  3611. 57: uint32(0xeb3b13bd),
  3612. 58: uint32(0xb02ca2a8),
  3613. 59: uint32(0x86de325b),
  3614. 60: uint32(0x0603c082),
  3615. 61: uint32(0x30f15071),
  3616. 62: uint32(0x6be6e164),
  3617. 63: uint32(0x5d147197),
  3618. 64: uint32(0xd1ce024a),
  3619. 65: uint32(0xe73c92b9),
  3620. 66: uint32(0xbc2b23ac),
  3621. 67: uint32(0x8ad9b35f),
  3622. 68: uint32(0x0a044186),
  3623. 69: uint32(0x3cf6d175),
  3624. 70: uint32(0x67e16060),
  3625. 71: uint32(0x5113f093),
  3626. 72: uint32(0xbd2b8393),
  3627. 73: uint32(0x8bd91360),
  3628. 74: uint32(0xd0cea275),
  3629. 75: uint32(0xe63c3286),
  3630. 76: uint32(0x66e1c05f),
  3631. 77: uint32(0x501350ac),
  3632. 78: uint32(0x0b04e1b9),
  3633. 79: uint32(0x3df6714a),
  3634. 80: uint32(0x080501f8),
  3635. 81: uint32(0x3ef7910b),
  3636. 82: uint32(0x65e0201e),
  3637. 83: uint32(0x5312b0ed),
  3638. 84: uint32(0xd3cf4234),
  3639. 85: uint32(0xe53dd2c7),
  3640. 86: uint32(0xbe2a63d2),
  3641. 87: uint32(0x88d8f321),
  3642. 88: uint32(0x64e08021),
  3643. 89: uint32(0x521210d2),
  3644. 90: uint32(0x0905a1c7),
  3645. 91: uint32(0x3ff73134),
  3646. 92: uint32(0xbf2ac3ed),
  3647. 93: uint32(0x89d8531e),
  3648. 94: uint32(0xd2cfe20b),
  3649. 95: uint32(0xe43d72f8),
  3650. 96: uint32(0xb929036f),
  3651. 97: uint32(0x8fdb939c),
  3652. 98: uint32(0xd4cc2289),
  3653. 99: uint32(0xe23eb27a),
  3654. 100: uint32(0x62e340a3),
  3655. 101: uint32(0x5411d050),
  3656. 102: uint32(0x0f066145),
  3657. 103: uint32(0x39f4f1b6),
  3658. 104: uint32(0xd5cc82b6),
  3659. 105: uint32(0xe33e1245),
  3660. 106: uint32(0xb829a350),
  3661. 107: uint32(0x8edb33a3),
  3662. 108: uint32(0x0e06c17a),
  3663. 109: uint32(0x38f45189),
  3664. 110: uint32(0x63e3e09c),
  3665. 111: uint32(0x5511706f),
  3666. 112: uint32(0x60e200dd),
  3667. 113: uint32(0x5610902e),
  3668. 114: uint32(0x0d07213b),
  3669. 115: uint32(0x3bf5b1c8),
  3670. 116: uint32(0xbb284311),
  3671. 117: uint32(0x8ddad3e2),
  3672. 118: uint32(0xd6cd62f7),
  3673. 119: uint32(0xe03ff204),
  3674. 120: uint32(0x0c078104),
  3675. 121: uint32(0x3af511f7),
  3676. 122: uint32(0x61e2a0e2),
  3677. 123: uint32(0x57103011),
  3678. 124: uint32(0xd7cdc2c8),
  3679. 125: uint32(0xe13f523b),
  3680. 126: uint32(0xba28e32e),
  3681. 127: uint32(0x8cda73dd),
  3682. 128: uint32(0x78ed02d5),
  3683. 129: uint32(0x4e1f9226),
  3684. 130: uint32(0x15082333),
  3685. 131: uint32(0x23fab3c0),
  3686. 132: uint32(0xa3274119),
  3687. 133: uint32(0x95d5d1ea),
  3688. 134: uint32(0xcec260ff),
  3689. 135: uint32(0xf830f00c),
  3690. 136: uint32(0x1408830c),
  3691. 137: uint32(0x22fa13ff),
  3692. 138: uint32(0x79eda2ea),
  3693. 139: uint32(0x4f1f3219),
  3694. 140: uint32(0xcfc2c0c0),
  3695. 141: uint32(0xf9305033),
  3696. 142: uint32(0xa227e126),
  3697. 143: uint32(0x94d571d5),
  3698. 144: uint32(0xa1260167),
  3699. 145: uint32(0x97d49194),
  3700. 146: uint32(0xccc32081),
  3701. 147: uint32(0xfa31b072),
  3702. 148: uint32(0x7aec42ab),
  3703. 149: uint32(0x4c1ed258),
  3704. 150: uint32(0x1709634d),
  3705. 151: uint32(0x21fbf3be),
  3706. 152: uint32(0xcdc380be),
  3707. 153: uint32(0xfb31104d),
  3708. 154: uint32(0xa026a158),
  3709. 155: uint32(0x96d431ab),
  3710. 156: uint32(0x1609c372),
  3711. 157: uint32(0x20fb5381),
  3712. 158: uint32(0x7bece294),
  3713. 159: uint32(0x4d1e7267),
  3714. 160: uint32(0x100a03f0),
  3715. 161: uint32(0x26f89303),
  3716. 162: uint32(0x7def2216),
  3717. 163: uint32(0x4b1db2e5),
  3718. 164: uint32(0xcbc0403c),
  3719. 165: uint32(0xfd32d0cf),
  3720. 166: uint32(0xa62561da),
  3721. 167: uint32(0x90d7f129),
  3722. 168: uint32(0x7cef8229),
  3723. 169: uint32(0x4a1d12da),
  3724. 170: uint32(0x110aa3cf),
  3725. 171: uint32(0x27f8333c),
  3726. 172: uint32(0xa725c1e5),
  3727. 173: uint32(0x91d75116),
  3728. 174: uint32(0xcac0e003),
  3729. 175: uint32(0xfc3270f0),
  3730. 176: uint32(0xc9c10042),
  3731. 177: uint32(0xff3390b1),
  3732. 178: uint32(0xa42421a4),
  3733. 179: uint32(0x92d6b157),
  3734. 180: uint32(0x120b438e),
  3735. 181: uint32(0x24f9d37d),
  3736. 182: uint32(0x7fee6268),
  3737. 183: uint32(0x491cf29b),
  3738. 184: uint32(0xa524819b),
  3739. 185: uint32(0x93d61168),
  3740. 186: uint32(0xc8c1a07d),
  3741. 187: uint32(0xfe33308e),
  3742. 188: uint32(0x7eeec257),
  3743. 189: uint32(0x481c52a4),
  3744. 190: uint32(0x130be3b1),
  3745. 191: uint32(0x25f97342),
  3746. 192: uint32(0xa923009f),
  3747. 193: uint32(0x9fd1906c),
  3748. 194: uint32(0xc4c62179),
  3749. 195: uint32(0xf234b18a),
  3750. 196: uint32(0x72e94353),
  3751. 197: uint32(0x441bd3a0),
  3752. 198: uint32(0x1f0c62b5),
  3753. 199: uint32(0x29fef246),
  3754. 200: uint32(0xc5c68146),
  3755. 201: uint32(0xf33411b5),
  3756. 202: uint32(0xa823a0a0),
  3757. 203: uint32(0x9ed13053),
  3758. 204: uint32(0x1e0cc28a),
  3759. 205: uint32(0x28fe5279),
  3760. 206: uint32(0x73e9e36c),
  3761. 207: uint32(0x451b739f),
  3762. 208: uint32(0x70e8032d),
  3763. 209: uint32(0x461a93de),
  3764. 210: uint32(0x1d0d22cb),
  3765. 211: uint32(0x2bffb238),
  3766. 212: uint32(0xab2240e1),
  3767. 213: uint32(0x9dd0d012),
  3768. 214: uint32(0xc6c76107),
  3769. 215: uint32(0xf035f1f4),
  3770. 216: uint32(0x1c0d82f4),
  3771. 217: uint32(0x2aff1207),
  3772. 218: uint32(0x71e8a312),
  3773. 219: uint32(0x471a33e1),
  3774. 220: uint32(0xc7c7c138),
  3775. 221: uint32(0xf13551cb),
  3776. 222: uint32(0xaa22e0de),
  3777. 223: uint32(0x9cd0702d),
  3778. 224: uint32(0xc1c401ba),
  3779. 225: uint32(0xf7369149),
  3780. 226: uint32(0xac21205c),
  3781. 227: uint32(0x9ad3b0af),
  3782. 228: uint32(0x1a0e4276),
  3783. 229: uint32(0x2cfcd285),
  3784. 230: uint32(0x77eb6390),
  3785. 231: uint32(0x4119f363),
  3786. 232: uint32(0xad218063),
  3787. 233: uint32(0x9bd31090),
  3788. 234: uint32(0xc0c4a185),
  3789. 235: uint32(0xf6363176),
  3790. 236: uint32(0x76ebc3af),
  3791. 237: uint32(0x4019535c),
  3792. 238: uint32(0x1b0ee249),
  3793. 239: uint32(0x2dfc72ba),
  3794. 240: uint32(0x180f0208),
  3795. 241: uint32(0x2efd92fb),
  3796. 242: uint32(0x75ea23ee),
  3797. 243: uint32(0x4318b31d),
  3798. 244: uint32(0xc3c541c4),
  3799. 245: uint32(0xf537d137),
  3800. 246: uint32(0xae206022),
  3801. 247: uint32(0x98d2f0d1),
  3802. 248: uint32(0x74ea83d1),
  3803. 249: uint32(0x42181322),
  3804. 250: uint32(0x190fa237),
  3805. 251: uint32(0x2ffd32c4),
  3806. 252: uint32(0xaf20c01d),
  3807. 253: uint32(0x99d250ee),
  3808. 254: uint32(0xc2c5e1fb),
  3809. 255: uint32(0xf4377108),
  3810. },
  3811. }
  3812. var _crc_braid_big_table = [8][256]Tz_word_t{
  3813. 0: {
  3814. 1: uint64(0xf390f23600000000),
  3815. 2: uint64(0xe621e56d00000000),
  3816. 3: uint64(0x15b1175b00000000),
  3817. 4: uint64(0xcc43cadb00000000),
  3818. 5: uint64(0x3fd338ed00000000),
  3819. 6: uint64(0x2a622fb600000000),
  3820. 7: uint64(0xd9f2dd8000000000),
  3821. 8: uint64(0xd981e56c00000000),
  3822. 9: uint64(0x2a11175a00000000),
  3823. 10: uint64(0x3fa0000100000000),
  3824. 11: uint64(0xcc30f23700000000),
  3825. 12: uint64(0x15c22fb700000000),
  3826. 13: uint64(0xe652dd8100000000),
  3827. 14: uint64(0xf3e3cada00000000),
  3828. 15: uint64(0x007338ec00000000),
  3829. 16: uint64(0xb203cbd900000000),
  3830. 17: uint64(0x419339ef00000000),
  3831. 18: uint64(0x54222eb400000000),
  3832. 19: uint64(0xa7b2dc8200000000),
  3833. 20: uint64(0x7e40010200000000),
  3834. 21: uint64(0x8dd0f33400000000),
  3835. 22: uint64(0x9861e46f00000000),
  3836. 23: uint64(0x6bf1165900000000),
  3837. 24: uint64(0x6b822eb500000000),
  3838. 25: uint64(0x9812dc8300000000),
  3839. 26: uint64(0x8da3cbd800000000),
  3840. 27: uint64(0x7e3339ee00000000),
  3841. 28: uint64(0xa7c1e46e00000000),
  3842. 29: uint64(0x5451165800000000),
  3843. 30: uint64(0x41e0010300000000),
  3844. 31: uint64(0xb270f33500000000),
  3845. 32: uint64(0x2501e76800000000),
  3846. 33: uint64(0xd691155e00000000),
  3847. 34: uint64(0xc320020500000000),
  3848. 35: uint64(0x30b0f03300000000),
  3849. 36: uint64(0xe9422db300000000),
  3850. 37: uint64(0x1ad2df8500000000),
  3851. 38: uint64(0x0f63c8de00000000),
  3852. 39: uint64(0xfcf33ae800000000),
  3853. 40: uint64(0xfc80020400000000),
  3854. 41: uint64(0x0f10f03200000000),
  3855. 42: uint64(0x1aa1e76900000000),
  3856. 43: uint64(0xe931155f00000000),
  3857. 44: uint64(0x30c3c8df00000000),
  3858. 45: uint64(0xc3533ae900000000),
  3859. 46: uint64(0xd6e22db200000000),
  3860. 47: uint64(0x2572df8400000000),
  3861. 48: uint64(0x97022cb100000000),
  3862. 49: uint64(0x6492de8700000000),
  3863. 50: uint64(0x7123c9dc00000000),
  3864. 51: uint64(0x82b33bea00000000),
  3865. 52: uint64(0x5b41e66a00000000),
  3866. 53: uint64(0xa8d1145c00000000),
  3867. 54: uint64(0xbd60030700000000),
  3868. 55: uint64(0x4ef0f13100000000),
  3869. 56: uint64(0x4e83c9dd00000000),
  3870. 57: uint64(0xbd133beb00000000),
  3871. 58: uint64(0xa8a22cb000000000),
  3872. 59: uint64(0x5b32de8600000000),
  3873. 60: uint64(0x82c0030600000000),
  3874. 61: uint64(0x7150f13000000000),
  3875. 62: uint64(0x64e1e66b00000000),
  3876. 63: uint64(0x9771145d00000000),
  3877. 64: uint64(0x4a02ced100000000),
  3878. 65: uint64(0xb9923ce700000000),
  3879. 66: uint64(0xac232bbc00000000),
  3880. 67: uint64(0x5fb3d98a00000000),
  3881. 68: uint64(0x8641040a00000000),
  3882. 69: uint64(0x75d1f63c00000000),
  3883. 70: uint64(0x6060e16700000000),
  3884. 71: uint64(0x93f0135100000000),
  3885. 72: uint64(0x93832bbd00000000),
  3886. 73: uint64(0x6013d98b00000000),
  3887. 74: uint64(0x75a2ced000000000),
  3888. 75: uint64(0x86323ce600000000),
  3889. 76: uint64(0x5fc0e16600000000),
  3890. 77: uint64(0xac50135000000000),
  3891. 78: uint64(0xb9e1040b00000000),
  3892. 79: uint64(0x4a71f63d00000000),
  3893. 80: uint64(0xf801050800000000),
  3894. 81: uint64(0x0b91f73e00000000),
  3895. 82: uint64(0x1e20e06500000000),
  3896. 83: uint64(0xedb0125300000000),
  3897. 84: uint64(0x3442cfd300000000),
  3898. 85: uint64(0xc7d23de500000000),
  3899. 86: uint64(0xd2632abe00000000),
  3900. 87: uint64(0x21f3d88800000000),
  3901. 88: uint64(0x2180e06400000000),
  3902. 89: uint64(0xd210125200000000),
  3903. 90: uint64(0xc7a1050900000000),
  3904. 91: uint64(0x3431f73f00000000),
  3905. 92: uint64(0xedc32abf00000000),
  3906. 93: uint64(0x1e53d88900000000),
  3907. 94: uint64(0x0be2cfd200000000),
  3908. 95: uint64(0xf8723de400000000),
  3909. 96: uint64(0x6f0329b900000000),
  3910. 97: uint64(0x9c93db8f00000000),
  3911. 98: uint64(0x8922ccd400000000),
  3912. 99: uint64(0x7ab23ee200000000),
  3913. 100: uint64(0xa340e36200000000),
  3914. 101: uint64(0x50d0115400000000),
  3915. 102: uint64(0x4561060f00000000),
  3916. 103: uint64(0xb6f1f43900000000),
  3917. 104: uint64(0xb682ccd500000000),
  3918. 105: uint64(0x45123ee300000000),
  3919. 106: uint64(0x50a329b800000000),
  3920. 107: uint64(0xa333db8e00000000),
  3921. 108: uint64(0x7ac1060e00000000),
  3922. 109: uint64(0x8951f43800000000),
  3923. 110: uint64(0x9ce0e36300000000),
  3924. 111: uint64(0x6f70115500000000),
  3925. 112: uint64(0xdd00e26000000000),
  3926. 113: uint64(0x2e90105600000000),
  3927. 114: uint64(0x3b21070d00000000),
  3928. 115: uint64(0xc8b1f53b00000000),
  3929. 116: uint64(0x114328bb00000000),
  3930. 117: uint64(0xe2d3da8d00000000),
  3931. 118: uint64(0xf762cdd600000000),
  3932. 119: uint64(0x04f23fe000000000),
  3933. 120: uint64(0x0481070c00000000),
  3934. 121: uint64(0xf711f53a00000000),
  3935. 122: uint64(0xe2a0e26100000000),
  3936. 123: uint64(0x1130105700000000),
  3937. 124: uint64(0xc8c2cdd700000000),
  3938. 125: uint64(0x3b523fe100000000),
  3939. 126: uint64(0x2ee328ba00000000),
  3940. 127: uint64(0xdd73da8c00000000),
  3941. 128: uint64(0xd502ed7800000000),
  3942. 129: uint64(0x26921f4e00000000),
  3943. 130: uint64(0x3323081500000000),
  3944. 131: uint64(0xc0b3fa2300000000),
  3945. 132: uint64(0x194127a300000000),
  3946. 133: uint64(0xead1d59500000000),
  3947. 134: uint64(0xff60c2ce00000000),
  3948. 135: uint64(0x0cf030f800000000),
  3949. 136: uint64(0x0c83081400000000),
  3950. 137: uint64(0xff13fa2200000000),
  3951. 138: uint64(0xeaa2ed7900000000),
  3952. 139: uint64(0x19321f4f00000000),
  3953. 140: uint64(0xc0c0c2cf00000000),
  3954. 141: uint64(0x335030f900000000),
  3955. 142: uint64(0x26e127a200000000),
  3956. 143: uint64(0xd571d59400000000),
  3957. 144: uint64(0x670126a100000000),
  3958. 145: uint64(0x9491d49700000000),
  3959. 146: uint64(0x8120c3cc00000000),
  3960. 147: uint64(0x72b031fa00000000),
  3961. 148: uint64(0xab42ec7a00000000),
  3962. 149: uint64(0x58d21e4c00000000),
  3963. 150: uint64(0x4d63091700000000),
  3964. 151: uint64(0xbef3fb2100000000),
  3965. 152: uint64(0xbe80c3cd00000000),
  3966. 153: uint64(0x4d1031fb00000000),
  3967. 154: uint64(0x58a126a000000000),
  3968. 155: uint64(0xab31d49600000000),
  3969. 156: uint64(0x72c3091600000000),
  3970. 157: uint64(0x8153fb2000000000),
  3971. 158: uint64(0x94e2ec7b00000000),
  3972. 159: uint64(0x67721e4d00000000),
  3973. 160: uint64(0xf0030a1000000000),
  3974. 161: uint64(0x0393f82600000000),
  3975. 162: uint64(0x1622ef7d00000000),
  3976. 163: uint64(0xe5b21d4b00000000),
  3977. 164: uint64(0x3c40c0cb00000000),
  3978. 165: uint64(0xcfd032fd00000000),
  3979. 166: uint64(0xda6125a600000000),
  3980. 167: uint64(0x29f1d79000000000),
  3981. 168: uint64(0x2982ef7c00000000),
  3982. 169: uint64(0xda121d4a00000000),
  3983. 170: uint64(0xcfa30a1100000000),
  3984. 171: uint64(0x3c33f82700000000),
  3985. 172: uint64(0xe5c125a700000000),
  3986. 173: uint64(0x1651d79100000000),
  3987. 174: uint64(0x03e0c0ca00000000),
  3988. 175: uint64(0xf07032fc00000000),
  3989. 176: uint64(0x4200c1c900000000),
  3990. 177: uint64(0xb19033ff00000000),
  3991. 178: uint64(0xa42124a400000000),
  3992. 179: uint64(0x57b1d69200000000),
  3993. 180: uint64(0x8e430b1200000000),
  3994. 181: uint64(0x7dd3f92400000000),
  3995. 182: uint64(0x6862ee7f00000000),
  3996. 183: uint64(0x9bf21c4900000000),
  3997. 184: uint64(0x9b8124a500000000),
  3998. 185: uint64(0x6811d69300000000),
  3999. 186: uint64(0x7da0c1c800000000),
  4000. 187: uint64(0x8e3033fe00000000),
  4001. 188: uint64(0x57c2ee7e00000000),
  4002. 189: uint64(0xa4521c4800000000),
  4003. 190: uint64(0xb1e30b1300000000),
  4004. 191: uint64(0x4273f92500000000),
  4005. 192: uint64(0x9f0023a900000000),
  4006. 193: uint64(0x6c90d19f00000000),
  4007. 194: uint64(0x7921c6c400000000),
  4008. 195: uint64(0x8ab134f200000000),
  4009. 196: uint64(0x5343e97200000000),
  4010. 197: uint64(0xa0d31b4400000000),
  4011. 198: uint64(0xb5620c1f00000000),
  4012. 199: uint64(0x46f2fe2900000000),
  4013. 200: uint64(0x4681c6c500000000),
  4014. 201: uint64(0xb51134f300000000),
  4015. 202: uint64(0xa0a023a800000000),
  4016. 203: uint64(0x5330d19e00000000),
  4017. 204: uint64(0x8ac20c1e00000000),
  4018. 205: uint64(0x7952fe2800000000),
  4019. 206: uint64(0x6ce3e97300000000),
  4020. 207: uint64(0x9f731b4500000000),
  4021. 208: uint64(0x2d03e87000000000),
  4022. 209: uint64(0xde931a4600000000),
  4023. 210: uint64(0xcb220d1d00000000),
  4024. 211: uint64(0x38b2ff2b00000000),
  4025. 212: uint64(0xe14022ab00000000),
  4026. 213: uint64(0x12d0d09d00000000),
  4027. 214: uint64(0x0761c7c600000000),
  4028. 215: uint64(0xf4f135f000000000),
  4029. 216: uint64(0xf4820d1c00000000),
  4030. 217: uint64(0x0712ff2a00000000),
  4031. 218: uint64(0x12a3e87100000000),
  4032. 219: uint64(0xe1331a4700000000),
  4033. 220: uint64(0x38c1c7c700000000),
  4034. 221: uint64(0xcb5135f100000000),
  4035. 222: uint64(0xdee022aa00000000),
  4036. 223: uint64(0x2d70d09c00000000),
  4037. 224: uint64(0xba01c4c100000000),
  4038. 225: uint64(0x499136f700000000),
  4039. 226: uint64(0x5c2021ac00000000),
  4040. 227: uint64(0xafb0d39a00000000),
  4041. 228: uint64(0x76420e1a00000000),
  4042. 229: uint64(0x85d2fc2c00000000),
  4043. 230: uint64(0x9063eb7700000000),
  4044. 231: uint64(0x63f3194100000000),
  4045. 232: uint64(0x638021ad00000000),
  4046. 233: uint64(0x9010d39b00000000),
  4047. 234: uint64(0x85a1c4c000000000),
  4048. 235: uint64(0x763136f600000000),
  4049. 236: uint64(0xafc3eb7600000000),
  4050. 237: uint64(0x5c53194000000000),
  4051. 238: uint64(0x49e20e1b00000000),
  4052. 239: uint64(0xba72fc2d00000000),
  4053. 240: uint64(0x08020f1800000000),
  4054. 241: uint64(0xfb92fd2e00000000),
  4055. 242: uint64(0xee23ea7500000000),
  4056. 243: uint64(0x1db3184300000000),
  4057. 244: uint64(0xc441c5c300000000),
  4058. 245: uint64(0x37d137f500000000),
  4059. 246: uint64(0x226020ae00000000),
  4060. 247: uint64(0xd1f0d29800000000),
  4061. 248: uint64(0xd183ea7400000000),
  4062. 249: uint64(0x2213184200000000),
  4063. 250: uint64(0x37a20f1900000000),
  4064. 251: uint64(0xc432fd2f00000000),
  4065. 252: uint64(0x1dc020af00000000),
  4066. 253: uint64(0xee50d29900000000),
  4067. 254: uint64(0xfbe1c5c200000000),
  4068. 255: uint64(0x087137f400000000),
  4069. },
  4070. 1: {
  4071. 1: uint64(0x3651822400000000),
  4072. 2: uint64(0x6ca2044900000000),
  4073. 3: uint64(0x5af3866d00000000),
  4074. 4: uint64(0xd844099200000000),
  4075. 5: uint64(0xee158bb600000000),
  4076. 6: uint64(0xb4e60ddb00000000),
  4077. 7: uint64(0x82b78fff00000000),
  4078. 8: uint64(0xf18f63ff00000000),
  4079. 9: uint64(0xc7dee1db00000000),
  4080. 10: uint64(0x9d2d67b600000000),
  4081. 11: uint64(0xab7ce59200000000),
  4082. 12: uint64(0x29cb6a6d00000000),
  4083. 13: uint64(0x1f9ae84900000000),
  4084. 14: uint64(0x45696e2400000000),
  4085. 15: uint64(0x7338ec0000000000),
  4086. 16: uint64(0xa319b62500000000),
  4087. 17: uint64(0x9548340100000000),
  4088. 18: uint64(0xcfbbb26c00000000),
  4089. 19: uint64(0xf9ea304800000000),
  4090. 20: uint64(0x7b5dbfb700000000),
  4091. 21: uint64(0x4d0c3d9300000000),
  4092. 22: uint64(0x17ffbbfe00000000),
  4093. 23: uint64(0x21ae39da00000000),
  4094. 24: uint64(0x5296d5da00000000),
  4095. 25: uint64(0x64c757fe00000000),
  4096. 26: uint64(0x3e34d19300000000),
  4097. 27: uint64(0x086553b700000000),
  4098. 28: uint64(0x8ad2dc4800000000),
  4099. 29: uint64(0xbc835e6c00000000),
  4100. 30: uint64(0xe670d80100000000),
  4101. 31: uint64(0xd0215a2500000000),
  4102. 32: uint64(0x46336c4b00000000),
  4103. 33: uint64(0x7062ee6f00000000),
  4104. 34: uint64(0x2a91680200000000),
  4105. 35: uint64(0x1cc0ea2600000000),
  4106. 36: uint64(0x9e7765d900000000),
  4107. 37: uint64(0xa826e7fd00000000),
  4108. 38: uint64(0xf2d5619000000000),
  4109. 39: uint64(0xc484e3b400000000),
  4110. 40: uint64(0xb7bc0fb400000000),
  4111. 41: uint64(0x81ed8d9000000000),
  4112. 42: uint64(0xdb1e0bfd00000000),
  4113. 43: uint64(0xed4f89d900000000),
  4114. 44: uint64(0x6ff8062600000000),
  4115. 45: uint64(0x59a9840200000000),
  4116. 46: uint64(0x035a026f00000000),
  4117. 47: uint64(0x350b804b00000000),
  4118. 48: uint64(0xe52ada6e00000000),
  4119. 49: uint64(0xd37b584a00000000),
  4120. 50: uint64(0x8988de2700000000),
  4121. 51: uint64(0xbfd95c0300000000),
  4122. 52: uint64(0x3d6ed3fc00000000),
  4123. 53: uint64(0x0b3f51d800000000),
  4124. 54: uint64(0x51ccd7b500000000),
  4125. 55: uint64(0x679d559100000000),
  4126. 56: uint64(0x14a5b99100000000),
  4127. 57: uint64(0x22f43bb500000000),
  4128. 58: uint64(0x7807bdd800000000),
  4129. 59: uint64(0x4e563ffc00000000),
  4130. 60: uint64(0xcce1b00300000000),
  4131. 61: uint64(0xfab0322700000000),
  4132. 62: uint64(0xa043b44a00000000),
  4133. 63: uint64(0x9612366e00000000),
  4134. 64: uint64(0x8c66d89600000000),
  4135. 65: uint64(0xba375ab200000000),
  4136. 66: uint64(0xe0c4dcdf00000000),
  4137. 67: uint64(0xd6955efb00000000),
  4138. 68: uint64(0x5422d10400000000),
  4139. 69: uint64(0x6273532000000000),
  4140. 70: uint64(0x3880d54d00000000),
  4141. 71: uint64(0x0ed1576900000000),
  4142. 72: uint64(0x7de9bb6900000000),
  4143. 73: uint64(0x4bb8394d00000000),
  4144. 74: uint64(0x114bbf2000000000),
  4145. 75: uint64(0x271a3d0400000000),
  4146. 76: uint64(0xa5adb2fb00000000),
  4147. 77: uint64(0x93fc30df00000000),
  4148. 78: uint64(0xc90fb6b200000000),
  4149. 79: uint64(0xff5e349600000000),
  4150. 80: uint64(0x2f7f6eb300000000),
  4151. 81: uint64(0x192eec9700000000),
  4152. 82: uint64(0x43dd6afa00000000),
  4153. 83: uint64(0x758ce8de00000000),
  4154. 84: uint64(0xf73b672100000000),
  4155. 85: uint64(0xc16ae50500000000),
  4156. 86: uint64(0x9b99636800000000),
  4157. 87: uint64(0xadc8e14c00000000),
  4158. 88: uint64(0xdef00d4c00000000),
  4159. 89: uint64(0xe8a18f6800000000),
  4160. 90: uint64(0xb252090500000000),
  4161. 91: uint64(0x84038b2100000000),
  4162. 92: uint64(0x06b404de00000000),
  4163. 93: uint64(0x30e586fa00000000),
  4164. 94: uint64(0x6a16009700000000),
  4165. 95: uint64(0x5c4782b300000000),
  4166. 96: uint64(0xca55b4dd00000000),
  4167. 97: uint64(0xfc0436f900000000),
  4168. 98: uint64(0xa6f7b09400000000),
  4169. 99: uint64(0x90a632b000000000),
  4170. 100: uint64(0x1211bd4f00000000),
  4171. 101: uint64(0x24403f6b00000000),
  4172. 102: uint64(0x7eb3b90600000000),
  4173. 103: uint64(0x48e23b2200000000),
  4174. 104: uint64(0x3bdad72200000000),
  4175. 105: uint64(0x0d8b550600000000),
  4176. 106: uint64(0x5778d36b00000000),
  4177. 107: uint64(0x6129514f00000000),
  4178. 108: uint64(0xe39edeb000000000),
  4179. 109: uint64(0xd5cf5c9400000000),
  4180. 110: uint64(0x8f3cdaf900000000),
  4181. 111: uint64(0xb96d58dd00000000),
  4182. 112: uint64(0x694c02f800000000),
  4183. 113: uint64(0x5f1d80dc00000000),
  4184. 114: uint64(0x05ee06b100000000),
  4185. 115: uint64(0x33bf849500000000),
  4186. 116: uint64(0xb1080b6a00000000),
  4187. 117: uint64(0x8759894e00000000),
  4188. 118: uint64(0xddaa0f2300000000),
  4189. 119: uint64(0xebfb8d0700000000),
  4190. 120: uint64(0x98c3610700000000),
  4191. 121: uint64(0xae92e32300000000),
  4192. 122: uint64(0xf461654e00000000),
  4193. 123: uint64(0xc230e76a00000000),
  4194. 124: uint64(0x4087689500000000),
  4195. 125: uint64(0x76d6eab100000000),
  4196. 126: uint64(0x2c256cdc00000000),
  4197. 127: uint64(0x1a74eef800000000),
  4198. 128: uint64(0x59cbc1f600000000),
  4199. 129: uint64(0x6f9a43d200000000),
  4200. 130: uint64(0x3569c5bf00000000),
  4201. 131: uint64(0x0338479b00000000),
  4202. 132: uint64(0x818fc86400000000),
  4203. 133: uint64(0xb7de4a4000000000),
  4204. 134: uint64(0xed2dcc2d00000000),
  4205. 135: uint64(0xdb7c4e0900000000),
  4206. 136: uint64(0xa844a20900000000),
  4207. 137: uint64(0x9e15202d00000000),
  4208. 138: uint64(0xc4e6a64000000000),
  4209. 139: uint64(0xf2b7246400000000),
  4210. 140: uint64(0x7000ab9b00000000),
  4211. 141: uint64(0x465129bf00000000),
  4212. 142: uint64(0x1ca2afd200000000),
  4213. 143: uint64(0x2af32df600000000),
  4214. 144: uint64(0xfad277d300000000),
  4215. 145: uint64(0xcc83f5f700000000),
  4216. 146: uint64(0x9670739a00000000),
  4217. 147: uint64(0xa021f1be00000000),
  4218. 148: uint64(0x22967e4100000000),
  4219. 149: uint64(0x14c7fc6500000000),
  4220. 150: uint64(0x4e347a0800000000),
  4221. 151: uint64(0x7865f82c00000000),
  4222. 152: uint64(0x0b5d142c00000000),
  4223. 153: uint64(0x3d0c960800000000),
  4224. 154: uint64(0x67ff106500000000),
  4225. 155: uint64(0x51ae924100000000),
  4226. 156: uint64(0xd3191dbe00000000),
  4227. 157: uint64(0xe5489f9a00000000),
  4228. 158: uint64(0xbfbb19f700000000),
  4229. 159: uint64(0x89ea9bd300000000),
  4230. 160: uint64(0x1ff8adbd00000000),
  4231. 161: uint64(0x29a92f9900000000),
  4232. 162: uint64(0x735aa9f400000000),
  4233. 163: uint64(0x450b2bd000000000),
  4234. 164: uint64(0xc7bca42f00000000),
  4235. 165: uint64(0xf1ed260b00000000),
  4236. 166: uint64(0xab1ea06600000000),
  4237. 167: uint64(0x9d4f224200000000),
  4238. 168: uint64(0xee77ce4200000000),
  4239. 169: uint64(0xd8264c6600000000),
  4240. 170: uint64(0x82d5ca0b00000000),
  4241. 171: uint64(0xb484482f00000000),
  4242. 172: uint64(0x3633c7d000000000),
  4243. 173: uint64(0x006245f400000000),
  4244. 174: uint64(0x5a91c39900000000),
  4245. 175: uint64(0x6cc041bd00000000),
  4246. 176: uint64(0xbce11b9800000000),
  4247. 177: uint64(0x8ab099bc00000000),
  4248. 178: uint64(0xd0431fd100000000),
  4249. 179: uint64(0xe6129df500000000),
  4250. 180: uint64(0x64a5120a00000000),
  4251. 181: uint64(0x52f4902e00000000),
  4252. 182: uint64(0x0807164300000000),
  4253. 183: uint64(0x3e56946700000000),
  4254. 184: uint64(0x4d6e786700000000),
  4255. 185: uint64(0x7b3ffa4300000000),
  4256. 186: uint64(0x21cc7c2e00000000),
  4257. 187: uint64(0x179dfe0a00000000),
  4258. 188: uint64(0x952a71f500000000),
  4259. 189: uint64(0xa37bf3d100000000),
  4260. 190: uint64(0xf98875bc00000000),
  4261. 191: uint64(0xcfd9f79800000000),
  4262. 192: uint64(0xd5ad196000000000),
  4263. 193: uint64(0xe3fc9b4400000000),
  4264. 194: uint64(0xb90f1d2900000000),
  4265. 195: uint64(0x8f5e9f0d00000000),
  4266. 196: uint64(0x0de910f200000000),
  4267. 197: uint64(0x3bb892d600000000),
  4268. 198: uint64(0x614b14bb00000000),
  4269. 199: uint64(0x571a969f00000000),
  4270. 200: uint64(0x24227a9f00000000),
  4271. 201: uint64(0x1273f8bb00000000),
  4272. 202: uint64(0x48807ed600000000),
  4273. 203: uint64(0x7ed1fcf200000000),
  4274. 204: uint64(0xfc66730d00000000),
  4275. 205: uint64(0xca37f12900000000),
  4276. 206: uint64(0x90c4774400000000),
  4277. 207: uint64(0xa695f56000000000),
  4278. 208: uint64(0x76b4af4500000000),
  4279. 209: uint64(0x40e52d6100000000),
  4280. 210: uint64(0x1a16ab0c00000000),
  4281. 211: uint64(0x2c47292800000000),
  4282. 212: uint64(0xaef0a6d700000000),
  4283. 213: uint64(0x98a124f300000000),
  4284. 214: uint64(0xc252a29e00000000),
  4285. 215: uint64(0xf40320ba00000000),
  4286. 216: uint64(0x873bccba00000000),
  4287. 217: uint64(0xb16a4e9e00000000),
  4288. 218: uint64(0xeb99c8f300000000),
  4289. 219: uint64(0xddc84ad700000000),
  4290. 220: uint64(0x5f7fc52800000000),
  4291. 221: uint64(0x692e470c00000000),
  4292. 222: uint64(0x33ddc16100000000),
  4293. 223: uint64(0x058c434500000000),
  4294. 224: uint64(0x939e752b00000000),
  4295. 225: uint64(0xa5cff70f00000000),
  4296. 226: uint64(0xff3c716200000000),
  4297. 227: uint64(0xc96df34600000000),
  4298. 228: uint64(0x4bda7cb900000000),
  4299. 229: uint64(0x7d8bfe9d00000000),
  4300. 230: uint64(0x277878f000000000),
  4301. 231: uint64(0x1129fad400000000),
  4302. 232: uint64(0x621116d400000000),
  4303. 233: uint64(0x544094f000000000),
  4304. 234: uint64(0x0eb3129d00000000),
  4305. 235: uint64(0x38e290b900000000),
  4306. 236: uint64(0xba551f4600000000),
  4307. 237: uint64(0x8c049d6200000000),
  4308. 238: uint64(0xd6f71b0f00000000),
  4309. 239: uint64(0xe0a6992b00000000),
  4310. 240: uint64(0x3087c30e00000000),
  4311. 241: uint64(0x06d6412a00000000),
  4312. 242: uint64(0x5c25c74700000000),
  4313. 243: uint64(0x6a74456300000000),
  4314. 244: uint64(0xe8c3ca9c00000000),
  4315. 245: uint64(0xde9248b800000000),
  4316. 246: uint64(0x8461ced500000000),
  4317. 247: uint64(0xb2304cf100000000),
  4318. 248: uint64(0xc108a0f100000000),
  4319. 249: uint64(0xf75922d500000000),
  4320. 250: uint64(0xadaaa4b800000000),
  4321. 251: uint64(0x9bfb269c00000000),
  4322. 252: uint64(0x194ca96300000000),
  4323. 253: uint64(0x2f1d2b4700000000),
  4324. 254: uint64(0x75eead2a00000000),
  4325. 255: uint64(0x43bf2f0e00000000),
  4326. },
  4327. 2: {
  4328. 1: uint64(0xc8179ecf00000000),
  4329. 2: uint64(0xd1294d4400000000),
  4330. 3: uint64(0x193ed38b00000000),
  4331. 4: uint64(0xa2539a8800000000),
  4332. 5: uint64(0x6a44044700000000),
  4333. 6: uint64(0x737ad7cc00000000),
  4334. 7: uint64(0xbb6d490300000000),
  4335. 8: uint64(0x05a145ca00000000),
  4336. 9: uint64(0xcdb6db0500000000),
  4337. 10: uint64(0xd488088e00000000),
  4338. 11: uint64(0x1c9f964100000000),
  4339. 12: uint64(0xa7f2df4200000000),
  4340. 13: uint64(0x6fe5418d00000000),
  4341. 14: uint64(0x76db920600000000),
  4342. 15: uint64(0xbecc0cc900000000),
  4343. 16: uint64(0x4b44fa4f00000000),
  4344. 17: uint64(0x8353648000000000),
  4345. 18: uint64(0x9a6db70b00000000),
  4346. 19: uint64(0x527a29c400000000),
  4347. 20: uint64(0xe91760c700000000),
  4348. 21: uint64(0x2100fe0800000000),
  4349. 22: uint64(0x383e2d8300000000),
  4350. 23: uint64(0xf029b34c00000000),
  4351. 24: uint64(0x4ee5bf8500000000),
  4352. 25: uint64(0x86f2214a00000000),
  4353. 26: uint64(0x9fccf2c100000000),
  4354. 27: uint64(0x57db6c0e00000000),
  4355. 28: uint64(0xecb6250d00000000),
  4356. 29: uint64(0x24a1bbc200000000),
  4357. 30: uint64(0x3d9f684900000000),
  4358. 31: uint64(0xf588f68600000000),
  4359. 32: uint64(0x9688f49f00000000),
  4360. 33: uint64(0x5e9f6a5000000000),
  4361. 34: uint64(0x47a1b9db00000000),
  4362. 35: uint64(0x8fb6271400000000),
  4363. 36: uint64(0x34db6e1700000000),
  4364. 37: uint64(0xfcccf0d800000000),
  4365. 38: uint64(0xe5f2235300000000),
  4366. 39: uint64(0x2de5bd9c00000000),
  4367. 40: uint64(0x9329b15500000000),
  4368. 41: uint64(0x5b3e2f9a00000000),
  4369. 42: uint64(0x4200fc1100000000),
  4370. 43: uint64(0x8a1762de00000000),
  4371. 44: uint64(0x317a2bdd00000000),
  4372. 45: uint64(0xf96db51200000000),
  4373. 46: uint64(0xe053669900000000),
  4374. 47: uint64(0x2844f85600000000),
  4375. 48: uint64(0xddcc0ed000000000),
  4376. 49: uint64(0x15db901f00000000),
  4377. 50: uint64(0x0ce5439400000000),
  4378. 51: uint64(0xc4f2dd5b00000000),
  4379. 52: uint64(0x7f9f945800000000),
  4380. 53: uint64(0xb7880a9700000000),
  4381. 54: uint64(0xaeb6d91c00000000),
  4382. 55: uint64(0x66a147d300000000),
  4383. 56: uint64(0xd86d4b1a00000000),
  4384. 57: uint64(0x107ad5d500000000),
  4385. 58: uint64(0x0944065e00000000),
  4386. 59: uint64(0xc153989100000000),
  4387. 60: uint64(0x7a3ed19200000000),
  4388. 61: uint64(0xb2294f5d00000000),
  4389. 62: uint64(0xab179cd600000000),
  4390. 63: uint64(0x6300021900000000),
  4391. 64: uint64(0x6d1798e400000000),
  4392. 65: uint64(0xa500062b00000000),
  4393. 66: uint64(0xbc3ed5a000000000),
  4394. 67: uint64(0x74294b6f00000000),
  4395. 68: uint64(0xcf44026c00000000),
  4396. 69: uint64(0x07539ca300000000),
  4397. 70: uint64(0x1e6d4f2800000000),
  4398. 71: uint64(0xd67ad1e700000000),
  4399. 72: uint64(0x68b6dd2e00000000),
  4400. 73: uint64(0xa0a143e100000000),
  4401. 74: uint64(0xb99f906a00000000),
  4402. 75: uint64(0x71880ea500000000),
  4403. 76: uint64(0xcae547a600000000),
  4404. 77: uint64(0x02f2d96900000000),
  4405. 78: uint64(0x1bcc0ae200000000),
  4406. 79: uint64(0xd3db942d00000000),
  4407. 80: uint64(0x265362ab00000000),
  4408. 81: uint64(0xee44fc6400000000),
  4409. 82: uint64(0xf77a2fef00000000),
  4410. 83: uint64(0x3f6db12000000000),
  4411. 84: uint64(0x8400f82300000000),
  4412. 85: uint64(0x4c1766ec00000000),
  4413. 86: uint64(0x5529b56700000000),
  4414. 87: uint64(0x9d3e2ba800000000),
  4415. 88: uint64(0x23f2276100000000),
  4416. 89: uint64(0xebe5b9ae00000000),
  4417. 90: uint64(0xf2db6a2500000000),
  4418. 91: uint64(0x3accf4ea00000000),
  4419. 92: uint64(0x81a1bde900000000),
  4420. 93: uint64(0x49b6232600000000),
  4421. 94: uint64(0x5088f0ad00000000),
  4422. 95: uint64(0x989f6e6200000000),
  4423. 96: uint64(0xfb9f6c7b00000000),
  4424. 97: uint64(0x3388f2b400000000),
  4425. 98: uint64(0x2ab6213f00000000),
  4426. 99: uint64(0xe2a1bff000000000),
  4427. 100: uint64(0x59ccf6f300000000),
  4428. 101: uint64(0x91db683c00000000),
  4429. 102: uint64(0x88e5bbb700000000),
  4430. 103: uint64(0x40f2257800000000),
  4431. 104: uint64(0xfe3e29b100000000),
  4432. 105: uint64(0x3629b77e00000000),
  4433. 106: uint64(0x2f1764f500000000),
  4434. 107: uint64(0xe700fa3a00000000),
  4435. 108: uint64(0x5c6db33900000000),
  4436. 109: uint64(0x947a2df600000000),
  4437. 110: uint64(0x8d44fe7d00000000),
  4438. 111: uint64(0x455360b200000000),
  4439. 112: uint64(0xb0db963400000000),
  4440. 113: uint64(0x78cc08fb00000000),
  4441. 114: uint64(0x61f2db7000000000),
  4442. 115: uint64(0xa9e545bf00000000),
  4443. 116: uint64(0x12880cbc00000000),
  4444. 117: uint64(0xda9f927300000000),
  4445. 118: uint64(0xc3a141f800000000),
  4446. 119: uint64(0x0bb6df3700000000),
  4447. 120: uint64(0xb57ad3fe00000000),
  4448. 121: uint64(0x7d6d4d3100000000),
  4449. 122: uint64(0x64539eba00000000),
  4450. 123: uint64(0xac44007500000000),
  4451. 124: uint64(0x1729497600000000),
  4452. 125: uint64(0xdf3ed7b900000000),
  4453. 126: uint64(0xc600043200000000),
  4454. 127: uint64(0x0e179afd00000000),
  4455. 128: uint64(0x9b28411200000000),
  4456. 129: uint64(0x533fdfdd00000000),
  4457. 130: uint64(0x4a010c5600000000),
  4458. 131: uint64(0x8216929900000000),
  4459. 132: uint64(0x397bdb9a00000000),
  4460. 133: uint64(0xf16c455500000000),
  4461. 134: uint64(0xe85296de00000000),
  4462. 135: uint64(0x2045081100000000),
  4463. 136: uint64(0x9e8904d800000000),
  4464. 137: uint64(0x569e9a1700000000),
  4465. 138: uint64(0x4fa0499c00000000),
  4466. 139: uint64(0x87b7d75300000000),
  4467. 140: uint64(0x3cda9e5000000000),
  4468. 141: uint64(0xf4cd009f00000000),
  4469. 142: uint64(0xedf3d31400000000),
  4470. 143: uint64(0x25e44ddb00000000),
  4471. 144: uint64(0xd06cbb5d00000000),
  4472. 145: uint64(0x187b259200000000),
  4473. 146: uint64(0x0145f61900000000),
  4474. 147: uint64(0xc95268d600000000),
  4475. 148: uint64(0x723f21d500000000),
  4476. 149: uint64(0xba28bf1a00000000),
  4477. 150: uint64(0xa3166c9100000000),
  4478. 151: uint64(0x6b01f25e00000000),
  4479. 152: uint64(0xd5cdfe9700000000),
  4480. 153: uint64(0x1dda605800000000),
  4481. 154: uint64(0x04e4b3d300000000),
  4482. 155: uint64(0xccf32d1c00000000),
  4483. 156: uint64(0x779e641f00000000),
  4484. 157: uint64(0xbf89fad000000000),
  4485. 158: uint64(0xa6b7295b00000000),
  4486. 159: uint64(0x6ea0b79400000000),
  4487. 160: uint64(0x0da0b58d00000000),
  4488. 161: uint64(0xc5b72b4200000000),
  4489. 162: uint64(0xdc89f8c900000000),
  4490. 163: uint64(0x149e660600000000),
  4491. 164: uint64(0xaff32f0500000000),
  4492. 165: uint64(0x67e4b1ca00000000),
  4493. 166: uint64(0x7eda624100000000),
  4494. 167: uint64(0xb6cdfc8e00000000),
  4495. 168: uint64(0x0801f04700000000),
  4496. 169: uint64(0xc0166e8800000000),
  4497. 170: uint64(0xd928bd0300000000),
  4498. 171: uint64(0x113f23cc00000000),
  4499. 172: uint64(0xaa526acf00000000),
  4500. 173: uint64(0x6245f40000000000),
  4501. 174: uint64(0x7b7b278b00000000),
  4502. 175: uint64(0xb36cb94400000000),
  4503. 176: uint64(0x46e44fc200000000),
  4504. 177: uint64(0x8ef3d10d00000000),
  4505. 178: uint64(0x97cd028600000000),
  4506. 179: uint64(0x5fda9c4900000000),
  4507. 180: uint64(0xe4b7d54a00000000),
  4508. 181: uint64(0x2ca04b8500000000),
  4509. 182: uint64(0x359e980e00000000),
  4510. 183: uint64(0xfd8906c100000000),
  4511. 184: uint64(0x43450a0800000000),
  4512. 185: uint64(0x8b5294c700000000),
  4513. 186: uint64(0x926c474c00000000),
  4514. 187: uint64(0x5a7bd98300000000),
  4515. 188: uint64(0xe116908000000000),
  4516. 189: uint64(0x29010e4f00000000),
  4517. 190: uint64(0x303fddc400000000),
  4518. 191: uint64(0xf828430b00000000),
  4519. 192: uint64(0xf63fd9f600000000),
  4520. 193: uint64(0x3e28473900000000),
  4521. 194: uint64(0x271694b200000000),
  4522. 195: uint64(0xef010a7d00000000),
  4523. 196: uint64(0x546c437e00000000),
  4524. 197: uint64(0x9c7bddb100000000),
  4525. 198: uint64(0x85450e3a00000000),
  4526. 199: uint64(0x4d5290f500000000),
  4527. 200: uint64(0xf39e9c3c00000000),
  4528. 201: uint64(0x3b8902f300000000),
  4529. 202: uint64(0x22b7d17800000000),
  4530. 203: uint64(0xeaa04fb700000000),
  4531. 204: uint64(0x51cd06b400000000),
  4532. 205: uint64(0x99da987b00000000),
  4533. 206: uint64(0x80e44bf000000000),
  4534. 207: uint64(0x48f3d53f00000000),
  4535. 208: uint64(0xbd7b23b900000000),
  4536. 209: uint64(0x756cbd7600000000),
  4537. 210: uint64(0x6c526efd00000000),
  4538. 211: uint64(0xa445f03200000000),
  4539. 212: uint64(0x1f28b93100000000),
  4540. 213: uint64(0xd73f27fe00000000),
  4541. 214: uint64(0xce01f47500000000),
  4542. 215: uint64(0x06166aba00000000),
  4543. 216: uint64(0xb8da667300000000),
  4544. 217: uint64(0x70cdf8bc00000000),
  4545. 218: uint64(0x69f32b3700000000),
  4546. 219: uint64(0xa1e4b5f800000000),
  4547. 220: uint64(0x1a89fcfb00000000),
  4548. 221: uint64(0xd29e623400000000),
  4549. 222: uint64(0xcba0b1bf00000000),
  4550. 223: uint64(0x03b72f7000000000),
  4551. 224: uint64(0x60b72d6900000000),
  4552. 225: uint64(0xa8a0b3a600000000),
  4553. 226: uint64(0xb19e602d00000000),
  4554. 227: uint64(0x7989fee200000000),
  4555. 228: uint64(0xc2e4b7e100000000),
  4556. 229: uint64(0x0af3292e00000000),
  4557. 230: uint64(0x13cdfaa500000000),
  4558. 231: uint64(0xdbda646a00000000),
  4559. 232: uint64(0x651668a300000000),
  4560. 233: uint64(0xad01f66c00000000),
  4561. 234: uint64(0xb43f25e700000000),
  4562. 235: uint64(0x7c28bb2800000000),
  4563. 236: uint64(0xc745f22b00000000),
  4564. 237: uint64(0x0f526ce400000000),
  4565. 238: uint64(0x166cbf6f00000000),
  4566. 239: uint64(0xde7b21a000000000),
  4567. 240: uint64(0x2bf3d72600000000),
  4568. 241: uint64(0xe3e449e900000000),
  4569. 242: uint64(0xfada9a6200000000),
  4570. 243: uint64(0x32cd04ad00000000),
  4571. 244: uint64(0x89a04dae00000000),
  4572. 245: uint64(0x41b7d36100000000),
  4573. 246: uint64(0x588900ea00000000),
  4574. 247: uint64(0x909e9e2500000000),
  4575. 248: uint64(0x2e5292ec00000000),
  4576. 249: uint64(0xe6450c2300000000),
  4577. 250: uint64(0xff7bdfa800000000),
  4578. 251: uint64(0x376c416700000000),
  4579. 252: uint64(0x8c01086400000000),
  4580. 253: uint64(0x441696ab00000000),
  4581. 254: uint64(0x5d28452000000000),
  4582. 255: uint64(0x953fdbef00000000),
  4583. },
  4584. 3: {
  4585. 1: uint64(0x95d4709500000000),
  4586. 2: uint64(0x6baf90f100000000),
  4587. 3: uint64(0xfe7be06400000000),
  4588. 4: uint64(0x9758503800000000),
  4589. 5: uint64(0x028c20ad00000000),
  4590. 6: uint64(0xfcf7c0c900000000),
  4591. 7: uint64(0x6923b05c00000000),
  4592. 8: uint64(0x2eb1a07000000000),
  4593. 9: uint64(0xbb65d0e500000000),
  4594. 10: uint64(0x451e308100000000),
  4595. 11: uint64(0xd0ca401400000000),
  4596. 12: uint64(0xb9e9f04800000000),
  4597. 13: uint64(0x2c3d80dd00000000),
  4598. 14: uint64(0xd24660b900000000),
  4599. 15: uint64(0x4792102c00000000),
  4600. 16: uint64(0x5c6241e100000000),
  4601. 17: uint64(0xc9b6317400000000),
  4602. 18: uint64(0x37cdd11000000000),
  4603. 19: uint64(0xa219a18500000000),
  4604. 20: uint64(0xcb3a11d900000000),
  4605. 21: uint64(0x5eee614c00000000),
  4606. 22: uint64(0xa095812800000000),
  4607. 23: uint64(0x3541f1bd00000000),
  4608. 24: uint64(0x72d3e19100000000),
  4609. 25: uint64(0xe707910400000000),
  4610. 26: uint64(0x197c716000000000),
  4611. 27: uint64(0x8ca801f500000000),
  4612. 28: uint64(0xe58bb1a900000000),
  4613. 29: uint64(0x705fc13c00000000),
  4614. 30: uint64(0x8e24215800000000),
  4615. 31: uint64(0x1bf051cd00000000),
  4616. 32: uint64(0xf9c2f31900000000),
  4617. 33: uint64(0x6c16838c00000000),
  4618. 34: uint64(0x926d63e800000000),
  4619. 35: uint64(0x07b9137d00000000),
  4620. 36: uint64(0x6e9aa32100000000),
  4621. 37: uint64(0xfb4ed3b400000000),
  4622. 38: uint64(0x053533d000000000),
  4623. 39: uint64(0x90e1434500000000),
  4624. 40: uint64(0xd773536900000000),
  4625. 41: uint64(0x42a723fc00000000),
  4626. 42: uint64(0xbcdcc39800000000),
  4627. 43: uint64(0x2908b30d00000000),
  4628. 44: uint64(0x402b035100000000),
  4629. 45: uint64(0xd5ff73c400000000),
  4630. 46: uint64(0x2b8493a000000000),
  4631. 47: uint64(0xbe50e33500000000),
  4632. 48: uint64(0xa5a0b2f800000000),
  4633. 49: uint64(0x3074c26d00000000),
  4634. 50: uint64(0xce0f220900000000),
  4635. 51: uint64(0x5bdb529c00000000),
  4636. 52: uint64(0x32f8e2c000000000),
  4637. 53: uint64(0xa72c925500000000),
  4638. 54: uint64(0x5957723100000000),
  4639. 55: uint64(0xcc8302a400000000),
  4640. 56: uint64(0x8b11128800000000),
  4641. 57: uint64(0x1ec5621d00000000),
  4642. 58: uint64(0xe0be827900000000),
  4643. 59: uint64(0x756af2ec00000000),
  4644. 60: uint64(0x1c4942b000000000),
  4645. 61: uint64(0x899d322500000000),
  4646. 62: uint64(0x77e6d24100000000),
  4647. 63: uint64(0xe232a2d400000000),
  4648. 64: uint64(0xf285e73300000000),
  4649. 65: uint64(0x675197a600000000),
  4650. 66: uint64(0x992a77c200000000),
  4651. 67: uint64(0x0cfe075700000000),
  4652. 68: uint64(0x65ddb70b00000000),
  4653. 69: uint64(0xf009c79e00000000),
  4654. 70: uint64(0x0e7227fa00000000),
  4655. 71: uint64(0x9ba6576f00000000),
  4656. 72: uint64(0xdc34474300000000),
  4657. 73: uint64(0x49e037d600000000),
  4658. 74: uint64(0xb79bd7b200000000),
  4659. 75: uint64(0x224fa72700000000),
  4660. 76: uint64(0x4b6c177b00000000),
  4661. 77: uint64(0xdeb867ee00000000),
  4662. 78: uint64(0x20c3878a00000000),
  4663. 79: uint64(0xb517f71f00000000),
  4664. 80: uint64(0xaee7a6d200000000),
  4665. 81: uint64(0x3b33d64700000000),
  4666. 82: uint64(0xc548362300000000),
  4667. 83: uint64(0x509c46b600000000),
  4668. 84: uint64(0x39bff6ea00000000),
  4669. 85: uint64(0xac6b867f00000000),
  4670. 86: uint64(0x5210661b00000000),
  4671. 87: uint64(0xc7c4168e00000000),
  4672. 88: uint64(0x805606a200000000),
  4673. 89: uint64(0x1582763700000000),
  4674. 90: uint64(0xebf9965300000000),
  4675. 91: uint64(0x7e2de6c600000000),
  4676. 92: uint64(0x170e569a00000000),
  4677. 93: uint64(0x82da260f00000000),
  4678. 94: uint64(0x7ca1c66b00000000),
  4679. 95: uint64(0xe975b6fe00000000),
  4680. 96: uint64(0x0b47142a00000000),
  4681. 97: uint64(0x9e9364bf00000000),
  4682. 98: uint64(0x60e884db00000000),
  4683. 99: uint64(0xf53cf44e00000000),
  4684. 100: uint64(0x9c1f441200000000),
  4685. 101: uint64(0x09cb348700000000),
  4686. 102: uint64(0xf7b0d4e300000000),
  4687. 103: uint64(0x6264a47600000000),
  4688. 104: uint64(0x25f6b45a00000000),
  4689. 105: uint64(0xb022c4cf00000000),
  4690. 106: uint64(0x4e5924ab00000000),
  4691. 107: uint64(0xdb8d543e00000000),
  4692. 108: uint64(0xb2aee46200000000),
  4693. 109: uint64(0x277a94f700000000),
  4694. 110: uint64(0xd901749300000000),
  4695. 111: uint64(0x4cd5040600000000),
  4696. 112: uint64(0x572555cb00000000),
  4697. 113: uint64(0xc2f1255e00000000),
  4698. 114: uint64(0x3c8ac53a00000000),
  4699. 115: uint64(0xa95eb5af00000000),
  4700. 116: uint64(0xc07d05f300000000),
  4701. 117: uint64(0x55a9756600000000),
  4702. 118: uint64(0xabd2950200000000),
  4703. 119: uint64(0x3e06e59700000000),
  4704. 120: uint64(0x7994f5bb00000000),
  4705. 121: uint64(0xec40852e00000000),
  4706. 122: uint64(0x123b654a00000000),
  4707. 123: uint64(0x87ef15df00000000),
  4708. 124: uint64(0xeecca58300000000),
  4709. 125: uint64(0x7b18d51600000000),
  4710. 126: uint64(0x8563357200000000),
  4711. 127: uint64(0x10b745e700000000),
  4712. 128: uint64(0xe40bcf6700000000),
  4713. 129: uint64(0x71dfbff200000000),
  4714. 130: uint64(0x8fa45f9600000000),
  4715. 131: uint64(0x1a702f0300000000),
  4716. 132: uint64(0x73539f5f00000000),
  4717. 133: uint64(0xe687efca00000000),
  4718. 134: uint64(0x18fc0fae00000000),
  4719. 135: uint64(0x8d287f3b00000000),
  4720. 136: uint64(0xcaba6f1700000000),
  4721. 137: uint64(0x5f6e1f8200000000),
  4722. 138: uint64(0xa115ffe600000000),
  4723. 139: uint64(0x34c18f7300000000),
  4724. 140: uint64(0x5de23f2f00000000),
  4725. 141: uint64(0xc8364fba00000000),
  4726. 142: uint64(0x364dafde00000000),
  4727. 143: uint64(0xa399df4b00000000),
  4728. 144: uint64(0xb8698e8600000000),
  4729. 145: uint64(0x2dbdfe1300000000),
  4730. 146: uint64(0xd3c61e7700000000),
  4731. 147: uint64(0x46126ee200000000),
  4732. 148: uint64(0x2f31debe00000000),
  4733. 149: uint64(0xbae5ae2b00000000),
  4734. 150: uint64(0x449e4e4f00000000),
  4735. 151: uint64(0xd14a3eda00000000),
  4736. 152: uint64(0x96d82ef600000000),
  4737. 153: uint64(0x030c5e6300000000),
  4738. 154: uint64(0xfd77be0700000000),
  4739. 155: uint64(0x68a3ce9200000000),
  4740. 156: uint64(0x01807ece00000000),
  4741. 157: uint64(0x94540e5b00000000),
  4742. 158: uint64(0x6a2fee3f00000000),
  4743. 159: uint64(0xfffb9eaa00000000),
  4744. 160: uint64(0x1dc93c7e00000000),
  4745. 161: uint64(0x881d4ceb00000000),
  4746. 162: uint64(0x7666ac8f00000000),
  4747. 163: uint64(0xe3b2dc1a00000000),
  4748. 164: uint64(0x8a916c4600000000),
  4749. 165: uint64(0x1f451cd300000000),
  4750. 166: uint64(0xe13efcb700000000),
  4751. 167: uint64(0x74ea8c2200000000),
  4752. 168: uint64(0x33789c0e00000000),
  4753. 169: uint64(0xa6acec9b00000000),
  4754. 170: uint64(0x58d70cff00000000),
  4755. 171: uint64(0xcd037c6a00000000),
  4756. 172: uint64(0xa420cc3600000000),
  4757. 173: uint64(0x31f4bca300000000),
  4758. 174: uint64(0xcf8f5cc700000000),
  4759. 175: uint64(0x5a5b2c5200000000),
  4760. 176: uint64(0x41ab7d9f00000000),
  4761. 177: uint64(0xd47f0d0a00000000),
  4762. 178: uint64(0x2a04ed6e00000000),
  4763. 179: uint64(0xbfd09dfb00000000),
  4764. 180: uint64(0xd6f32da700000000),
  4765. 181: uint64(0x43275d3200000000),
  4766. 182: uint64(0xbd5cbd5600000000),
  4767. 183: uint64(0x2888cdc300000000),
  4768. 184: uint64(0x6f1addef00000000),
  4769. 185: uint64(0xfacead7a00000000),
  4770. 186: uint64(0x04b54d1e00000000),
  4771. 187: uint64(0x91613d8b00000000),
  4772. 188: uint64(0xf8428dd700000000),
  4773. 189: uint64(0x6d96fd4200000000),
  4774. 190: uint64(0x93ed1d2600000000),
  4775. 191: uint64(0x06396db300000000),
  4776. 192: uint64(0x168e285400000000),
  4777. 193: uint64(0x835a58c100000000),
  4778. 194: uint64(0x7d21b8a500000000),
  4779. 195: uint64(0xe8f5c83000000000),
  4780. 196: uint64(0x81d6786c00000000),
  4781. 197: uint64(0x140208f900000000),
  4782. 198: uint64(0xea79e89d00000000),
  4783. 199: uint64(0x7fad980800000000),
  4784. 200: uint64(0x383f882400000000),
  4785. 201: uint64(0xadebf8b100000000),
  4786. 202: uint64(0x539018d500000000),
  4787. 203: uint64(0xc644684000000000),
  4788. 204: uint64(0xaf67d81c00000000),
  4789. 205: uint64(0x3ab3a88900000000),
  4790. 206: uint64(0xc4c848ed00000000),
  4791. 207: uint64(0x511c387800000000),
  4792. 208: uint64(0x4aec69b500000000),
  4793. 209: uint64(0xdf38192000000000),
  4794. 210: uint64(0x2143f94400000000),
  4795. 211: uint64(0xb49789d100000000),
  4796. 212: uint64(0xddb4398d00000000),
  4797. 213: uint64(0x4860491800000000),
  4798. 214: uint64(0xb61ba97c00000000),
  4799. 215: uint64(0x23cfd9e900000000),
  4800. 216: uint64(0x645dc9c500000000),
  4801. 217: uint64(0xf189b95000000000),
  4802. 218: uint64(0x0ff2593400000000),
  4803. 219: uint64(0x9a2629a100000000),
  4804. 220: uint64(0xf30599fd00000000),
  4805. 221: uint64(0x66d1e96800000000),
  4806. 222: uint64(0x98aa090c00000000),
  4807. 223: uint64(0x0d7e799900000000),
  4808. 224: uint64(0xef4cdb4d00000000),
  4809. 225: uint64(0x7a98abd800000000),
  4810. 226: uint64(0x84e34bbc00000000),
  4811. 227: uint64(0x11373b2900000000),
  4812. 228: uint64(0x78148b7500000000),
  4813. 229: uint64(0xedc0fbe000000000),
  4814. 230: uint64(0x13bb1b8400000000),
  4815. 231: uint64(0x866f6b1100000000),
  4816. 232: uint64(0xc1fd7b3d00000000),
  4817. 233: uint64(0x54290ba800000000),
  4818. 234: uint64(0xaa52ebcc00000000),
  4819. 235: uint64(0x3f869b5900000000),
  4820. 236: uint64(0x56a52b0500000000),
  4821. 237: uint64(0xc3715b9000000000),
  4822. 238: uint64(0x3d0abbf400000000),
  4823. 239: uint64(0xa8decb6100000000),
  4824. 240: uint64(0xb32e9aac00000000),
  4825. 241: uint64(0x26faea3900000000),
  4826. 242: uint64(0xd8810a5d00000000),
  4827. 243: uint64(0x4d557ac800000000),
  4828. 244: uint64(0x2476ca9400000000),
  4829. 245: uint64(0xb1a2ba0100000000),
  4830. 246: uint64(0x4fd95a6500000000),
  4831. 247: uint64(0xda0d2af000000000),
  4832. 248: uint64(0x9d9f3adc00000000),
  4833. 249: uint64(0x084b4a4900000000),
  4834. 250: uint64(0xf630aa2d00000000),
  4835. 251: uint64(0x63e4dab800000000),
  4836. 252: uint64(0x0ac76ae400000000),
  4837. 253: uint64(0x9f131a7100000000),
  4838. 254: uint64(0x6168fa1500000000),
  4839. 255: uint64(0xf4bc8a8000000000),
  4840. },
  4841. 4: {
  4842. 1: uint64(0x1f17f08000000000),
  4843. 2: uint64(0x7f2891da00000000),
  4844. 3: uint64(0x603f615a00000000),
  4845. 4: uint64(0xbf56536e00000000),
  4846. 5: uint64(0xa041a3ee00000000),
  4847. 6: uint64(0xc07ec2b400000000),
  4848. 7: uint64(0xdf69323400000000),
  4849. 8: uint64(0x7eada6dc00000000),
  4850. 9: uint64(0x61ba565c00000000),
  4851. 10: uint64(0x0185370600000000),
  4852. 11: uint64(0x1e92c78600000000),
  4853. 12: uint64(0xc1fbf5b200000000),
  4854. 13: uint64(0xdeec053200000000),
  4855. 14: uint64(0xbed3646800000000),
  4856. 15: uint64(0xa1c494e800000000),
  4857. 16: uint64(0xbd5c3c6200000000),
  4858. 17: uint64(0xa24bcce200000000),
  4859. 18: uint64(0xc274adb800000000),
  4860. 19: uint64(0xdd635d3800000000),
  4861. 20: uint64(0x020a6f0c00000000),
  4862. 21: uint64(0x1d1d9f8c00000000),
  4863. 22: uint64(0x7d22fed600000000),
  4864. 23: uint64(0x62350e5600000000),
  4865. 24: uint64(0xc3f19abe00000000),
  4866. 25: uint64(0xdce66a3e00000000),
  4867. 26: uint64(0xbcd90b6400000000),
  4868. 27: uint64(0xa3cefbe400000000),
  4869. 28: uint64(0x7ca7c9d000000000),
  4870. 29: uint64(0x63b0395000000000),
  4871. 30: uint64(0x038f580a00000000),
  4872. 31: uint64(0x1c98a88a00000000),
  4873. 32: uint64(0x7ab978c400000000),
  4874. 33: uint64(0x65ae884400000000),
  4875. 34: uint64(0x0591e91e00000000),
  4876. 35: uint64(0x1a86199e00000000),
  4877. 36: uint64(0xc5ef2baa00000000),
  4878. 37: uint64(0xdaf8db2a00000000),
  4879. 38: uint64(0xbac7ba7000000000),
  4880. 39: uint64(0xa5d04af000000000),
  4881. 40: uint64(0x0414de1800000000),
  4882. 41: uint64(0x1b032e9800000000),
  4883. 42: uint64(0x7b3c4fc200000000),
  4884. 43: uint64(0x642bbf4200000000),
  4885. 44: uint64(0xbb428d7600000000),
  4886. 45: uint64(0xa4557df600000000),
  4887. 46: uint64(0xc46a1cac00000000),
  4888. 47: uint64(0xdb7dec2c00000000),
  4889. 48: uint64(0xc7e544a600000000),
  4890. 49: uint64(0xd8f2b42600000000),
  4891. 50: uint64(0xb8cdd57c00000000),
  4892. 51: uint64(0xa7da25fc00000000),
  4893. 52: uint64(0x78b317c800000000),
  4894. 53: uint64(0x67a4e74800000000),
  4895. 54: uint64(0x079b861200000000),
  4896. 55: uint64(0x188c769200000000),
  4897. 56: uint64(0xb948e27a00000000),
  4898. 57: uint64(0xa65f12fa00000000),
  4899. 58: uint64(0xc66073a000000000),
  4900. 59: uint64(0xd977832000000000),
  4901. 60: uint64(0x061eb11400000000),
  4902. 61: uint64(0x1909419400000000),
  4903. 62: uint64(0x793620ce00000000),
  4904. 63: uint64(0x6621d04e00000000),
  4905. 64: uint64(0xb574805300000000),
  4906. 65: uint64(0xaa6370d300000000),
  4907. 66: uint64(0xca5c118900000000),
  4908. 67: uint64(0xd54be10900000000),
  4909. 68: uint64(0x0a22d33d00000000),
  4910. 69: uint64(0x153523bd00000000),
  4911. 70: uint64(0x750a42e700000000),
  4912. 71: uint64(0x6a1db26700000000),
  4913. 72: uint64(0xcbd9268f00000000),
  4914. 73: uint64(0xd4ced60f00000000),
  4915. 74: uint64(0xb4f1b75500000000),
  4916. 75: uint64(0xabe647d500000000),
  4917. 76: uint64(0x748f75e100000000),
  4918. 77: uint64(0x6b98856100000000),
  4919. 78: uint64(0x0ba7e43b00000000),
  4920. 79: uint64(0x14b014bb00000000),
  4921. 80: uint64(0x0828bc3100000000),
  4922. 81: uint64(0x173f4cb100000000),
  4923. 82: uint64(0x77002deb00000000),
  4924. 83: uint64(0x6817dd6b00000000),
  4925. 84: uint64(0xb77eef5f00000000),
  4926. 85: uint64(0xa8691fdf00000000),
  4927. 86: uint64(0xc8567e8500000000),
  4928. 87: uint64(0xd7418e0500000000),
  4929. 88: uint64(0x76851aed00000000),
  4930. 89: uint64(0x6992ea6d00000000),
  4931. 90: uint64(0x09ad8b3700000000),
  4932. 91: uint64(0x16ba7bb700000000),
  4933. 92: uint64(0xc9d3498300000000),
  4934. 93: uint64(0xd6c4b90300000000),
  4935. 94: uint64(0xb6fbd85900000000),
  4936. 95: uint64(0xa9ec28d900000000),
  4937. 96: uint64(0xcfcdf89700000000),
  4938. 97: uint64(0xd0da081700000000),
  4939. 98: uint64(0xb0e5694d00000000),
  4940. 99: uint64(0xaff299cd00000000),
  4941. 100: uint64(0x709babf900000000),
  4942. 101: uint64(0x6f8c5b7900000000),
  4943. 102: uint64(0x0fb33a2300000000),
  4944. 103: uint64(0x10a4caa300000000),
  4945. 104: uint64(0xb1605e4b00000000),
  4946. 105: uint64(0xae77aecb00000000),
  4947. 106: uint64(0xce48cf9100000000),
  4948. 107: uint64(0xd15f3f1100000000),
  4949. 108: uint64(0x0e360d2500000000),
  4950. 109: uint64(0x1121fda500000000),
  4951. 110: uint64(0x711e9cff00000000),
  4952. 111: uint64(0x6e096c7f00000000),
  4953. 112: uint64(0x7291c4f500000000),
  4954. 113: uint64(0x6d86347500000000),
  4955. 114: uint64(0x0db9552f00000000),
  4956. 115: uint64(0x12aea5af00000000),
  4957. 116: uint64(0xcdc7979b00000000),
  4958. 117: uint64(0xd2d0671b00000000),
  4959. 118: uint64(0xb2ef064100000000),
  4960. 119: uint64(0xadf8f6c100000000),
  4961. 120: uint64(0x0c3c622900000000),
  4962. 121: uint64(0x132b92a900000000),
  4963. 122: uint64(0x7314f3f300000000),
  4964. 123: uint64(0x6c03037300000000),
  4965. 124: uint64(0xb36a314700000000),
  4966. 125: uint64(0xac7dc1c700000000),
  4967. 126: uint64(0xcc42a09d00000000),
  4968. 127: uint64(0xd355501d00000000),
  4969. 128: uint64(0x6ae900a700000000),
  4970. 129: uint64(0x75fef02700000000),
  4971. 130: uint64(0x15c1917d00000000),
  4972. 131: uint64(0x0ad661fd00000000),
  4973. 132: uint64(0xd5bf53c900000000),
  4974. 133: uint64(0xcaa8a34900000000),
  4975. 134: uint64(0xaa97c21300000000),
  4976. 135: uint64(0xb580329300000000),
  4977. 136: uint64(0x1444a67b00000000),
  4978. 137: uint64(0x0b5356fb00000000),
  4979. 138: uint64(0x6b6c37a100000000),
  4980. 139: uint64(0x747bc72100000000),
  4981. 140: uint64(0xab12f51500000000),
  4982. 141: uint64(0xb405059500000000),
  4983. 142: uint64(0xd43a64cf00000000),
  4984. 143: uint64(0xcb2d944f00000000),
  4985. 144: uint64(0xd7b53cc500000000),
  4986. 145: uint64(0xc8a2cc4500000000),
  4987. 146: uint64(0xa89dad1f00000000),
  4988. 147: uint64(0xb78a5d9f00000000),
  4989. 148: uint64(0x68e36fab00000000),
  4990. 149: uint64(0x77f49f2b00000000),
  4991. 150: uint64(0x17cbfe7100000000),
  4992. 151: uint64(0x08dc0ef100000000),
  4993. 152: uint64(0xa9189a1900000000),
  4994. 153: uint64(0xb60f6a9900000000),
  4995. 154: uint64(0xd6300bc300000000),
  4996. 155: uint64(0xc927fb4300000000),
  4997. 156: uint64(0x164ec97700000000),
  4998. 157: uint64(0x095939f700000000),
  4999. 158: uint64(0x696658ad00000000),
  5000. 159: uint64(0x7671a82d00000000),
  5001. 160: uint64(0x1050786300000000),
  5002. 161: uint64(0x0f4788e300000000),
  5003. 162: uint64(0x6f78e9b900000000),
  5004. 163: uint64(0x706f193900000000),
  5005. 164: uint64(0xaf062b0d00000000),
  5006. 165: uint64(0xb011db8d00000000),
  5007. 166: uint64(0xd02ebad700000000),
  5008. 167: uint64(0xcf394a5700000000),
  5009. 168: uint64(0x6efddebf00000000),
  5010. 169: uint64(0x71ea2e3f00000000),
  5011. 170: uint64(0x11d54f6500000000),
  5012. 171: uint64(0x0ec2bfe500000000),
  5013. 172: uint64(0xd1ab8dd100000000),
  5014. 173: uint64(0xcebc7d5100000000),
  5015. 174: uint64(0xae831c0b00000000),
  5016. 175: uint64(0xb194ec8b00000000),
  5017. 176: uint64(0xad0c440100000000),
  5018. 177: uint64(0xb21bb48100000000),
  5019. 178: uint64(0xd224d5db00000000),
  5020. 179: uint64(0xcd33255b00000000),
  5021. 180: uint64(0x125a176f00000000),
  5022. 181: uint64(0x0d4de7ef00000000),
  5023. 182: uint64(0x6d7286b500000000),
  5024. 183: uint64(0x7265763500000000),
  5025. 184: uint64(0xd3a1e2dd00000000),
  5026. 185: uint64(0xccb6125d00000000),
  5027. 186: uint64(0xac89730700000000),
  5028. 187: uint64(0xb39e838700000000),
  5029. 188: uint64(0x6cf7b1b300000000),
  5030. 189: uint64(0x73e0413300000000),
  5031. 190: uint64(0x13df206900000000),
  5032. 191: uint64(0x0cc8d0e900000000),
  5033. 192: uint64(0xdf9d80f400000000),
  5034. 193: uint64(0xc08a707400000000),
  5035. 194: uint64(0xa0b5112e00000000),
  5036. 195: uint64(0xbfa2e1ae00000000),
  5037. 196: uint64(0x60cbd39a00000000),
  5038. 197: uint64(0x7fdc231a00000000),
  5039. 198: uint64(0x1fe3424000000000),
  5040. 199: uint64(0x00f4b2c000000000),
  5041. 200: uint64(0xa130262800000000),
  5042. 201: uint64(0xbe27d6a800000000),
  5043. 202: uint64(0xde18b7f200000000),
  5044. 203: uint64(0xc10f477200000000),
  5045. 204: uint64(0x1e66754600000000),
  5046. 205: uint64(0x017185c600000000),
  5047. 206: uint64(0x614ee49c00000000),
  5048. 207: uint64(0x7e59141c00000000),
  5049. 208: uint64(0x62c1bc9600000000),
  5050. 209: uint64(0x7dd64c1600000000),
  5051. 210: uint64(0x1de92d4c00000000),
  5052. 211: uint64(0x02feddcc00000000),
  5053. 212: uint64(0xdd97eff800000000),
  5054. 213: uint64(0xc2801f7800000000),
  5055. 214: uint64(0xa2bf7e2200000000),
  5056. 215: uint64(0xbda88ea200000000),
  5057. 216: uint64(0x1c6c1a4a00000000),
  5058. 217: uint64(0x037beaca00000000),
  5059. 218: uint64(0x63448b9000000000),
  5060. 219: uint64(0x7c537b1000000000),
  5061. 220: uint64(0xa33a492400000000),
  5062. 221: uint64(0xbc2db9a400000000),
  5063. 222: uint64(0xdc12d8fe00000000),
  5064. 223: uint64(0xc305287e00000000),
  5065. 224: uint64(0xa524f83000000000),
  5066. 225: uint64(0xba3308b000000000),
  5067. 226: uint64(0xda0c69ea00000000),
  5068. 227: uint64(0xc51b996a00000000),
  5069. 228: uint64(0x1a72ab5e00000000),
  5070. 229: uint64(0x05655bde00000000),
  5071. 230: uint64(0x655a3a8400000000),
  5072. 231: uint64(0x7a4dca0400000000),
  5073. 232: uint64(0xdb895eec00000000),
  5074. 233: uint64(0xc49eae6c00000000),
  5075. 234: uint64(0xa4a1cf3600000000),
  5076. 235: uint64(0xbbb63fb600000000),
  5077. 236: uint64(0x64df0d8200000000),
  5078. 237: uint64(0x7bc8fd0200000000),
  5079. 238: uint64(0x1bf79c5800000000),
  5080. 239: uint64(0x04e06cd800000000),
  5081. 240: uint64(0x1878c45200000000),
  5082. 241: uint64(0x076f34d200000000),
  5083. 242: uint64(0x6750558800000000),
  5084. 243: uint64(0x7847a50800000000),
  5085. 244: uint64(0xa72e973c00000000),
  5086. 245: uint64(0xb83967bc00000000),
  5087. 246: uint64(0xd80606e600000000),
  5088. 247: uint64(0xc711f66600000000),
  5089. 248: uint64(0x66d5628e00000000),
  5090. 249: uint64(0x79c2920e00000000),
  5091. 250: uint64(0x19fdf35400000000),
  5092. 251: uint64(0x06ea03d400000000),
  5093. 252: uint64(0xd98331e000000000),
  5094. 253: uint64(0xc694c16000000000),
  5095. 254: uint64(0xa6aba03a00000000),
  5096. 255: uint64(0xb9bc50ba00000000),
  5097. },
  5098. 5: {
  5099. 1: uint64(0xe2fd888d00000000),
  5100. 2: uint64(0x85fd60c000000000),
  5101. 3: uint64(0x6700e84d00000000),
  5102. 4: uint64(0x4bfdb05b00000000),
  5103. 5: uint64(0xa90038d600000000),
  5104. 6: uint64(0xce00d09b00000000),
  5105. 7: uint64(0x2cfd581600000000),
  5106. 8: uint64(0x96fa61b700000000),
  5107. 9: uint64(0x7407e93a00000000),
  5108. 10: uint64(0x1307017700000000),
  5109. 11: uint64(0xf1fa89fa00000000),
  5110. 12: uint64(0xdd07d1ec00000000),
  5111. 13: uint64(0x3ffa596100000000),
  5112. 14: uint64(0x58fab12c00000000),
  5113. 15: uint64(0xba0739a100000000),
  5114. 16: uint64(0x6df3b2b500000000),
  5115. 17: uint64(0x8f0e3a3800000000),
  5116. 18: uint64(0xe80ed27500000000),
  5117. 19: uint64(0x0af35af800000000),
  5118. 20: uint64(0x260e02ee00000000),
  5119. 21: uint64(0xc4f38a6300000000),
  5120. 22: uint64(0xa3f3622e00000000),
  5121. 23: uint64(0x410eeaa300000000),
  5122. 24: uint64(0xfb09d30200000000),
  5123. 25: uint64(0x19f45b8f00000000),
  5124. 26: uint64(0x7ef4b3c200000000),
  5125. 27: uint64(0x9c093b4f00000000),
  5126. 28: uint64(0xb0f4635900000000),
  5127. 29: uint64(0x5209ebd400000000),
  5128. 30: uint64(0x3509039900000000),
  5129. 31: uint64(0xd7f48b1400000000),
  5130. 32: uint64(0x9be014b000000000),
  5131. 33: uint64(0x791d9c3d00000000),
  5132. 34: uint64(0x1e1d747000000000),
  5133. 35: uint64(0xfce0fcfd00000000),
  5134. 36: uint64(0xd01da4eb00000000),
  5135. 37: uint64(0x32e02c6600000000),
  5136. 38: uint64(0x55e0c42b00000000),
  5137. 39: uint64(0xb71d4ca600000000),
  5138. 40: uint64(0x0d1a750700000000),
  5139. 41: uint64(0xefe7fd8a00000000),
  5140. 42: uint64(0x88e715c700000000),
  5141. 43: uint64(0x6a1a9d4a00000000),
  5142. 44: uint64(0x46e7c55c00000000),
  5143. 45: uint64(0xa41a4dd100000000),
  5144. 46: uint64(0xc31aa59c00000000),
  5145. 47: uint64(0x21e72d1100000000),
  5146. 48: uint64(0xf613a60500000000),
  5147. 49: uint64(0x14ee2e8800000000),
  5148. 50: uint64(0x73eec6c500000000),
  5149. 51: uint64(0x91134e4800000000),
  5150. 52: uint64(0xbdee165e00000000),
  5151. 53: uint64(0x5f139ed300000000),
  5152. 54: uint64(0x3813769e00000000),
  5153. 55: uint64(0xdaeefe1300000000),
  5154. 56: uint64(0x60e9c7b200000000),
  5155. 57: uint64(0x82144f3f00000000),
  5156. 58: uint64(0xe514a77200000000),
  5157. 59: uint64(0x07e92fff00000000),
  5158. 60: uint64(0x2b1477e900000000),
  5159. 61: uint64(0xc9e9ff6400000000),
  5160. 62: uint64(0xaee9172900000000),
  5161. 63: uint64(0x4c149fa400000000),
  5162. 64: uint64(0x77c758bb00000000),
  5163. 65: uint64(0x953ad03600000000),
  5164. 66: uint64(0xf23a387b00000000),
  5165. 67: uint64(0x10c7b0f600000000),
  5166. 68: uint64(0x3c3ae8e000000000),
  5167. 69: uint64(0xdec7606d00000000),
  5168. 70: uint64(0xb9c7882000000000),
  5169. 71: uint64(0x5b3a00ad00000000),
  5170. 72: uint64(0xe13d390c00000000),
  5171. 73: uint64(0x03c0b18100000000),
  5172. 74: uint64(0x64c059cc00000000),
  5173. 75: uint64(0x863dd14100000000),
  5174. 76: uint64(0xaac0895700000000),
  5175. 77: uint64(0x483d01da00000000),
  5176. 78: uint64(0x2f3de99700000000),
  5177. 79: uint64(0xcdc0611a00000000),
  5178. 80: uint64(0x1a34ea0e00000000),
  5179. 81: uint64(0xf8c9628300000000),
  5180. 82: uint64(0x9fc98ace00000000),
  5181. 83: uint64(0x7d34024300000000),
  5182. 84: uint64(0x51c95a5500000000),
  5183. 85: uint64(0xb334d2d800000000),
  5184. 86: uint64(0xd4343a9500000000),
  5185. 87: uint64(0x36c9b21800000000),
  5186. 88: uint64(0x8cce8bb900000000),
  5187. 89: uint64(0x6e33033400000000),
  5188. 90: uint64(0x0933eb7900000000),
  5189. 91: uint64(0xebce63f400000000),
  5190. 92: uint64(0xc7333be200000000),
  5191. 93: uint64(0x25ceb36f00000000),
  5192. 94: uint64(0x42ce5b2200000000),
  5193. 95: uint64(0xa033d3af00000000),
  5194. 96: uint64(0xec274c0b00000000),
  5195. 97: uint64(0x0edac48600000000),
  5196. 98: uint64(0x69da2ccb00000000),
  5197. 99: uint64(0x8b27a44600000000),
  5198. 100: uint64(0xa7dafc5000000000),
  5199. 101: uint64(0x452774dd00000000),
  5200. 102: uint64(0x22279c9000000000),
  5201. 103: uint64(0xc0da141d00000000),
  5202. 104: uint64(0x7add2dbc00000000),
  5203. 105: uint64(0x9820a53100000000),
  5204. 106: uint64(0xff204d7c00000000),
  5205. 107: uint64(0x1dddc5f100000000),
  5206. 108: uint64(0x31209de700000000),
  5207. 109: uint64(0xd3dd156a00000000),
  5208. 110: uint64(0xb4ddfd2700000000),
  5209. 111: uint64(0x562075aa00000000),
  5210. 112: uint64(0x81d4febe00000000),
  5211. 113: uint64(0x6329763300000000),
  5212. 114: uint64(0x04299e7e00000000),
  5213. 115: uint64(0xe6d416f300000000),
  5214. 116: uint64(0xca294ee500000000),
  5215. 117: uint64(0x28d4c66800000000),
  5216. 118: uint64(0x4fd42e2500000000),
  5217. 119: uint64(0xad29a6a800000000),
  5218. 120: uint64(0x172e9f0900000000),
  5219. 121: uint64(0xf5d3178400000000),
  5220. 122: uint64(0x92d3ffc900000000),
  5221. 123: uint64(0x702e774400000000),
  5222. 124: uint64(0x5cd32f5200000000),
  5223. 125: uint64(0xbe2ea7df00000000),
  5224. 126: uint64(0xd92e4f9200000000),
  5225. 127: uint64(0x3bd3c71f00000000),
  5226. 128: uint64(0xaf88c0ad00000000),
  5227. 129: uint64(0x4d75482000000000),
  5228. 130: uint64(0x2a75a06d00000000),
  5229. 131: uint64(0xc88828e000000000),
  5230. 132: uint64(0xe47570f600000000),
  5231. 133: uint64(0x0688f87b00000000),
  5232. 134: uint64(0x6188103600000000),
  5233. 135: uint64(0x837598bb00000000),
  5234. 136: uint64(0x3972a11a00000000),
  5235. 137: uint64(0xdb8f299700000000),
  5236. 138: uint64(0xbc8fc1da00000000),
  5237. 139: uint64(0x5e72495700000000),
  5238. 140: uint64(0x728f114100000000),
  5239. 141: uint64(0x907299cc00000000),
  5240. 142: uint64(0xf772718100000000),
  5241. 143: uint64(0x158ff90c00000000),
  5242. 144: uint64(0xc27b721800000000),
  5243. 145: uint64(0x2086fa9500000000),
  5244. 146: uint64(0x478612d800000000),
  5245. 147: uint64(0xa57b9a5500000000),
  5246. 148: uint64(0x8986c24300000000),
  5247. 149: uint64(0x6b7b4ace00000000),
  5248. 150: uint64(0x0c7ba28300000000),
  5249. 151: uint64(0xee862a0e00000000),
  5250. 152: uint64(0x548113af00000000),
  5251. 153: uint64(0xb67c9b2200000000),
  5252. 154: uint64(0xd17c736f00000000),
  5253. 155: uint64(0x3381fbe200000000),
  5254. 156: uint64(0x1f7ca3f400000000),
  5255. 157: uint64(0xfd812b7900000000),
  5256. 158: uint64(0x9a81c33400000000),
  5257. 159: uint64(0x787c4bb900000000),
  5258. 160: uint64(0x3468d41d00000000),
  5259. 161: uint64(0xd6955c9000000000),
  5260. 162: uint64(0xb195b4dd00000000),
  5261. 163: uint64(0x53683c5000000000),
  5262. 164: uint64(0x7f95644600000000),
  5263. 165: uint64(0x9d68eccb00000000),
  5264. 166: uint64(0xfa68048600000000),
  5265. 167: uint64(0x18958c0b00000000),
  5266. 168: uint64(0xa292b5aa00000000),
  5267. 169: uint64(0x406f3d2700000000),
  5268. 170: uint64(0x276fd56a00000000),
  5269. 171: uint64(0xc5925de700000000),
  5270. 172: uint64(0xe96f05f100000000),
  5271. 173: uint64(0x0b928d7c00000000),
  5272. 174: uint64(0x6c92653100000000),
  5273. 175: uint64(0x8e6fedbc00000000),
  5274. 176: uint64(0x599b66a800000000),
  5275. 177: uint64(0xbb66ee2500000000),
  5276. 178: uint64(0xdc66066800000000),
  5277. 179: uint64(0x3e9b8ee500000000),
  5278. 180: uint64(0x1266d6f300000000),
  5279. 181: uint64(0xf09b5e7e00000000),
  5280. 182: uint64(0x979bb63300000000),
  5281. 183: uint64(0x75663ebe00000000),
  5282. 184: uint64(0xcf61071f00000000),
  5283. 185: uint64(0x2d9c8f9200000000),
  5284. 186: uint64(0x4a9c67df00000000),
  5285. 187: uint64(0xa861ef5200000000),
  5286. 188: uint64(0x849cb74400000000),
  5287. 189: uint64(0x66613fc900000000),
  5288. 190: uint64(0x0161d78400000000),
  5289. 191: uint64(0xe39c5f0900000000),
  5290. 192: uint64(0xd84f981600000000),
  5291. 193: uint64(0x3ab2109b00000000),
  5292. 194: uint64(0x5db2f8d600000000),
  5293. 195: uint64(0xbf4f705b00000000),
  5294. 196: uint64(0x93b2284d00000000),
  5295. 197: uint64(0x714fa0c000000000),
  5296. 198: uint64(0x164f488d00000000),
  5297. 199: uint64(0xf4b2c00000000000),
  5298. 200: uint64(0x4eb5f9a100000000),
  5299. 201: uint64(0xac48712c00000000),
  5300. 202: uint64(0xcb48996100000000),
  5301. 203: uint64(0x29b511ec00000000),
  5302. 204: uint64(0x054849fa00000000),
  5303. 205: uint64(0xe7b5c17700000000),
  5304. 206: uint64(0x80b5293a00000000),
  5305. 207: uint64(0x6248a1b700000000),
  5306. 208: uint64(0xb5bc2aa300000000),
  5307. 209: uint64(0x5741a22e00000000),
  5308. 210: uint64(0x30414a6300000000),
  5309. 211: uint64(0xd2bcc2ee00000000),
  5310. 212: uint64(0xfe419af800000000),
  5311. 213: uint64(0x1cbc127500000000),
  5312. 214: uint64(0x7bbcfa3800000000),
  5313. 215: uint64(0x994172b500000000),
  5314. 216: uint64(0x23464b1400000000),
  5315. 217: uint64(0xc1bbc39900000000),
  5316. 218: uint64(0xa6bb2bd400000000),
  5317. 219: uint64(0x4446a35900000000),
  5318. 220: uint64(0x68bbfb4f00000000),
  5319. 221: uint64(0x8a4673c200000000),
  5320. 222: uint64(0xed469b8f00000000),
  5321. 223: uint64(0x0fbb130200000000),
  5322. 224: uint64(0x43af8ca600000000),
  5323. 225: uint64(0xa152042b00000000),
  5324. 226: uint64(0xc652ec6600000000),
  5325. 227: uint64(0x24af64eb00000000),
  5326. 228: uint64(0x08523cfd00000000),
  5327. 229: uint64(0xeaafb47000000000),
  5328. 230: uint64(0x8daf5c3d00000000),
  5329. 231: uint64(0x6f52d4b000000000),
  5330. 232: uint64(0xd555ed1100000000),
  5331. 233: uint64(0x37a8659c00000000),
  5332. 234: uint64(0x50a88dd100000000),
  5333. 235: uint64(0xb255055c00000000),
  5334. 236: uint64(0x9ea85d4a00000000),
  5335. 237: uint64(0x7c55d5c700000000),
  5336. 238: uint64(0x1b553d8a00000000),
  5337. 239: uint64(0xf9a8b50700000000),
  5338. 240: uint64(0x2e5c3e1300000000),
  5339. 241: uint64(0xcca1b69e00000000),
  5340. 242: uint64(0xaba15ed300000000),
  5341. 243: uint64(0x495cd65e00000000),
  5342. 244: uint64(0x65a18e4800000000),
  5343. 245: uint64(0x875c06c500000000),
  5344. 246: uint64(0xe05cee8800000000),
  5345. 247: uint64(0x02a1660500000000),
  5346. 248: uint64(0xb8a65fa400000000),
  5347. 249: uint64(0x5a5bd72900000000),
  5348. 250: uint64(0x3d5b3f6400000000),
  5349. 251: uint64(0xdfa6b7e900000000),
  5350. 252: uint64(0xf35befff00000000),
  5351. 253: uint64(0x11a6677200000000),
  5352. 254: uint64(0x76a68f3f00000000),
  5353. 255: uint64(0x945b07b200000000),
  5354. },
  5355. 6: {
  5356. 1: uint64(0xa90b894e00000000),
  5357. 2: uint64(0x5217129d00000000),
  5358. 3: uint64(0xfb1c9bd300000000),
  5359. 4: uint64(0xe52855e100000000),
  5360. 5: uint64(0x4c23dcaf00000000),
  5361. 6: uint64(0xb73f477c00000000),
  5362. 7: uint64(0x1e34ce3200000000),
  5363. 8: uint64(0x8b57db1900000000),
  5364. 9: uint64(0x225c525700000000),
  5365. 10: uint64(0xd940c98400000000),
  5366. 11: uint64(0x704b40ca00000000),
  5367. 12: uint64(0x6e7f8ef800000000),
  5368. 13: uint64(0xc77407b600000000),
  5369. 14: uint64(0x3c689c6500000000),
  5370. 15: uint64(0x9563152b00000000),
  5371. 16: uint64(0x16afb63300000000),
  5372. 17: uint64(0xbfa43f7d00000000),
  5373. 18: uint64(0x44b8a4ae00000000),
  5374. 19: uint64(0xedb32de000000000),
  5375. 20: uint64(0xf387e3d200000000),
  5376. 21: uint64(0x5a8c6a9c00000000),
  5377. 22: uint64(0xa190f14f00000000),
  5378. 23: uint64(0x089b780100000000),
  5379. 24: uint64(0x9df86d2a00000000),
  5380. 25: uint64(0x34f3e46400000000),
  5381. 26: uint64(0xcfef7fb700000000),
  5382. 27: uint64(0x66e4f6f900000000),
  5383. 28: uint64(0x78d038cb00000000),
  5384. 29: uint64(0xd1dbb18500000000),
  5385. 30: uint64(0x2ac72a5600000000),
  5386. 31: uint64(0x83cca31800000000),
  5387. 32: uint64(0x2c5e6d6700000000),
  5388. 33: uint64(0x8555e42900000000),
  5389. 34: uint64(0x7e497ffa00000000),
  5390. 35: uint64(0xd742f6b400000000),
  5391. 36: uint64(0xc976388600000000),
  5392. 37: uint64(0x607db1c800000000),
  5393. 38: uint64(0x9b612a1b00000000),
  5394. 39: uint64(0x326aa35500000000),
  5395. 40: uint64(0xa709b67e00000000),
  5396. 41: uint64(0x0e023f3000000000),
  5397. 42: uint64(0xf51ea4e300000000),
  5398. 43: uint64(0x5c152dad00000000),
  5399. 44: uint64(0x4221e39f00000000),
  5400. 45: uint64(0xeb2a6ad100000000),
  5401. 46: uint64(0x1036f10200000000),
  5402. 47: uint64(0xb93d784c00000000),
  5403. 48: uint64(0x3af1db5400000000),
  5404. 49: uint64(0x93fa521a00000000),
  5405. 50: uint64(0x68e6c9c900000000),
  5406. 51: uint64(0xc1ed408700000000),
  5407. 52: uint64(0xdfd98eb500000000),
  5408. 53: uint64(0x76d207fb00000000),
  5409. 54: uint64(0x8dce9c2800000000),
  5410. 55: uint64(0x24c5156600000000),
  5411. 56: uint64(0xb1a6004d00000000),
  5412. 57: uint64(0x18ad890300000000),
  5413. 58: uint64(0xe3b112d000000000),
  5414. 59: uint64(0x4aba9b9e00000000),
  5415. 60: uint64(0x548e55ac00000000),
  5416. 61: uint64(0xfd85dce200000000),
  5417. 62: uint64(0x0699473100000000),
  5418. 63: uint64(0xaf92ce7f00000000),
  5419. 64: uint64(0x58bcdace00000000),
  5420. 65: uint64(0xf1b7538000000000),
  5421. 66: uint64(0x0aabc85300000000),
  5422. 67: uint64(0xa3a0411d00000000),
  5423. 68: uint64(0xbd948f2f00000000),
  5424. 69: uint64(0x149f066100000000),
  5425. 70: uint64(0xef839db200000000),
  5426. 71: uint64(0x468814fc00000000),
  5427. 72: uint64(0xd3eb01d700000000),
  5428. 73: uint64(0x7ae0889900000000),
  5429. 74: uint64(0x81fc134a00000000),
  5430. 75: uint64(0x28f79a0400000000),
  5431. 76: uint64(0x36c3543600000000),
  5432. 77: uint64(0x9fc8dd7800000000),
  5433. 78: uint64(0x64d446ab00000000),
  5434. 79: uint64(0xcddfcfe500000000),
  5435. 80: uint64(0x4e136cfd00000000),
  5436. 81: uint64(0xe718e5b300000000),
  5437. 82: uint64(0x1c047e6000000000),
  5438. 83: uint64(0xb50ff72e00000000),
  5439. 84: uint64(0xab3b391c00000000),
  5440. 85: uint64(0x0230b05200000000),
  5441. 86: uint64(0xf92c2b8100000000),
  5442. 87: uint64(0x5027a2cf00000000),
  5443. 88: uint64(0xc544b7e400000000),
  5444. 89: uint64(0x6c4f3eaa00000000),
  5445. 90: uint64(0x9753a57900000000),
  5446. 91: uint64(0x3e582c3700000000),
  5447. 92: uint64(0x206ce20500000000),
  5448. 93: uint64(0x89676b4b00000000),
  5449. 94: uint64(0x727bf09800000000),
  5450. 95: uint64(0xdb7079d600000000),
  5451. 96: uint64(0x74e2b7a900000000),
  5452. 97: uint64(0xdde93ee700000000),
  5453. 98: uint64(0x26f5a53400000000),
  5454. 99: uint64(0x8ffe2c7a00000000),
  5455. 100: uint64(0x91cae24800000000),
  5456. 101: uint64(0x38c16b0600000000),
  5457. 102: uint64(0xc3ddf0d500000000),
  5458. 103: uint64(0x6ad6799b00000000),
  5459. 104: uint64(0xffb56cb000000000),
  5460. 105: uint64(0x56bee5fe00000000),
  5461. 106: uint64(0xada27e2d00000000),
  5462. 107: uint64(0x04a9f76300000000),
  5463. 108: uint64(0x1a9d395100000000),
  5464. 109: uint64(0xb396b01f00000000),
  5465. 110: uint64(0x488a2bcc00000000),
  5466. 111: uint64(0xe181a28200000000),
  5467. 112: uint64(0x624d019a00000000),
  5468. 113: uint64(0xcb4688d400000000),
  5469. 114: uint64(0x305a130700000000),
  5470. 115: uint64(0x99519a4900000000),
  5471. 116: uint64(0x8765547b00000000),
  5472. 117: uint64(0x2e6edd3500000000),
  5473. 118: uint64(0xd57246e600000000),
  5474. 119: uint64(0x7c79cfa800000000),
  5475. 120: uint64(0xe91ada8300000000),
  5476. 121: uint64(0x401153cd00000000),
  5477. 122: uint64(0xbb0dc81e00000000),
  5478. 123: uint64(0x1206415000000000),
  5479. 124: uint64(0x0c328f6200000000),
  5480. 125: uint64(0xa539062c00000000),
  5481. 126: uint64(0x5e259dff00000000),
  5482. 127: uint64(0xf72e14b100000000),
  5483. 128: uint64(0xf17ec44600000000),
  5484. 129: uint64(0x58754d0800000000),
  5485. 130: uint64(0xa369d6db00000000),
  5486. 131: uint64(0x0a625f9500000000),
  5487. 132: uint64(0x145691a700000000),
  5488. 133: uint64(0xbd5d18e900000000),
  5489. 134: uint64(0x4641833a00000000),
  5490. 135: uint64(0xef4a0a7400000000),
  5491. 136: uint64(0x7a291f5f00000000),
  5492. 137: uint64(0xd322961100000000),
  5493. 138: uint64(0x283e0dc200000000),
  5494. 139: uint64(0x8135848c00000000),
  5495. 140: uint64(0x9f014abe00000000),
  5496. 141: uint64(0x360ac3f000000000),
  5497. 142: uint64(0xcd16582300000000),
  5498. 143: uint64(0x641dd16d00000000),
  5499. 144: uint64(0xe7d1727500000000),
  5500. 145: uint64(0x4edafb3b00000000),
  5501. 146: uint64(0xb5c660e800000000),
  5502. 147: uint64(0x1ccde9a600000000),
  5503. 148: uint64(0x02f9279400000000),
  5504. 149: uint64(0xabf2aeda00000000),
  5505. 150: uint64(0x50ee350900000000),
  5506. 151: uint64(0xf9e5bc4700000000),
  5507. 152: uint64(0x6c86a96c00000000),
  5508. 153: uint64(0xc58d202200000000),
  5509. 154: uint64(0x3e91bbf100000000),
  5510. 155: uint64(0x979a32bf00000000),
  5511. 156: uint64(0x89aefc8d00000000),
  5512. 157: uint64(0x20a575c300000000),
  5513. 158: uint64(0xdbb9ee1000000000),
  5514. 159: uint64(0x72b2675e00000000),
  5515. 160: uint64(0xdd20a92100000000),
  5516. 161: uint64(0x742b206f00000000),
  5517. 162: uint64(0x8f37bbbc00000000),
  5518. 163: uint64(0x263c32f200000000),
  5519. 164: uint64(0x3808fcc000000000),
  5520. 165: uint64(0x9103758e00000000),
  5521. 166: uint64(0x6a1fee5d00000000),
  5522. 167: uint64(0xc314671300000000),
  5523. 168: uint64(0x5677723800000000),
  5524. 169: uint64(0xff7cfb7600000000),
  5525. 170: uint64(0x046060a500000000),
  5526. 171: uint64(0xad6be9eb00000000),
  5527. 172: uint64(0xb35f27d900000000),
  5528. 173: uint64(0x1a54ae9700000000),
  5529. 174: uint64(0xe148354400000000),
  5530. 175: uint64(0x4843bc0a00000000),
  5531. 176: uint64(0xcb8f1f1200000000),
  5532. 177: uint64(0x6284965c00000000),
  5533. 178: uint64(0x99980d8f00000000),
  5534. 179: uint64(0x309384c100000000),
  5535. 180: uint64(0x2ea74af300000000),
  5536. 181: uint64(0x87acc3bd00000000),
  5537. 182: uint64(0x7cb0586e00000000),
  5538. 183: uint64(0xd5bbd12000000000),
  5539. 184: uint64(0x40d8c40b00000000),
  5540. 185: uint64(0xe9d34d4500000000),
  5541. 186: uint64(0x12cfd69600000000),
  5542. 187: uint64(0xbbc45fd800000000),
  5543. 188: uint64(0xa5f091ea00000000),
  5544. 189: uint64(0x0cfb18a400000000),
  5545. 190: uint64(0xf7e7837700000000),
  5546. 191: uint64(0x5eec0a3900000000),
  5547. 192: uint64(0xa9c21e8800000000),
  5548. 193: uint64(0x00c997c600000000),
  5549. 194: uint64(0xfbd50c1500000000),
  5550. 195: uint64(0x52de855b00000000),
  5551. 196: uint64(0x4cea4b6900000000),
  5552. 197: uint64(0xe5e1c22700000000),
  5553. 198: uint64(0x1efd59f400000000),
  5554. 199: uint64(0xb7f6d0ba00000000),
  5555. 200: uint64(0x2295c59100000000),
  5556. 201: uint64(0x8b9e4cdf00000000),
  5557. 202: uint64(0x7082d70c00000000),
  5558. 203: uint64(0xd9895e4200000000),
  5559. 204: uint64(0xc7bd907000000000),
  5560. 205: uint64(0x6eb6193e00000000),
  5561. 206: uint64(0x95aa82ed00000000),
  5562. 207: uint64(0x3ca10ba300000000),
  5563. 208: uint64(0xbf6da8bb00000000),
  5564. 209: uint64(0x166621f500000000),
  5565. 210: uint64(0xed7aba2600000000),
  5566. 211: uint64(0x4471336800000000),
  5567. 212: uint64(0x5a45fd5a00000000),
  5568. 213: uint64(0xf34e741400000000),
  5569. 214: uint64(0x0852efc700000000),
  5570. 215: uint64(0xa159668900000000),
  5571. 216: uint64(0x343a73a200000000),
  5572. 217: uint64(0x9d31faec00000000),
  5573. 218: uint64(0x662d613f00000000),
  5574. 219: uint64(0xcf26e87100000000),
  5575. 220: uint64(0xd112264300000000),
  5576. 221: uint64(0x7819af0d00000000),
  5577. 222: uint64(0x830534de00000000),
  5578. 223: uint64(0x2a0ebd9000000000),
  5579. 224: uint64(0x859c73ef00000000),
  5580. 225: uint64(0x2c97faa100000000),
  5581. 226: uint64(0xd78b617200000000),
  5582. 227: uint64(0x7e80e83c00000000),
  5583. 228: uint64(0x60b4260e00000000),
  5584. 229: uint64(0xc9bfaf4000000000),
  5585. 230: uint64(0x32a3349300000000),
  5586. 231: uint64(0x9ba8bddd00000000),
  5587. 232: uint64(0x0ecba8f600000000),
  5588. 233: uint64(0xa7c021b800000000),
  5589. 234: uint64(0x5cdcba6b00000000),
  5590. 235: uint64(0xf5d7332500000000),
  5591. 236: uint64(0xebe3fd1700000000),
  5592. 237: uint64(0x42e8745900000000),
  5593. 238: uint64(0xb9f4ef8a00000000),
  5594. 239: uint64(0x10ff66c400000000),
  5595. 240: uint64(0x9333c5dc00000000),
  5596. 241: uint64(0x3a384c9200000000),
  5597. 242: uint64(0xc124d74100000000),
  5598. 243: uint64(0x682f5e0f00000000),
  5599. 244: uint64(0x761b903d00000000),
  5600. 245: uint64(0xdf10197300000000),
  5601. 246: uint64(0x240c82a000000000),
  5602. 247: uint64(0x8d070bee00000000),
  5603. 248: uint64(0x18641ec500000000),
  5604. 249: uint64(0xb16f978b00000000),
  5605. 250: uint64(0x4a730c5800000000),
  5606. 251: uint64(0xe378851600000000),
  5607. 252: uint64(0xfd4c4b2400000000),
  5608. 253: uint64(0x5447c26a00000000),
  5609. 254: uint64(0xaf5b59b900000000),
  5610. 255: uint64(0x0650d0f700000000),
  5611. },
  5612. 7: {
  5613. 1: uint64(0x479244af00000000),
  5614. 2: uint64(0xcf22f88500000000),
  5615. 3: uint64(0x88b0bc2a00000000),
  5616. 4: uint64(0xdf4381d000000000),
  5617. 5: uint64(0x98d1c57f00000000),
  5618. 6: uint64(0x1061795500000000),
  5619. 7: uint64(0x57f33dfa00000000),
  5620. 8: uint64(0xff81737a00000000),
  5621. 9: uint64(0xb81337d500000000),
  5622. 10: uint64(0x30a38bff00000000),
  5623. 11: uint64(0x7731cf5000000000),
  5624. 12: uint64(0x20c2f2aa00000000),
  5625. 13: uint64(0x6750b60500000000),
  5626. 14: uint64(0xefe00a2f00000000),
  5627. 15: uint64(0xa8724e8000000000),
  5628. 16: uint64(0xfe03e7f400000000),
  5629. 17: uint64(0xb991a35b00000000),
  5630. 18: uint64(0x31211f7100000000),
  5631. 19: uint64(0x76b35bde00000000),
  5632. 20: uint64(0x2140662400000000),
  5633. 21: uint64(0x66d2228b00000000),
  5634. 22: uint64(0xee629ea100000000),
  5635. 23: uint64(0xa9f0da0e00000000),
  5636. 24: uint64(0x0182948e00000000),
  5637. 25: uint64(0x4610d02100000000),
  5638. 26: uint64(0xcea06c0b00000000),
  5639. 27: uint64(0x893228a400000000),
  5640. 28: uint64(0xdec1155e00000000),
  5641. 29: uint64(0x995351f100000000),
  5642. 30: uint64(0x11e3eddb00000000),
  5643. 31: uint64(0x5671a97400000000),
  5644. 32: uint64(0xbd01bf3200000000),
  5645. 33: uint64(0xfa93fb9d00000000),
  5646. 34: uint64(0x722347b700000000),
  5647. 35: uint64(0x35b1031800000000),
  5648. 36: uint64(0x62423ee200000000),
  5649. 37: uint64(0x25d07a4d00000000),
  5650. 38: uint64(0xad60c66700000000),
  5651. 39: uint64(0xeaf282c800000000),
  5652. 40: uint64(0x4280cc4800000000),
  5653. 41: uint64(0x051288e700000000),
  5654. 42: uint64(0x8da234cd00000000),
  5655. 43: uint64(0xca30706200000000),
  5656. 44: uint64(0x9dc34d9800000000),
  5657. 45: uint64(0xda51093700000000),
  5658. 46: uint64(0x52e1b51d00000000),
  5659. 47: uint64(0x1573f1b200000000),
  5660. 48: uint64(0x430258c600000000),
  5661. 49: uint64(0x04901c6900000000),
  5662. 50: uint64(0x8c20a04300000000),
  5663. 51: uint64(0xcbb2e4ec00000000),
  5664. 52: uint64(0x9c41d91600000000),
  5665. 53: uint64(0xdbd39db900000000),
  5666. 54: uint64(0x5363219300000000),
  5667. 55: uint64(0x14f1653c00000000),
  5668. 56: uint64(0xbc832bbc00000000),
  5669. 57: uint64(0xfb116f1300000000),
  5670. 58: uint64(0x73a1d33900000000),
  5671. 59: uint64(0x3433979600000000),
  5672. 60: uint64(0x63c0aa6c00000000),
  5673. 61: uint64(0x2452eec300000000),
  5674. 62: uint64(0xace252e900000000),
  5675. 63: uint64(0xeb70164600000000),
  5676. 64: uint64(0x7a037e6500000000),
  5677. 65: uint64(0x3d913aca00000000),
  5678. 66: uint64(0xb52186e000000000),
  5679. 67: uint64(0xf2b3c24f00000000),
  5680. 68: uint64(0xa540ffb500000000),
  5681. 69: uint64(0xe2d2bb1a00000000),
  5682. 70: uint64(0x6a62073000000000),
  5683. 71: uint64(0x2df0439f00000000),
  5684. 72: uint64(0x85820d1f00000000),
  5685. 73: uint64(0xc21049b000000000),
  5686. 74: uint64(0x4aa0f59a00000000),
  5687. 75: uint64(0x0d32b13500000000),
  5688. 76: uint64(0x5ac18ccf00000000),
  5689. 77: uint64(0x1d53c86000000000),
  5690. 78: uint64(0x95e3744a00000000),
  5691. 79: uint64(0xd27130e500000000),
  5692. 80: uint64(0x8400999100000000),
  5693. 81: uint64(0xc392dd3e00000000),
  5694. 82: uint64(0x4b22611400000000),
  5695. 83: uint64(0x0cb025bb00000000),
  5696. 84: uint64(0x5b43184100000000),
  5697. 85: uint64(0x1cd15cee00000000),
  5698. 86: uint64(0x9461e0c400000000),
  5699. 87: uint64(0xd3f3a46b00000000),
  5700. 88: uint64(0x7b81eaeb00000000),
  5701. 89: uint64(0x3c13ae4400000000),
  5702. 90: uint64(0xb4a3126e00000000),
  5703. 91: uint64(0xf33156c100000000),
  5704. 92: uint64(0xa4c26b3b00000000),
  5705. 93: uint64(0xe3502f9400000000),
  5706. 94: uint64(0x6be093be00000000),
  5707. 95: uint64(0x2c72d71100000000),
  5708. 96: uint64(0xc702c15700000000),
  5709. 97: uint64(0x809085f800000000),
  5710. 98: uint64(0x082039d200000000),
  5711. 99: uint64(0x4fb27d7d00000000),
  5712. 100: uint64(0x1841408700000000),
  5713. 101: uint64(0x5fd3042800000000),
  5714. 102: uint64(0xd763b80200000000),
  5715. 103: uint64(0x90f1fcad00000000),
  5716. 104: uint64(0x3883b22d00000000),
  5717. 105: uint64(0x7f11f68200000000),
  5718. 106: uint64(0xf7a14aa800000000),
  5719. 107: uint64(0xb0330e0700000000),
  5720. 108: uint64(0xe7c033fd00000000),
  5721. 109: uint64(0xa052775200000000),
  5722. 110: uint64(0x28e2cb7800000000),
  5723. 111: uint64(0x6f708fd700000000),
  5724. 112: uint64(0x390126a300000000),
  5725. 113: uint64(0x7e93620c00000000),
  5726. 114: uint64(0xf623de2600000000),
  5727. 115: uint64(0xb1b19a8900000000),
  5728. 116: uint64(0xe642a77300000000),
  5729. 117: uint64(0xa1d0e3dc00000000),
  5730. 118: uint64(0x29605ff600000000),
  5731. 119: uint64(0x6ef21b5900000000),
  5732. 120: uint64(0xc68055d900000000),
  5733. 121: uint64(0x8112117600000000),
  5734. 122: uint64(0x09a2ad5c00000000),
  5735. 123: uint64(0x4e30e9f300000000),
  5736. 124: uint64(0x19c3d40900000000),
  5737. 125: uint64(0x5e5190a600000000),
  5738. 126: uint64(0xd6e12c8c00000000),
  5739. 127: uint64(0x9173682300000000),
  5740. 128: uint64(0xf406fcca00000000),
  5741. 129: uint64(0xb394b86500000000),
  5742. 130: uint64(0x3b24044f00000000),
  5743. 131: uint64(0x7cb640e000000000),
  5744. 132: uint64(0x2b457d1a00000000),
  5745. 133: uint64(0x6cd739b500000000),
  5746. 134: uint64(0xe467859f00000000),
  5747. 135: uint64(0xa3f5c13000000000),
  5748. 136: uint64(0x0b878fb000000000),
  5749. 137: uint64(0x4c15cb1f00000000),
  5750. 138: uint64(0xc4a5773500000000),
  5751. 139: uint64(0x8337339a00000000),
  5752. 140: uint64(0xd4c40e6000000000),
  5753. 141: uint64(0x93564acf00000000),
  5754. 142: uint64(0x1be6f6e500000000),
  5755. 143: uint64(0x5c74b24a00000000),
  5756. 144: uint64(0x0a051b3e00000000),
  5757. 145: uint64(0x4d975f9100000000),
  5758. 146: uint64(0xc527e3bb00000000),
  5759. 147: uint64(0x82b5a71400000000),
  5760. 148: uint64(0xd5469aee00000000),
  5761. 149: uint64(0x92d4de4100000000),
  5762. 150: uint64(0x1a64626b00000000),
  5763. 151: uint64(0x5df626c400000000),
  5764. 152: uint64(0xf584684400000000),
  5765. 153: uint64(0xb2162ceb00000000),
  5766. 154: uint64(0x3aa690c100000000),
  5767. 155: uint64(0x7d34d46e00000000),
  5768. 156: uint64(0x2ac7e99400000000),
  5769. 157: uint64(0x6d55ad3b00000000),
  5770. 158: uint64(0xe5e5111100000000),
  5771. 159: uint64(0xa27755be00000000),
  5772. 160: uint64(0x490743f800000000),
  5773. 161: uint64(0x0e95075700000000),
  5774. 162: uint64(0x8625bb7d00000000),
  5775. 163: uint64(0xc1b7ffd200000000),
  5776. 164: uint64(0x9644c22800000000),
  5777. 165: uint64(0xd1d6868700000000),
  5778. 166: uint64(0x59663aad00000000),
  5779. 167: uint64(0x1ef47e0200000000),
  5780. 168: uint64(0xb686308200000000),
  5781. 169: uint64(0xf114742d00000000),
  5782. 170: uint64(0x79a4c80700000000),
  5783. 171: uint64(0x3e368ca800000000),
  5784. 172: uint64(0x69c5b15200000000),
  5785. 173: uint64(0x2e57f5fd00000000),
  5786. 174: uint64(0xa6e749d700000000),
  5787. 175: uint64(0xe1750d7800000000),
  5788. 176: uint64(0xb704a40c00000000),
  5789. 177: uint64(0xf096e0a300000000),
  5790. 178: uint64(0x78265c8900000000),
  5791. 179: uint64(0x3fb4182600000000),
  5792. 180: uint64(0x684725dc00000000),
  5793. 181: uint64(0x2fd5617300000000),
  5794. 182: uint64(0xa765dd5900000000),
  5795. 183: uint64(0xe0f799f600000000),
  5796. 184: uint64(0x4885d77600000000),
  5797. 185: uint64(0x0f1793d900000000),
  5798. 186: uint64(0x87a72ff300000000),
  5799. 187: uint64(0xc0356b5c00000000),
  5800. 188: uint64(0x97c656a600000000),
  5801. 189: uint64(0xd054120900000000),
  5802. 190: uint64(0x58e4ae2300000000),
  5803. 191: uint64(0x1f76ea8c00000000),
  5804. 192: uint64(0x8e0582af00000000),
  5805. 193: uint64(0xc997c60000000000),
  5806. 194: uint64(0x41277a2a00000000),
  5807. 195: uint64(0x06b53e8500000000),
  5808. 196: uint64(0x5146037f00000000),
  5809. 197: uint64(0x16d447d000000000),
  5810. 198: uint64(0x9e64fbfa00000000),
  5811. 199: uint64(0xd9f6bf5500000000),
  5812. 200: uint64(0x7184f1d500000000),
  5813. 201: uint64(0x3616b57a00000000),
  5814. 202: uint64(0xbea6095000000000),
  5815. 203: uint64(0xf9344dff00000000),
  5816. 204: uint64(0xaec7700500000000),
  5817. 205: uint64(0xe95534aa00000000),
  5818. 206: uint64(0x61e5888000000000),
  5819. 207: uint64(0x2677cc2f00000000),
  5820. 208: uint64(0x7006655b00000000),
  5821. 209: uint64(0x379421f400000000),
  5822. 210: uint64(0xbf249dde00000000),
  5823. 211: uint64(0xf8b6d97100000000),
  5824. 212: uint64(0xaf45e48b00000000),
  5825. 213: uint64(0xe8d7a02400000000),
  5826. 214: uint64(0x60671c0e00000000),
  5827. 215: uint64(0x27f558a100000000),
  5828. 216: uint64(0x8f87162100000000),
  5829. 217: uint64(0xc815528e00000000),
  5830. 218: uint64(0x40a5eea400000000),
  5831. 219: uint64(0x0737aa0b00000000),
  5832. 220: uint64(0x50c497f100000000),
  5833. 221: uint64(0x1756d35e00000000),
  5834. 222: uint64(0x9fe66f7400000000),
  5835. 223: uint64(0xd8742bdb00000000),
  5836. 224: uint64(0x33043d9d00000000),
  5837. 225: uint64(0x7496793200000000),
  5838. 226: uint64(0xfc26c51800000000),
  5839. 227: uint64(0xbbb481b700000000),
  5840. 228: uint64(0xec47bc4d00000000),
  5841. 229: uint64(0xabd5f8e200000000),
  5842. 230: uint64(0x236544c800000000),
  5843. 231: uint64(0x64f7006700000000),
  5844. 232: uint64(0xcc854ee700000000),
  5845. 233: uint64(0x8b170a4800000000),
  5846. 234: uint64(0x03a7b66200000000),
  5847. 235: uint64(0x4435f2cd00000000),
  5848. 236: uint64(0x13c6cf3700000000),
  5849. 237: uint64(0x54548b9800000000),
  5850. 238: uint64(0xdce437b200000000),
  5851. 239: uint64(0x9b76731d00000000),
  5852. 240: uint64(0xcd07da6900000000),
  5853. 241: uint64(0x8a959ec600000000),
  5854. 242: uint64(0x022522ec00000000),
  5855. 243: uint64(0x45b7664300000000),
  5856. 244: uint64(0x12445bb900000000),
  5857. 245: uint64(0x55d61f1600000000),
  5858. 246: uint64(0xdd66a33c00000000),
  5859. 247: uint64(0x9af4e79300000000),
  5860. 248: uint64(0x3286a91300000000),
  5861. 249: uint64(0x7514edbc00000000),
  5862. 250: uint64(0xfda4519600000000),
  5863. 251: uint64(0xba36153900000000),
  5864. 252: uint64(0xedc528c300000000),
  5865. 253: uint64(0xaa576c6c00000000),
  5866. 254: uint64(0x22e7d04600000000),
  5867. 255: uint64(0x657594e900000000),
  5868. },
  5869. }
  5870. var _x2n_table = [32]Tz_crc_t{
  5871. 0: uint32(0x40000000),
  5872. 1: uint32(0x20000000),
  5873. 2: uint32(0x08000000),
  5874. 3: uint32(0x00800000),
  5875. 4: uint32(0x00008000),
  5876. 5: uint32(0xedb88320),
  5877. 6: uint32(0xb1e6b092),
  5878. 7: uint32(0xa06a2517),
  5879. 8: uint32(0xed627dae),
  5880. 9: uint32(0x88d14467),
  5881. 10: uint32(0xd7bbfe6a),
  5882. 11: uint32(0xec447f11),
  5883. 12: uint32(0x8e7ea170),
  5884. 13: uint32(0x6427800e),
  5885. 14: uint32(0x4d47bae0),
  5886. 15: uint32(0x09fe548f),
  5887. 16: uint32(0x83852d0f),
  5888. 17: uint32(0x30362f1a),
  5889. 18: uint32(0x7b5a9cc3),
  5890. 19: uint32(0x31fec169),
  5891. 20: uint32(0x9fec022a),
  5892. 21: uint32(0x6c8dedc4),
  5893. 22: uint32(0x15d6874d),
  5894. 23: uint32(0x5fde7a4e),
  5895. 24: uint32(0xbad90e37),
  5896. 25: uint32(0x2e4e5eef),
  5897. 26: uint32(0x4eaba214),
  5898. 27: uint32(0xa8a472c0),
  5899. 28: uint32(0x429a969e),
  5900. 29: uint32(0x148d302a),
  5901. 30: uint32(0xc40ba6d0),
  5902. 31: uint32(0xc4e22c3c),
  5903. }
  5904. /* CRC polynomial. */
  5905. // C documentation
  5906. //
  5907. // /*
  5908. // Return a(x) multiplied by b(x) modulo p(x), where p(x) is the CRC polynomial,
  5909. // reflected. For speed, this requires that a not be zero.
  5910. // */
  5911. func _multmodp(tls *libc.TLS, a Tz_crc_t, b Tz_crc_t) (r Tz_crc_t) {
  5912. var m, p Tz_crc_t
  5913. var v2 uint32
  5914. _, _, _ = m, p, v2
  5915. m = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31)
  5916. p = uint32(0)
  5917. for {
  5918. if a&m != 0 {
  5919. p ^= b
  5920. if a&(m-uint32(1)) == uint32(0) {
  5921. break
  5922. }
  5923. }
  5924. m >>= uint32(1)
  5925. if b&uint32(1) != 0 {
  5926. v2 = b>>libc.Int32FromInt32(1) ^ uint32(m_POLY)
  5927. } else {
  5928. v2 = b >> int32(1)
  5929. }
  5930. b = v2
  5931. goto _1
  5932. _1:
  5933. }
  5934. return p
  5935. }
  5936. // C documentation
  5937. //
  5938. // /*
  5939. // Return x^(n * 2^k) modulo p(x). Requires that x2n_table[] has been
  5940. // initialized.
  5941. // */
  5942. func _x2nmodp(tls *libc.TLS, n Toff_t, k uint32) (r Tz_crc_t) {
  5943. var p Tz_crc_t
  5944. _ = p
  5945. p = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31) /* x^0 == 1 */
  5946. for n != 0 {
  5947. if n&int64(1) != 0 {
  5948. p = _multmodp(tls, _x2n_table[k&uint32(31)], p)
  5949. }
  5950. n >>= int64(1)
  5951. k++
  5952. }
  5953. return p
  5954. }
  5955. // C documentation
  5956. //
  5957. // /* =========================================================================
  5958. // * This function can be used by asm versions of crc32(), and to force the
  5959. // * generation of the CRC tables in a threaded application.
  5960. // */
  5961. func Xget_crc_table(tls *libc.TLS) (r uintptr) {
  5962. return uintptr(unsafe.Pointer(&_crc_table))
  5963. }
  5964. /* =========================================================================
  5965. * Use ARM machine instructions if available. This will compute the CRC about
  5966. * ten times faster than the braided calculation. This code does not check for
  5967. * the presence of the CRC instruction at run time. __ARM_FEATURE_CRC32 will
  5968. * only be defined if the compilation specifies an ARM processor architecture
  5969. * that has the instructions. For example, compiling with -march=armv8.1-a or
  5970. * -march=armv8-a+crc, or -march=native if the compile machine has the crc32
  5971. * instructions.
  5972. */
  5973. // C documentation
  5974. //
  5975. // /*
  5976. // Return the CRC of the W bytes in the word_t data, taking the
  5977. // least-significant byte of the word as the first byte of data, without any pre
  5978. // or post conditioning. This is used to combine the CRCs of each braid.
  5979. // */
  5980. func _crc_word(tls *libc.TLS, data Tz_word_t) (r Tz_crc_t) {
  5981. var k int32
  5982. _ = k
  5983. k = 0
  5984. for {
  5985. if !(k < int32(m_W)) {
  5986. break
  5987. }
  5988. data = data>>libc.Int32FromInt32(8) ^ uint64(_crc_table[data&uint64(0xff)])
  5989. goto _1
  5990. _1:
  5991. ;
  5992. k++
  5993. }
  5994. return uint32(data)
  5995. }
  5996. func _crc_word_big(tls *libc.TLS, data Tz_word_t) (r Tz_word_t) {
  5997. var k int32
  5998. _ = k
  5999. k = 0
  6000. for {
  6001. if !(k < int32(m_W)) {
  6002. break
  6003. }
  6004. data = data<<libc.Int32FromInt32(8) ^ _crc_big_table[data>>((libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1))<<libc.Int32FromInt32(3))&uint64(0xff)]
  6005. goto _1
  6006. _1:
  6007. ;
  6008. k++
  6009. }
  6010. return data
  6011. }
  6012. // C documentation
  6013. //
  6014. // /* ========================================================================= */
  6015. func Xcrc32_z(tls *libc.TLS, crc uint64, buf uintptr, len1 Tz_size_t) (r uint64) {
  6016. bp := tls.Alloc(16)
  6017. defer tls.Free(16)
  6018. var blks, v2, v4 Tz_size_t
  6019. var comb, crc01, crc11, crc21, crc31, crc41, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41 Tz_word_t
  6020. var crc0, crc1, crc2, crc3, crc4 Tz_crc_t
  6021. var k int32
  6022. var words, v1, v10, v11, v12, v13, v14, v6, v7, v8, v9 uintptr
  6023. var _ /* endian at bp+0 */ uint32
  6024. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = blks, comb, crc0, crc01, crc1, crc11, crc2, crc21, crc3, crc31, crc4, crc41, k, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41, words, v1, v10, v11, v12, v13, v14, v2, v4, v6, v7, v8, v9
  6025. /* Return initial CRC, if requested. */
  6026. if buf == uintptr(m_Z_NULL) {
  6027. return uint64(0)
  6028. }
  6029. /* Pre-condition the CRC */
  6030. crc = ^crc & uint64(0xffffffff)
  6031. /* If provided enough bytes, do a braided CRC calculation. */
  6032. if len1 >= libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W)+libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) {
  6033. /* Compute the CRC up to a z_word_t boundary. */
  6034. for len1 != 0 && uint64(buf)&libc.Uint64FromInt32(libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) != uint64(0) {
  6035. len1--
  6036. v1 = buf
  6037. buf++
  6038. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v1))))&uint64(0xff)])
  6039. }
  6040. /* Compute the CRC on as many N z_word_t blocks as are available. */
  6041. blks = len1 / libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W))
  6042. len1 -= blks * uint64(m_N) * uint64(m_W)
  6043. words = buf
  6044. /* Do endian check at execution time instead of compile time, since ARM
  6045. processors can change the endianness at execution time. If the
  6046. compiler knows what the endianness will be, it can optimize out the
  6047. check and the unused branch. */
  6048. *(*uint32)(unsafe.Pointer(bp)) = uint32(1)
  6049. if *(*uint8)(unsafe.Pointer(bp)) != 0 {
  6050. /* Initialize the CRC for each braid. */
  6051. crc0 = uint32(crc)
  6052. crc1 = uint32(0)
  6053. crc2 = uint32(0)
  6054. crc3 = uint32(0)
  6055. crc4 = uint32(0)
  6056. /*
  6057. Process the first blks-1 blocks, computing the CRCs on each braid
  6058. independently.
  6059. */
  6060. for {
  6061. blks--
  6062. v2 = blks
  6063. if !(v2 != 0) {
  6064. break
  6065. }
  6066. /* Load the word for each braid into registers. */
  6067. word0 = uint64(crc0) ^ *(*Tz_word_t)(unsafe.Pointer(words))
  6068. word1 = uint64(crc1) ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  6069. word2 = uint64(crc2) ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  6070. word3 = uint64(crc3) ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  6071. word4 = uint64(crc4) ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  6072. words += uintptr(m_N) * 8
  6073. /* Compute and update the CRC for each word. The loop should
  6074. get unrolled. */
  6075. crc0 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word0&uint64(0xff))*4))
  6076. crc1 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word1&uint64(0xff))*4))
  6077. crc2 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word2&uint64(0xff))*4))
  6078. crc3 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word3&uint64(0xff))*4))
  6079. crc4 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word4&uint64(0xff))*4))
  6080. k = int32(1)
  6081. for {
  6082. if !(k < int32(m_W)) {
  6083. break
  6084. }
  6085. crc0 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word0>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6086. crc1 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word1>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6087. crc2 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word2>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6088. crc3 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word3>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6089. crc4 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word4>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6090. goto _3
  6091. _3:
  6092. ;
  6093. k++
  6094. }
  6095. }
  6096. /*
  6097. Process the last block, combining the CRCs of the N braids at the
  6098. same time.
  6099. */
  6100. crc = uint64(_crc_word(tls, uint64(crc0)^*(*Tz_word_t)(unsafe.Pointer(words))))
  6101. crc = uint64(_crc_word(tls, uint64(crc1)^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^crc))
  6102. crc = uint64(_crc_word(tls, uint64(crc2)^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^crc))
  6103. crc = uint64(_crc_word(tls, uint64(crc3)^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^crc))
  6104. crc = uint64(_crc_word(tls, uint64(crc4)^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^crc))
  6105. words += uintptr(m_N) * 8
  6106. } else {
  6107. /* Initialize the CRC for each braid. */
  6108. crc01 = _byte_swap(tls, crc)
  6109. crc11 = uint64(0)
  6110. crc21 = uint64(0)
  6111. crc31 = uint64(0)
  6112. crc41 = uint64(0)
  6113. /*
  6114. Process the first blks-1 blocks, computing the CRCs on each braid
  6115. independently.
  6116. */
  6117. for {
  6118. blks--
  6119. v4 = blks
  6120. if !(v4 != 0) {
  6121. break
  6122. }
  6123. /* Load the word for each braid into registers. */
  6124. word01 = crc01 ^ *(*Tz_word_t)(unsafe.Pointer(words))
  6125. word11 = crc11 ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  6126. word21 = crc21 ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  6127. word31 = crc31 ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  6128. word41 = crc41 ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  6129. words += uintptr(m_N) * 8
  6130. /* Compute and update the CRC for each word. The loop should
  6131. get unrolled. */
  6132. crc01 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word01&uint64(0xff))*8))
  6133. crc11 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word11&uint64(0xff))*8))
  6134. crc21 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word21&uint64(0xff))*8))
  6135. crc31 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word31&uint64(0xff))*8))
  6136. crc41 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word41&uint64(0xff))*8))
  6137. k = int32(1)
  6138. for {
  6139. if !(k < int32(m_W)) {
  6140. break
  6141. }
  6142. crc01 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word01>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6143. crc11 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word11>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6144. crc21 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word21>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6145. crc31 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word31>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6146. crc41 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word41>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6147. goto _5
  6148. _5:
  6149. ;
  6150. k++
  6151. }
  6152. }
  6153. /*
  6154. Process the last block, combining the CRCs of the N braids at the
  6155. same time.
  6156. */
  6157. comb = _crc_word_big(tls, crc01^*(*Tz_word_t)(unsafe.Pointer(words)))
  6158. comb = _crc_word_big(tls, crc11^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^comb)
  6159. comb = _crc_word_big(tls, crc21^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^comb)
  6160. comb = _crc_word_big(tls, crc31^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^comb)
  6161. comb = _crc_word_big(tls, crc41^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^comb)
  6162. words += uintptr(m_N) * 8
  6163. crc = _byte_swap(tls, comb)
  6164. }
  6165. /*
  6166. Update the pointer to the remaining bytes to process.
  6167. */
  6168. buf = words
  6169. }
  6170. /* Complete the computation of the CRC on any remaining bytes. */
  6171. for len1 >= uint64(8) {
  6172. len1 -= uint64(8)
  6173. v6 = buf
  6174. buf++
  6175. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v6))))&uint64(0xff)])
  6176. v7 = buf
  6177. buf++
  6178. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v7))))&uint64(0xff)])
  6179. v8 = buf
  6180. buf++
  6181. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v8))))&uint64(0xff)])
  6182. v9 = buf
  6183. buf++
  6184. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v9))))&uint64(0xff)])
  6185. v10 = buf
  6186. buf++
  6187. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v10))))&uint64(0xff)])
  6188. v11 = buf
  6189. buf++
  6190. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v11))))&uint64(0xff)])
  6191. v12 = buf
  6192. buf++
  6193. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v12))))&uint64(0xff)])
  6194. v13 = buf
  6195. buf++
  6196. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v13))))&uint64(0xff)])
  6197. }
  6198. for len1 != 0 {
  6199. len1--
  6200. v14 = buf
  6201. buf++
  6202. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v14))))&uint64(0xff)])
  6203. }
  6204. /* Return the CRC, post-conditioned. */
  6205. return crc ^ uint64(0xffffffff)
  6206. }
  6207. // C documentation
  6208. //
  6209. // /* ========================================================================= */
  6210. func Xcrc32(tls *libc.TLS, crc uint64, buf uintptr, len1 TuInt) (r uint64) {
  6211. return Xcrc32_z(tls, crc, buf, uint64(len1))
  6212. }
  6213. // C documentation
  6214. //
  6215. // /* ========================================================================= */
  6216. func Xcrc32_combine64(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  6217. return uint64(_multmodp(tls, _x2nmodp(tls, len2, uint32(3)), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  6218. }
  6219. // C documentation
  6220. //
  6221. // /* ========================================================================= */
  6222. func Xcrc32_combine(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  6223. return Xcrc32_combine64(tls, crc1, crc2, len2)
  6224. }
  6225. // C documentation
  6226. //
  6227. // /* ========================================================================= */
  6228. func Xcrc32_combine_gen64(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  6229. return uint64(_x2nmodp(tls, len2, uint32(3)))
  6230. }
  6231. // C documentation
  6232. //
  6233. // /* ========================================================================= */
  6234. func Xcrc32_combine_gen(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  6235. return Xcrc32_combine_gen64(tls, len2)
  6236. }
  6237. // C documentation
  6238. //
  6239. // /* ========================================================================= */
  6240. func Xcrc32_combine_op(tls *libc.TLS, crc1 TuLong, crc2 TuLong, op TuLong) (r TuLong) {
  6241. return uint64(_multmodp(tls, uint32(op), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  6242. }
  6243. const m_BL_CODES = 19
  6244. const m_BUSY_STATE = 113
  6245. const m_Buf_size = 16
  6246. const m_COMMENT_STATE = 91
  6247. const m_D_CODES = 30
  6248. const m_EXTRA_STATE = 69
  6249. const m_FINISH_STATE = 666
  6250. const m_GZIP_STATE = 57
  6251. const m_HCRC_STATE = 103
  6252. const m_INIT_STATE = 42
  6253. const m_LENGTH_CODES = 29
  6254. const m_LITERALS = 256
  6255. const m_LIT_BUFS = 4
  6256. const m_MAX_BITS = 15
  6257. const m_MAX_STORED = 65535
  6258. const m_NAME_STATE = 73
  6259. const m_NIL = 0
  6260. const m_PRESET_DICT1 = 32
  6261. const m_TOO_FAR = 4096
  6262. const m_WIN_INIT = "MAX_MATCH"
  6263. const m_max_insert_length = "max_lazy_match"
  6264. type Tinternal_state = struct {
  6265. Fstrm Tz_streamp
  6266. Fstatus int32
  6267. Fpending_buf uintptr
  6268. Fpending_buf_size Tulg
  6269. Fpending_out uintptr
  6270. Fpending Tulg
  6271. Fwrap int32
  6272. Fgzhead Tgz_headerp
  6273. Fgzindex Tulg
  6274. Fmethod TByte
  6275. Flast_flush int32
  6276. Fw_size TuInt
  6277. Fw_bits TuInt
  6278. Fw_mask TuInt
  6279. Fwindow uintptr
  6280. Fwindow_size Tulg
  6281. Fprev uintptr
  6282. Fhead uintptr
  6283. Fins_h TuInt
  6284. Fhash_size TuInt
  6285. Fhash_bits TuInt
  6286. Fhash_mask TuInt
  6287. Fhash_shift TuInt
  6288. Fblock_start int64
  6289. Fmatch_length TuInt
  6290. Fprev_match TIPos
  6291. Fmatch_available int32
  6292. Fstrstart TuInt
  6293. Fmatch_start TuInt
  6294. Flookahead TuInt
  6295. Fprev_length TuInt
  6296. Fmax_chain_length TuInt
  6297. Fmax_lazy_match TuInt
  6298. Flevel int32
  6299. Fstrategy int32
  6300. Fgood_match TuInt
  6301. Fnice_match int32
  6302. Fdyn_ltree [573]Tct_data_s
  6303. Fdyn_dtree [61]Tct_data_s
  6304. Fbl_tree [39]Tct_data_s
  6305. Fl_desc Ttree_desc_s
  6306. Fd_desc Ttree_desc_s
  6307. Fbl_desc Ttree_desc_s
  6308. Fbl_count [16]Tush
  6309. Fheap [573]int32
  6310. Fheap_len int32
  6311. Fheap_max int32
  6312. Fdepth [573]Tuch
  6313. Fsym_buf uintptr
  6314. Flit_bufsize TuInt
  6315. Fsym_next TuInt
  6316. Fsym_end TuInt
  6317. Fopt_len Tulg
  6318. Fstatic_len Tulg
  6319. Fmatches TuInt
  6320. Finsert TuInt
  6321. Fbi_buf Tush
  6322. Fbi_valid int32
  6323. Fhigh_water Tulg
  6324. }
  6325. type Tct_data = struct {
  6326. Ffc struct {
  6327. Fcode [0]Tush
  6328. Ffreq Tush
  6329. }
  6330. Fdl struct {
  6331. Flen1 [0]Tush
  6332. Fdad Tush
  6333. }
  6334. }
  6335. type Tct_data_s = Tct_data
  6336. type Ttree_desc = struct {
  6337. Fdyn_tree uintptr
  6338. Fmax_code int32
  6339. Fstat_desc uintptr
  6340. }
  6341. type Ttree_desc_s = Ttree_desc
  6342. type TPos = uint16
  6343. type TPosf = uint16
  6344. type TIPos = uint32
  6345. type Tdeflate_state = struct {
  6346. Fstrm Tz_streamp
  6347. Fstatus int32
  6348. Fpending_buf uintptr
  6349. Fpending_buf_size Tulg
  6350. Fpending_out uintptr
  6351. Fpending Tulg
  6352. Fwrap int32
  6353. Fgzhead Tgz_headerp
  6354. Fgzindex Tulg
  6355. Fmethod TByte
  6356. Flast_flush int32
  6357. Fw_size TuInt
  6358. Fw_bits TuInt
  6359. Fw_mask TuInt
  6360. Fwindow uintptr
  6361. Fwindow_size Tulg
  6362. Fprev uintptr
  6363. Fhead uintptr
  6364. Fins_h TuInt
  6365. Fhash_size TuInt
  6366. Fhash_bits TuInt
  6367. Fhash_mask TuInt
  6368. Fhash_shift TuInt
  6369. Fblock_start int64
  6370. Fmatch_length TuInt
  6371. Fprev_match TIPos
  6372. Fmatch_available int32
  6373. Fstrstart TuInt
  6374. Fmatch_start TuInt
  6375. Flookahead TuInt
  6376. Fprev_length TuInt
  6377. Fmax_chain_length TuInt
  6378. Fmax_lazy_match TuInt
  6379. Flevel int32
  6380. Fstrategy int32
  6381. Fgood_match TuInt
  6382. Fnice_match int32
  6383. Fdyn_ltree [573]Tct_data_s
  6384. Fdyn_dtree [61]Tct_data_s
  6385. Fbl_tree [39]Tct_data_s
  6386. Fl_desc Ttree_desc_s
  6387. Fd_desc Ttree_desc_s
  6388. Fbl_desc Ttree_desc_s
  6389. Fbl_count [16]Tush
  6390. Fheap [573]int32
  6391. Fheap_len int32
  6392. Fheap_max int32
  6393. Fdepth [573]Tuch
  6394. Fsym_buf uintptr
  6395. Flit_bufsize TuInt
  6396. Fsym_next TuInt
  6397. Fsym_end TuInt
  6398. Fopt_len Tulg
  6399. Fstatic_len Tulg
  6400. Fmatches TuInt
  6401. Finsert TuInt
  6402. Fbi_buf Tush
  6403. Fbi_valid int32
  6404. Fhigh_water Tulg
  6405. }
  6406. /*
  6407. If you use the zlib library in a product, an acknowledgment is welcome
  6408. in the documentation of your product. If for some reason you cannot
  6409. include such an acknowledgment, I would appreciate that you keep this
  6410. copyright string in the executable of your product.
  6411. */
  6412. type Tblock_state = int32
  6413. const _need_more = 0
  6414. const /* block not completed, need more input or more output */
  6415. _block_done = 1
  6416. const /* block flush performed */
  6417. _finish_started = 2
  6418. const /* finish started, need only more output at next deflate */
  6419. _finish_done = 3
  6420. type Tcompress_func = uintptr
  6421. /* ===========================================================================
  6422. * Local data
  6423. */
  6424. /* Tail of hash chains */
  6425. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  6426. // C documentation
  6427. //
  6428. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  6429. // * the desired pack level (0..9). The values given below have been tuned to
  6430. // * exclude worst case performance for pathological files. Better values may be
  6431. // * found for specific files.
  6432. // */
  6433. type Tconfig = struct {
  6434. Fgood_length Tush
  6435. Fmax_lazy Tush
  6436. Fnice_length Tush
  6437. Fmax_chain Tush
  6438. Ffunc1 Tcompress_func
  6439. }
  6440. /* ===========================================================================
  6441. * Local data
  6442. */
  6443. /* Tail of hash chains */
  6444. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  6445. // C documentation
  6446. //
  6447. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  6448. // * the desired pack level (0..9). The values given below have been tuned to
  6449. // * exclude worst case performance for pathological files. Better values may be
  6450. // * found for specific files.
  6451. // */
  6452. type Tconfig_s = Tconfig
  6453. var _configuration_table = [10]Tconfig{
  6454. 0: {},
  6455. 1: {
  6456. Fgood_length: uint16(4),
  6457. Fmax_lazy: uint16(4),
  6458. Fnice_length: uint16(8),
  6459. Fmax_chain: uint16(4),
  6460. },
  6461. 2: {
  6462. Fgood_length: uint16(4),
  6463. Fmax_lazy: uint16(5),
  6464. Fnice_length: uint16(16),
  6465. Fmax_chain: uint16(8),
  6466. },
  6467. 3: {
  6468. Fgood_length: uint16(4),
  6469. Fmax_lazy: uint16(6),
  6470. Fnice_length: uint16(32),
  6471. Fmax_chain: uint16(32),
  6472. },
  6473. 4: {
  6474. Fgood_length: uint16(4),
  6475. Fmax_lazy: uint16(4),
  6476. Fnice_length: uint16(16),
  6477. Fmax_chain: uint16(16),
  6478. },
  6479. 5: {
  6480. Fgood_length: uint16(8),
  6481. Fmax_lazy: uint16(16),
  6482. Fnice_length: uint16(32),
  6483. Fmax_chain: uint16(32),
  6484. },
  6485. 6: {
  6486. Fgood_length: uint16(8),
  6487. Fmax_lazy: uint16(16),
  6488. Fnice_length: uint16(128),
  6489. Fmax_chain: uint16(128),
  6490. },
  6491. 7: {
  6492. Fgood_length: uint16(8),
  6493. Fmax_lazy: uint16(32),
  6494. Fnice_length: uint16(128),
  6495. Fmax_chain: uint16(256),
  6496. },
  6497. 8: {
  6498. Fgood_length: uint16(32),
  6499. Fmax_lazy: uint16(128),
  6500. Fnice_length: uint16(258),
  6501. Fmax_chain: uint16(1024),
  6502. },
  6503. 9: {
  6504. Fgood_length: uint16(32),
  6505. Fmax_lazy: uint16(258),
  6506. Fnice_length: uint16(258),
  6507. Fmax_chain: uint16(4096),
  6508. },
  6509. }
  6510. func init() {
  6511. p := unsafe.Pointer(&_configuration_table)
  6512. *(*uintptr)(unsafe.Add(p, 8)) = __ccgo_fp(_deflate_stored)
  6513. *(*uintptr)(unsafe.Add(p, 24)) = __ccgo_fp(_deflate_fast)
  6514. *(*uintptr)(unsafe.Add(p, 40)) = __ccgo_fp(_deflate_fast)
  6515. *(*uintptr)(unsafe.Add(p, 56)) = __ccgo_fp(_deflate_fast)
  6516. *(*uintptr)(unsafe.Add(p, 72)) = __ccgo_fp(_deflate_slow)
  6517. *(*uintptr)(unsafe.Add(p, 88)) = __ccgo_fp(_deflate_slow)
  6518. *(*uintptr)(unsafe.Add(p, 104)) = __ccgo_fp(_deflate_slow)
  6519. *(*uintptr)(unsafe.Add(p, 120)) = __ccgo_fp(_deflate_slow)
  6520. *(*uintptr)(unsafe.Add(p, 136)) = __ccgo_fp(_deflate_slow)
  6521. *(*uintptr)(unsafe.Add(p, 152)) = __ccgo_fp(_deflate_slow)
  6522. }
  6523. /* max compression */
  6524. /* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
  6525. * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
  6526. * meaning.
  6527. */
  6528. /* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
  6529. /* ===========================================================================
  6530. * Update a hash value with the given input byte
  6531. * IN assertion: all calls to UPDATE_HASH are made with consecutive input
  6532. * characters, so that a running hash key can be computed from the previous
  6533. * key instead of complete recalculation each time.
  6534. */
  6535. /* ===========================================================================
  6536. * Insert string str in the dictionary and set match_head to the previous head
  6537. * of the hash chain (the most recent string with same hash key). Return
  6538. * the previous length of the hash chain.
  6539. * If this file is compiled with -DFASTEST, the compression level is forced
  6540. * to 1, and no hash chains are maintained.
  6541. * IN assertion: all calls to INSERT_STRING are made with consecutive input
  6542. * characters and the first MIN_MATCH bytes of str are valid (except for
  6543. * the last MIN_MATCH-1 bytes of the input file).
  6544. */
  6545. /* ===========================================================================
  6546. * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
  6547. * prev[] will be initialized on the fly.
  6548. */
  6549. // C documentation
  6550. //
  6551. // /* ===========================================================================
  6552. // * Slide the hash table when sliding the window down (could be avoided with 32
  6553. // * bit values at the expense of memory usage). We slide even when level == 0 to
  6554. // * keep the hash table consistent if we switch back to level > 0 later.
  6555. // */
  6556. func _slide_hash(tls *libc.TLS, s uintptr) {
  6557. var m, n, v1, v4, v5, v8 uint32
  6558. var p, v3, v7 uintptr
  6559. var wsize TuInt
  6560. _, _, _, _, _, _, _, _, _, _ = m, n, p, wsize, v1, v3, v4, v5, v7, v8
  6561. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6562. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size
  6563. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr(n)*2
  6564. for {
  6565. p -= 2
  6566. v3 = p
  6567. m = uint32(*(*TPosf)(unsafe.Pointer(v3)))
  6568. if m >= wsize {
  6569. v4 = m - wsize
  6570. } else {
  6571. v4 = uint32(m_NIL)
  6572. }
  6573. *(*TPosf)(unsafe.Pointer(p)) = uint16(v4)
  6574. goto _2
  6575. _2:
  6576. ;
  6577. n--
  6578. v1 = n
  6579. if !(v1 != 0) {
  6580. break
  6581. }
  6582. }
  6583. n = wsize
  6584. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(n)*2
  6585. for {
  6586. p -= 2
  6587. v7 = p
  6588. m = uint32(*(*TPosf)(unsafe.Pointer(v7)))
  6589. if m >= wsize {
  6590. v8 = m - wsize
  6591. } else {
  6592. v8 = uint32(m_NIL)
  6593. }
  6594. *(*TPosf)(unsafe.Pointer(p)) = uint16(v8)
  6595. /* If n is not on any hash chain, prev[n] is garbage but
  6596. * its value will never be used.
  6597. */
  6598. goto _6
  6599. _6:
  6600. ;
  6601. n--
  6602. v5 = n
  6603. if !(v5 != 0) {
  6604. break
  6605. }
  6606. }
  6607. }
  6608. // C documentation
  6609. //
  6610. // /* ===========================================================================
  6611. // * Read a new buffer from the current input stream, update the adler32
  6612. // * and total number of bytes read. All deflate() input goes through
  6613. // * this function so some applications may wish to modify it to avoid
  6614. // * allocating a large strm->next_in buffer and copying from it.
  6615. // * (See also flush_pending()).
  6616. // */
  6617. func _read_buf(tls *libc.TLS, strm Tz_streamp, buf uintptr, size uint32) (r uint32) {
  6618. var len1 uint32
  6619. _ = len1
  6620. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  6621. if len1 > size {
  6622. len1 = size
  6623. }
  6624. if len1 == uint32(0) {
  6625. return uint32(0)
  6626. }
  6627. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  6628. libc.Xmemcpy(tls, buf, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(len1))
  6629. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(1) {
  6630. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  6631. } else {
  6632. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(2) {
  6633. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  6634. }
  6635. }
  6636. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  6637. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  6638. return len1
  6639. }
  6640. // C documentation
  6641. //
  6642. // /* ===========================================================================
  6643. // * Fill the window when the lookahead becomes insufficient.
  6644. // * Updates strstart and lookahead.
  6645. // *
  6646. // * IN assertion: lookahead < MIN_LOOKAHEAD
  6647. // * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
  6648. // * At least one byte has been read, or avail_in == 0; reads are
  6649. // * performed for at least two bytes (required for the zip translate_eol
  6650. // * option -- not supported here).
  6651. // */
  6652. func _fill_window(tls *libc.TLS, s uintptr) {
  6653. var curr, init1 Tulg
  6654. var more, n uint32
  6655. var str, wsize TuInt
  6656. _, _, _, _, _, _ = curr, init1, more, n, str, wsize /* Amount of free space at the end of the window. */
  6657. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6658. for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in != uint32(0) {
  6659. more = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  6660. /* Deal with !@#$% 64K limit: */
  6661. if uint64(4) <= uint64(2) {
  6662. if more == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  6663. more = wsize
  6664. } else {
  6665. if more == libc.Uint32FromInt32(-libc.Int32FromInt32(1)) {
  6666. /* Very unlikely, but possible on 16 bit machine if
  6667. * strstart == 0 && lookahead == 1 (input done a byte at time)
  6668. */
  6669. more--
  6670. }
  6671. }
  6672. }
  6673. /* If the window is almost full and there is insufficient lookahead,
  6674. * move the upper half to the lower one to make room in the upper half.
  6675. */
  6676. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart >= wsize+((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1))) {
  6677. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(wsize), uint64(wsize-more))
  6678. *(*TuInt)(unsafe.Pointer(s + 176)) -= wsize
  6679. *(*TuInt)(unsafe.Pointer(s + 172)) -= wsize /* we now have strstart >= MAX_DIST */
  6680. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32(wsize)
  6681. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  6682. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  6683. }
  6684. _slide_hash(tls, s)
  6685. more += wsize
  6686. }
  6687. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) {
  6688. break
  6689. }
  6690. /* If there was no sliding:
  6691. * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
  6692. * more == window_size - lookahead - strstart
  6693. * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
  6694. * => more >= window_size - 2*WSIZE + 2
  6695. * In the BIG_MEM or MMAP case (not yet supported),
  6696. * window_size == input_size + MIN_LOOKAHEAD &&
  6697. * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
  6698. * Otherwise, window_size == 2*WSIZE so more >= 2.
  6699. * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
  6700. */
  6701. n = _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead), more)
  6702. *(*TuInt)(unsafe.Pointer(s + 180)) += n
  6703. /* Initialize the hash value now that we have some input: */
  6704. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert >= uint32(m_MIN_MATCH) {
  6705. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  6706. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str))))
  6707. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  6708. for (*Tdeflate_state)(unsafe.Pointer(s)).Finsert != 0 {
  6709. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(m_MIN_MATCH)-uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  6710. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  6711. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  6712. str++
  6713. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert--
  6714. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert < uint32(m_MIN_MATCH) {
  6715. break
  6716. }
  6717. }
  6718. }
  6719. /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
  6720. * but this is not important since only literal bytes will be emitted.
  6721. */
  6722. }
  6723. /* If the WIN_INIT bytes after the end of the current data have never been
  6724. * written, then zero those bytes in order to avoid memory check reports of
  6725. * the use of uninitialized (or uninitialised as Julian writes) bytes by
  6726. * the longest match routines. Update the high water mark for the next
  6727. * time through here. WIN_INIT is set to MAX_MATCH since the longest match
  6728. * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
  6729. */
  6730. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size {
  6731. curr = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  6732. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr {
  6733. /* Previous high water mark below current data -- zero WIN_INIT
  6734. * bytes or up to end of window, whichever is less.
  6735. */
  6736. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - curr
  6737. if init1 > uint64(m_MAX_MATCH) {
  6738. init1 = uint64(m_MAX_MATCH)
  6739. }
  6740. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0, uint64(uint32(init1)))
  6741. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = curr + init1
  6742. } else {
  6743. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr+uint64(m_MAX_MATCH) {
  6744. /* High water mark at or above current data, but below current data
  6745. * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
  6746. * to end of window, whichever is less.
  6747. */
  6748. init1 = curr + uint64(m_MAX_MATCH) - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  6749. if init1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-(*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water {
  6750. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  6751. }
  6752. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water), 0, uint64(uint32(init1)))
  6753. *(*Tulg)(unsafe.Pointer(s + 5944)) += init1
  6754. }
  6755. }
  6756. }
  6757. }
  6758. // C documentation
  6759. //
  6760. // /* ========================================================================= */
  6761. func XdeflateInit_(tls *libc.TLS, strm Tz_streamp, level int32, version uintptr, stream_size int32) (r int32) {
  6762. return XdeflateInit2_(tls, strm, level, int32(m_Z_DEFLATED), int32(m_MAX_WBITS), int32(m_DEF_MEM_LEVEL), m_Z_DEFAULT_STRATEGY, version, stream_size)
  6763. /* To do: ignore strm->next_in if we use it as window */
  6764. }
  6765. // C documentation
  6766. //
  6767. // /* ========================================================================= */
  6768. func XdeflateInit2_(tls *libc.TLS, strm Tz_streamp, level int32, method int32, windowBits int32, memLevel int32, strategy int32, version uintptr, stream_size int32) (r int32) {
  6769. var s uintptr
  6770. var wrap int32
  6771. _, _ = s, wrap
  6772. wrap = int32(1)
  6773. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(_my_version[0]) || libc.Uint64FromInt32(stream_size) != uint64(112) {
  6774. return -int32(6)
  6775. }
  6776. if strm == uintptr(m_Z_NULL) {
  6777. return -int32(2)
  6778. }
  6779. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  6780. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  6781. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  6782. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  6783. }
  6784. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  6785. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  6786. }
  6787. if level == -int32(1) {
  6788. level = int32(6)
  6789. }
  6790. if windowBits < 0 { /* suppress zlib wrapper */
  6791. wrap = 0
  6792. if windowBits < -int32(15) {
  6793. return -int32(2)
  6794. }
  6795. windowBits = -windowBits
  6796. } else {
  6797. if windowBits > int32(15) {
  6798. wrap = int32(2) /* write gzip wrapper instead */
  6799. windowBits -= int32(16)
  6800. }
  6801. }
  6802. if memLevel < int32(1) || memLevel > int32(m_MAX_MEM_LEVEL) || method != int32(m_Z_DEFLATED) || windowBits < int32(8) || windowBits > int32(15) || level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) || windowBits == int32(8) && wrap != int32(1) {
  6803. return -int32(2)
  6804. }
  6805. if windowBits == int32(8) {
  6806. windowBits = int32(9)
  6807. } /* until 256-byte window bug fixed */
  6808. s = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(5952)))
  6809. if s == uintptr(m_Z_NULL) {
  6810. return -int32(4)
  6811. }
  6812. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = s
  6813. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm = strm
  6814. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_INIT_STATE) /* to pass state test in deflateReset() */
  6815. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  6816. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead = uintptr(m_Z_NULL)
  6817. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits = libc.Uint32FromInt32(windowBits)
  6818. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits)
  6819. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - uint32(1)
  6820. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits = libc.Uint32FromInt32(memLevel) + uint32(7)
  6821. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits)
  6822. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size - uint32(1)
  6823. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift = ((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits + libc.Uint32FromInt32(m_MIN_MATCH) - libc.Uint32FromInt32(1)) / libc.Uint32FromInt32(m_MIN_MATCH)
  6824. (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size, uint32(libc.Uint64FromInt32(2)*libc.Uint64FromInt64(1)))
  6825. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size, uint32(libc.Uint64FromInt64(2)))
  6826. (*Tdeflate_state)(unsafe.Pointer(s)).Fhead = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size, uint32(libc.Uint64FromInt64(2)))
  6827. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64(0) /* nothing written to s->window yet */
  6828. (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize = libc.Uint32FromInt32(int32(1) << (memLevel + int32(6))) /* 16K elements by default */
  6829. /* We overlay pending_buf and sym_buf. This works since the average size
  6830. * for length/distance pairs over any compressed block is assured to be 31
  6831. * bits or less.
  6832. *
  6833. * Analysis: The longest fixed codes are a length code of 8 bits plus 5
  6834. * extra bits, for lengths 131 to 257. The longest fixed distance codes are
  6835. * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest
  6836. * possible fixed-codes length/distance pair is then 31 bits total.
  6837. *
  6838. * sym_buf starts one-fourth of the way into pending_buf. So there are
  6839. * three bytes in sym_buf for every four bytes in pending_buf. Each symbol
  6840. * in sym_buf is three bytes -- two for the distance and one for the
  6841. * literal/length. As each symbol is consumed, the pointer to the next
  6842. * sym_buf value to read moves forward three bytes. From that symbol, up to
  6843. * 31 bits are written to pending_buf. The closest the written pending_buf
  6844. * bits gets to the next sym_buf symbol to read is just before the last
  6845. * code is written. At that time, 31*(n - 2) bits have been written, just
  6846. * after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at
  6847. * 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1
  6848. * symbols are written.) The closest the writing gets to what is unread is
  6849. * then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and
  6850. * can range from 128 to 32768.
  6851. *
  6852. * Therefore, at a minimum, there are 142 bits of space between what is
  6853. * written and what is read in the overlain buffers, so the symbols cannot
  6854. * be overwritten by the compressed data. That space is actually 139 bits,
  6855. * due to the three-bit fixed-code block header.
  6856. *
  6857. * That covers the case where either Z_FIXED is specified, forcing fixed
  6858. * codes, or when the use of fixed codes is chosen, because that choice
  6859. * results in a smaller compressed block than dynamic codes. That latter
  6860. * condition then assures that the above analysis also covers all dynamic
  6861. * blocks. A dynamic-code block will only be chosen to be emitted if it has
  6862. * fewer bits than a fixed-code block would for the same set of symbols.
  6863. * Therefore its average symbol length is assured to be less than 31. So
  6864. * the compressed data for a dynamic block also cannot overwrite the
  6865. * symbols from which it is being constructed.
  6866. */
  6867. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize, libc.Uint32FromInt32(libc.Int32FromInt32(m_LIT_BUFS)))
  6868. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize) * uint64(4)
  6869. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fprev == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fhead == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf == uintptr(m_Z_NULL) {
  6870. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  6871. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(4)]
  6872. XdeflateEnd(tls, strm)
  6873. return -int32(4)
  6874. }
  6875. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize)
  6876. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end = ((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize - uint32(1)) * uint32(3)
  6877. /* We avoid equality with lit_bufsize*3 because of wraparound at 64K
  6878. * on 16 bit machines and because stored blocks are restricted to
  6879. * 64K-1 bytes.
  6880. */
  6881. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  6882. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  6883. (*Tdeflate_state)(unsafe.Pointer(s)).Fmethod = libc.Uint8FromInt32(method)
  6884. return XdeflateReset(tls, strm)
  6885. }
  6886. var _my_version = [6]int8{'1', '.', '3', '.', '1'}
  6887. // C documentation
  6888. //
  6889. // /* =========================================================================
  6890. // * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
  6891. // */
  6892. func _deflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  6893. var s uintptr
  6894. _ = s
  6895. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  6896. return int32(1)
  6897. }
  6898. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  6899. if s == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm != strm || (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_GZIP_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_EXTRA_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_NAME_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_COMMENT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_HCRC_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_BUSY_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_FINISH_STATE) {
  6900. return int32(1)
  6901. }
  6902. return 0
  6903. }
  6904. // C documentation
  6905. //
  6906. // /* ========================================================================= */
  6907. func XdeflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  6908. var avail uint32
  6909. var n, str, v1, v3 TuInt
  6910. var next, s uintptr
  6911. var wrap int32
  6912. _, _, _, _, _, _, _, _ = avail, n, next, s, str, wrap, v1, v3
  6913. if _deflateStateCheck(tls, strm) != 0 || dictionary == uintptr(m_Z_NULL) {
  6914. return -int32(2)
  6915. }
  6916. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  6917. wrap = (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  6918. if wrap == int32(2) || wrap == int32(1) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != 0 {
  6919. return -int32(2)
  6920. }
  6921. /* when using zlib wrappers, compute Adler-32 for provided dictionary */
  6922. if wrap == int32(1) {
  6923. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, dictionary, dictLength)
  6924. }
  6925. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = 0 /* avoid computing Adler-32 in read_buf */
  6926. /* if dictionary would fill window, just replace the history */
  6927. if dictLength >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  6928. if wrap == 0 { /* already empty otherwise */
  6929. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  6930. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  6931. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  6932. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  6933. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  6934. }
  6935. dictionary += uintptr(dictLength - (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) /* use the tail */
  6936. dictLength = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6937. }
  6938. /* insert dictionary into window and hash */
  6939. avail = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  6940. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  6941. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = dictLength
  6942. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = dictionary
  6943. _fill_window(tls, s)
  6944. for (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  6945. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  6946. n = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))
  6947. for {
  6948. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(m_MIN_MATCH)-uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  6949. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  6950. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  6951. str++
  6952. goto _2
  6953. _2:
  6954. ;
  6955. n--
  6956. v1 = n
  6957. if !(v1 != 0) {
  6958. break
  6959. }
  6960. }
  6961. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = str
  6962. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  6963. _fill_window(tls, s)
  6964. }
  6965. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  6966. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  6967. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  6968. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  6969. v3 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  6970. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v3
  6971. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v3
  6972. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  6973. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  6974. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = avail
  6975. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  6976. return m_Z_OK
  6977. }
  6978. // C documentation
  6979. //
  6980. // /* ========================================================================= */
  6981. func XdeflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  6982. var len1 TuInt
  6983. var s uintptr
  6984. _, _ = len1, s
  6985. if _deflateStateCheck(tls, strm) != 0 {
  6986. return -int32(2)
  6987. }
  6988. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  6989. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  6990. if len1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  6991. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6992. }
  6993. if dictionary != uintptr(m_Z_NULL) && len1 != 0 {
  6994. libc.Xmemcpy(tls, dictionary, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)-uintptr(len1), uint64(len1))
  6995. }
  6996. if dictLength != uintptr(m_Z_NULL) {
  6997. *(*TuInt)(unsafe.Pointer(dictLength)) = len1
  6998. }
  6999. return m_Z_OK
  7000. }
  7001. // C documentation
  7002. //
  7003. // /* ========================================================================= */
  7004. func XdeflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7005. var s uintptr
  7006. var v1 TuLong
  7007. var v2 int32
  7008. var v3 uint64
  7009. _, _, _, _ = s, v1, v2, v3
  7010. if _deflateStateCheck(tls, strm) != 0 {
  7011. return -int32(2)
  7012. }
  7013. v1 = libc.Uint64FromInt32(0)
  7014. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  7015. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  7016. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* use zfree if we ever allocate msg dynamically */
  7017. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = int32(m_Z_UNKNOWN)
  7018. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7019. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = uint64(0)
  7020. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  7021. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap < 0 {
  7022. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap /* was made negative by deflate(..., Z_FINISH); */
  7023. }
  7024. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7025. v2 = int32(m_GZIP_STATE)
  7026. } else {
  7027. v2 = int32(m_INIT_STATE)
  7028. }
  7029. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = v2
  7030. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7031. v3 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7032. } else {
  7033. v3 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7034. }
  7035. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v3
  7036. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(2)
  7037. x__tr_init(tls, s)
  7038. return m_Z_OK
  7039. }
  7040. // C documentation
  7041. //
  7042. // /* ===========================================================================
  7043. // * Initialize the "longest match" routines for a new zlib stream
  7044. // */
  7045. func _lm_init(tls *libc.TLS, s uintptr) {
  7046. var v1 TuInt
  7047. _ = v1
  7048. (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size = libc.Uint64FromInt64(2) * uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  7049. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7050. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  7051. /* Set the default configuration parameters:
  7052. */
  7053. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_lazy)
  7054. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fgood_length)
  7055. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fnice_length)
  7056. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_chain)
  7057. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  7058. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  7059. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  7060. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  7061. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  7062. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v1
  7063. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v1
  7064. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  7065. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(0)
  7066. }
  7067. // C documentation
  7068. //
  7069. // /* ========================================================================= */
  7070. func XdeflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7071. var ret int32
  7072. _ = ret
  7073. ret = XdeflateResetKeep(tls, strm)
  7074. if ret == m_Z_OK {
  7075. _lm_init(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  7076. }
  7077. return ret
  7078. }
  7079. // C documentation
  7080. //
  7081. // /* ========================================================================= */
  7082. func XdeflateSetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  7083. if _deflateStateCheck(tls, strm) != 0 || (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap != int32(2) {
  7084. return -int32(2)
  7085. }
  7086. (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fgzhead = head
  7087. return m_Z_OK
  7088. }
  7089. // C documentation
  7090. //
  7091. // /* ========================================================================= */
  7092. func XdeflatePending(tls *libc.TLS, strm Tz_streamp, pending uintptr, bits uintptr) (r int32) {
  7093. if _deflateStateCheck(tls, strm) != 0 {
  7094. return -int32(2)
  7095. }
  7096. if pending != uintptr(m_Z_NULL) {
  7097. *(*uint32)(unsafe.Pointer(pending)) = uint32((*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending)
  7098. }
  7099. if bits != uintptr(m_Z_NULL) {
  7100. *(*int32)(unsafe.Pointer(bits)) = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fbi_valid
  7101. }
  7102. return m_Z_OK
  7103. }
  7104. // C documentation
  7105. //
  7106. // /* ========================================================================= */
  7107. func XdeflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  7108. var put int32
  7109. var s, p1 uintptr
  7110. _, _, _ = put, s, p1
  7111. if _deflateStateCheck(tls, strm) != 0 {
  7112. return -int32(2)
  7113. }
  7114. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7115. if bits < 0 || bits > int32(16) || (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf < (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out+uintptr((libc.Int32FromInt32(m_Buf_size)+libc.Int32FromInt32(7))>>libc.Int32FromInt32(3)) {
  7116. return -int32(5)
  7117. }
  7118. for cond := true; cond; cond = bits != 0 {
  7119. put = int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid
  7120. if put > bits {
  7121. put = bits
  7122. }
  7123. p1 = s + 5936
  7124. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(value&(libc.Int32FromInt32(1)<<put-libc.Int32FromInt32(1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)))
  7125. *(*int32)(unsafe.Pointer(s + 5940)) += put
  7126. x__tr_flush_bits(tls, s)
  7127. value >>= put
  7128. bits -= put
  7129. }
  7130. return m_Z_OK
  7131. }
  7132. // C documentation
  7133. //
  7134. // /* ========================================================================= */
  7135. func XdeflateParams(tls *libc.TLS, strm Tz_streamp, level int32, strategy int32) (r int32) {
  7136. var err int32
  7137. var func1 Tcompress_func
  7138. var s uintptr
  7139. _, _, _ = err, func1, s
  7140. if _deflateStateCheck(tls, strm) != 0 {
  7141. return -int32(2)
  7142. }
  7143. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7144. if level == -int32(1) {
  7145. level = int32(6)
  7146. }
  7147. if level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) {
  7148. return -int32(2)
  7149. }
  7150. func1 = _configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1
  7151. if (strategy != (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy || func1 != _configuration_table[level].Ffunc1) && (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush != -int32(2) {
  7152. /* Flush the last buffer: */
  7153. err = Xdeflate(tls, strm, int32(m_Z_BLOCK))
  7154. if err == -int32(2) {
  7155. return err
  7156. }
  7157. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 || libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start+libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) != 0 {
  7158. return -int32(5)
  7159. }
  7160. }
  7161. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != level {
  7162. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches != uint32(0) {
  7163. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches == uint32(1) {
  7164. _slide_hash(tls, s)
  7165. } else {
  7166. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7167. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  7168. }
  7169. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(0)
  7170. }
  7171. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  7172. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[level].Fmax_lazy)
  7173. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[level].Fgood_length)
  7174. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[level].Fnice_length)
  7175. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[level].Fmax_chain)
  7176. }
  7177. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  7178. return m_Z_OK
  7179. }
  7180. // C documentation
  7181. //
  7182. // /* ========================================================================= */
  7183. func XdeflateTune(tls *libc.TLS, strm Tz_streamp, good_length int32, max_lazy int32, nice_length int32, max_chain int32) (r int32) {
  7184. var s uintptr
  7185. _ = s
  7186. if _deflateStateCheck(tls, strm) != 0 {
  7187. return -int32(2)
  7188. }
  7189. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7190. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = libc.Uint32FromInt32(good_length)
  7191. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = libc.Uint32FromInt32(max_lazy)
  7192. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = nice_length
  7193. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = libc.Uint32FromInt32(max_chain)
  7194. return m_Z_OK
  7195. }
  7196. // C documentation
  7197. //
  7198. // /* =========================================================================
  7199. // * For the default windowBits of 15 and memLevel of 8, this function returns a
  7200. // * close to exact, as well as small, upper bound on the compressed size. This
  7201. // * is an expansion of ~0.03%, plus a small constant.
  7202. // *
  7203. // * For any setting other than those defaults for windowBits and memLevel, one
  7204. // * of two worst case bounds is returned. This is at most an expansion of ~4% or
  7205. // * ~13%, plus a small constant.
  7206. // *
  7207. // * Both the 0.03% and 4% derive from the overhead of stored blocks. The first
  7208. // * one is for stored blocks of 16383 bytes (memLevel == 8), whereas the second
  7209. // * is for stored blocks of 127 bytes (the worst case memLevel == 1). The
  7210. // * expansion results from five bytes of header for each stored block.
  7211. // *
  7212. // * The larger expansion of 13% results from a window size less than or equal to
  7213. // * the symbols buffer size (windowBits <= memLevel + 7). In that case some of
  7214. // * the data being compressed may have slid out of the sliding window, impeding
  7215. // * a stored block from being emitted. Then the only choice is a fixed or
  7216. // * dynamic block, where a fixed block limits the maximum expansion to 9 bits
  7217. // * per 8-bit byte, plus 10 bits for every block. The smallest block size for
  7218. // * which this can occur is 255 (memLevel == 2).
  7219. // *
  7220. // * Shifts are used to approximate divisions, for speed.
  7221. // */
  7222. func XdeflateBound(tls *libc.TLS, strm Tz_streamp, sourceLen TuLong) (r TuLong) {
  7223. var fixedlen, storelen, wraplen TuLong
  7224. var s, str, v3, v5 uintptr
  7225. var v1, v7 uint64
  7226. var v2 int32
  7227. _, _, _, _, _, _, _, _, _, _ = fixedlen, s, storelen, str, wraplen, v1, v2, v3, v5, v7
  7228. /* upper bound for fixed blocks with 9-bit literals and length 255
  7229. (memLevel == 2, which is the lowest that may not use stored blocks) --
  7230. ~13% overhead plus a small constant */
  7231. fixedlen = sourceLen + sourceLen>>libc.Int32FromInt32(3) + sourceLen>>libc.Int32FromInt32(8) + sourceLen>>libc.Int32FromInt32(9) + uint64(4)
  7232. /* upper bound for stored blocks with length 127 (memLevel == 1) --
  7233. ~4% overhead plus a small constant */
  7234. storelen = sourceLen + sourceLen>>libc.Int32FromInt32(5) + sourceLen>>libc.Int32FromInt32(7) + sourceLen>>libc.Int32FromInt32(11) + uint64(7)
  7235. /* if can't get parameters, return larger bound plus a zlib wrapper */
  7236. if _deflateStateCheck(tls, strm) != 0 {
  7237. if fixedlen > storelen {
  7238. v1 = fixedlen
  7239. } else {
  7240. v1 = storelen
  7241. }
  7242. return v1 + uint64(6)
  7243. }
  7244. /* compute wrapper length */
  7245. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7246. switch (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap {
  7247. case 0: /* raw deflate */
  7248. wraplen = uint64(0)
  7249. case int32(1): /* zlib wrapper */
  7250. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != 0 {
  7251. v2 = int32(4)
  7252. } else {
  7253. v2 = 0
  7254. }
  7255. wraplen = libc.Uint64FromInt32(int32(6) + v2)
  7256. case int32(2): /* gzip wrapper */
  7257. wraplen = uint64(18)
  7258. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead != uintptr(m_Z_NULL) {
  7259. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7260. wraplen += uint64(uint32(2) + (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len)
  7261. }
  7262. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname
  7263. if str != uintptr(m_Z_NULL) {
  7264. for {
  7265. wraplen++
  7266. goto _4
  7267. _4:
  7268. ;
  7269. v3 = str
  7270. str++
  7271. if !(*(*TBytef)(unsafe.Pointer(v3)) != 0) {
  7272. break
  7273. }
  7274. }
  7275. }
  7276. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment
  7277. if str != uintptr(m_Z_NULL) {
  7278. for {
  7279. wraplen++
  7280. goto _6
  7281. _6:
  7282. ;
  7283. v5 = str
  7284. str++
  7285. if !(*(*TBytef)(unsafe.Pointer(v5)) != 0) {
  7286. break
  7287. }
  7288. }
  7289. }
  7290. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7291. wraplen += uint64(2)
  7292. }
  7293. }
  7294. default: /* for compiler happiness */
  7295. wraplen = uint64(6)
  7296. }
  7297. /* if not default parameters, return one of the conservative bounds */
  7298. if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits != uint32(15) || (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits != libc.Uint32FromInt32(libc.Int32FromInt32(8)+libc.Int32FromInt32(7)) {
  7299. if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits <= (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits && (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != 0 {
  7300. v7 = fixedlen
  7301. } else {
  7302. v7 = storelen
  7303. }
  7304. return v7 + wraplen
  7305. }
  7306. /* default settings: return tight bound for that case -- ~0.03% overhead
  7307. plus a small constant */
  7308. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13) - uint64(6) + wraplen
  7309. }
  7310. // C documentation
  7311. //
  7312. // /* =========================================================================
  7313. // * Put a short in the pending buffer. The 16-bit value is put in MSB order.
  7314. // * IN assertion: the stream state is correct and there is enough room in
  7315. // * pending_buf.
  7316. // */
  7317. func _putShortMSB(tls *libc.TLS, s uintptr, b TuInt) {
  7318. var v1, v3 Tulg
  7319. var v2, v4 uintptr
  7320. _, _, _, _ = v1, v2, v3, v4
  7321. v2 = s + 40
  7322. v1 = *(*Tulg)(unsafe.Pointer(v2))
  7323. *(*Tulg)(unsafe.Pointer(v2))++
  7324. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = uint8(b >> libc.Int32FromInt32(8))
  7325. v4 = s + 40
  7326. v3 = *(*Tulg)(unsafe.Pointer(v4))
  7327. *(*Tulg)(unsafe.Pointer(v4))++
  7328. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = uint8(b & libc.Uint32FromInt32(0xff))
  7329. }
  7330. // C documentation
  7331. //
  7332. // /* =========================================================================
  7333. // * Flush as much pending output as possible. All deflate() output, except for
  7334. // * some deflate_stored() output, goes through this function so some
  7335. // * applications may wish to modify it to avoid allocating a large
  7336. // * strm->next_out buffer and copying into it. (See also read_buf()).
  7337. // */
  7338. func _flush_pending(tls *libc.TLS, strm Tz_streamp) {
  7339. var len1 uint32
  7340. var s uintptr
  7341. _, _ = len1, s
  7342. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7343. x__tr_flush_bits(tls, s)
  7344. len1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  7345. if len1 > (*Tz_stream)(unsafe.Pointer(strm)).Favail_out {
  7346. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  7347. }
  7348. if len1 == uint32(0) {
  7349. return
  7350. }
  7351. libc.Xmemcpy(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out, uint64(len1))
  7352. *(*uintptr)(unsafe.Pointer(strm + 24)) += uintptr(len1)
  7353. *(*uintptr)(unsafe.Pointer(s + 32)) += uintptr(len1)
  7354. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(len1)
  7355. *(*TuInt)(unsafe.Pointer(strm + 32)) -= len1
  7356. *(*Tulg)(unsafe.Pointer(s + 40)) -= uint64(len1)
  7357. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == uint64(0) {
  7358. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  7359. }
  7360. }
  7361. /* ===========================================================================
  7362. * Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1].
  7363. */
  7364. // C documentation
  7365. //
  7366. // /* ========================================================================= */
  7367. func Xdeflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  7368. var beg, beg1, beg2, v10, v12, v14, v16, v18, v20, v24, v26, v33, v35, v37, v39, v4, v41, v45, v47, v49, v51, v53, v55, v57, v59, v6, v61, v66, v68, v70, v72, v74, v76, v78, v8, v80 Tulg
  7369. var bstate Tblock_state
  7370. var copy1, header, left, level_flags TuInt
  7371. var old_flush, val, val1, v1, v2, v22, v23, v28, v29, v30, v31, v32, v43, v44, v63, v64, v65, v82 int32
  7372. var s, v11, v13, v15, v17, v19, v21, v25, v27, v34, v36, v38, v40, v42, v46, v48, v5, v50, v52, v54, v56, v58, v60, v62, v67, v69, v7, v71, v73, v75, v77, v79, v81, v9 uintptr
  7373. var v3 bool
  7374. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = beg, beg1, beg2, bstate, copy1, header, left, level_flags, old_flush, s, val, val1, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v5, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v6, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v7, v70, v71, v72, v73, v74, v75, v76, v77, v78, v79, v8, v80, v81, v82, v9
  7375. if _deflateStateCheck(tls, strm) != 0 || flush > int32(m_Z_BLOCK) || flush < 0 {
  7376. return -int32(2)
  7377. }
  7378. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7379. if (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) && (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && flush != int32(m_Z_FINISH) {
  7380. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(2)]
  7381. return -libc.Int32FromInt32(2)
  7382. }
  7383. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7384. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7385. return -libc.Int32FromInt32(5)
  7386. }
  7387. old_flush = (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush
  7388. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = flush
  7389. /* Flush as much pending output as possible */
  7390. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7391. _flush_pending(tls, strm)
  7392. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7393. /* Since avail_out is 0, deflate will be called again with
  7394. * more output space, but possibly with both pending and
  7395. * avail_in equal to zero. There won't be anything to do,
  7396. * but this is not an error situation so make sure we
  7397. * return OK instead of BUF_ERROR at next call of deflate:
  7398. */
  7399. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7400. return m_Z_OK
  7401. }
  7402. /* Make sure there is something to do and avoid duplicate consecutive
  7403. * flushes. For repeated and useless calls with Z_FINISH, we keep
  7404. * returning Z_STREAM_END instead of Z_BUF_ERROR.
  7405. */
  7406. } else {
  7407. if v3 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0); v3 {
  7408. if flush > int32(4) {
  7409. v1 = int32(9)
  7410. } else {
  7411. v1 = 0
  7412. }
  7413. if old_flush > int32(4) {
  7414. v2 = int32(9)
  7415. } else {
  7416. v2 = 0
  7417. }
  7418. }
  7419. if v3 && flush*int32(2)-v1 <= old_flush*int32(2)-v2 && flush != int32(m_Z_FINISH) {
  7420. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7421. return -libc.Int32FromInt32(5)
  7422. }
  7423. }
  7424. /* User must not provide more input after the first FINISH: */
  7425. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
  7426. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7427. return -libc.Int32FromInt32(5)
  7428. }
  7429. /* Write the header */
  7430. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == 0 {
  7431. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7432. }
  7433. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) {
  7434. /* zlib header */
  7435. header = (uint32(m_Z_DEFLATED) + ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits-uint32(8))<<int32(4)) << int32(8)
  7436. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7437. level_flags = uint32(0)
  7438. } else {
  7439. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(6) {
  7440. level_flags = uint32(1)
  7441. } else {
  7442. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(6) {
  7443. level_flags = uint32(2)
  7444. } else {
  7445. level_flags = uint32(3)
  7446. }
  7447. }
  7448. }
  7449. header |= level_flags << libc.Int32FromInt32(6)
  7450. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  7451. header |= uint32(m_PRESET_DICT1)
  7452. }
  7453. header += uint32(31) - header%uint32(31)
  7454. _putShortMSB(tls, s, header)
  7455. /* Save the adler32 of the preset dictionary: */
  7456. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  7457. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  7458. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  7459. }
  7460. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7461. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7462. /* Compression must start with an empty pending buffer */
  7463. _flush_pending(tls, strm)
  7464. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7465. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7466. return m_Z_OK
  7467. }
  7468. }
  7469. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_GZIP_STATE) {
  7470. /* gzip header */
  7471. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7472. v5 = s + 40
  7473. v4 = *(*Tulg)(unsafe.Pointer(v5))
  7474. *(*Tulg)(unsafe.Pointer(v5))++
  7475. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromInt32(31))
  7476. v7 = s + 40
  7477. v6 = *(*Tulg)(unsafe.Pointer(v7))
  7478. *(*Tulg)(unsafe.Pointer(v7))++
  7479. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromInt32(139))
  7480. v9 = s + 40
  7481. v8 = *(*Tulg)(unsafe.Pointer(v9))
  7482. *(*Tulg)(unsafe.Pointer(v9))++
  7483. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromInt32(8))
  7484. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead == uintptr(m_Z_NULL) {
  7485. v11 = s + 40
  7486. v10 = *(*Tulg)(unsafe.Pointer(v11))
  7487. *(*Tulg)(unsafe.Pointer(v11))++
  7488. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7489. v13 = s + 40
  7490. v12 = *(*Tulg)(unsafe.Pointer(v13))
  7491. *(*Tulg)(unsafe.Pointer(v13))++
  7492. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7493. v15 = s + 40
  7494. v14 = *(*Tulg)(unsafe.Pointer(v15))
  7495. *(*Tulg)(unsafe.Pointer(v15))++
  7496. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7497. v17 = s + 40
  7498. v16 = *(*Tulg)(unsafe.Pointer(v17))
  7499. *(*Tulg)(unsafe.Pointer(v17))++
  7500. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7501. v19 = s + 40
  7502. v18 = *(*Tulg)(unsafe.Pointer(v19))
  7503. *(*Tulg)(unsafe.Pointer(v19))++
  7504. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7505. v21 = s + 40
  7506. v20 = *(*Tulg)(unsafe.Pointer(v21))
  7507. *(*Tulg)(unsafe.Pointer(v21))++
  7508. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  7509. v22 = int32(2)
  7510. } else {
  7511. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7512. v23 = int32(4)
  7513. } else {
  7514. v23 = 0
  7515. }
  7516. v22 = v23
  7517. }
  7518. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(v22)
  7519. v25 = s + 40
  7520. v24 = *(*Tulg)(unsafe.Pointer(v25))
  7521. *(*Tulg)(unsafe.Pointer(v25))++
  7522. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromInt32(m_OS_CODE))
  7523. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7524. /* Compression must start with an empty pending buffer */
  7525. _flush_pending(tls, strm)
  7526. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7527. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7528. return m_Z_OK
  7529. }
  7530. } else {
  7531. v27 = s + 40
  7532. v26 = *(*Tulg)(unsafe.Pointer(v27))
  7533. *(*Tulg)(unsafe.Pointer(v27))++
  7534. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftext != 0 {
  7535. v28 = int32(1)
  7536. } else {
  7537. v28 = 0
  7538. }
  7539. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7540. v29 = int32(2)
  7541. } else {
  7542. v29 = 0
  7543. }
  7544. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra == uintptr(m_Z_NULL) {
  7545. v30 = 0
  7546. } else {
  7547. v30 = int32(4)
  7548. }
  7549. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname == uintptr(m_Z_NULL) {
  7550. v31 = 0
  7551. } else {
  7552. v31 = int32(8)
  7553. }
  7554. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment == uintptr(m_Z_NULL) {
  7555. v32 = 0
  7556. } else {
  7557. v32 = int32(16)
  7558. }
  7559. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(v28 + v29 + v30 + v31 + v32)
  7560. v34 = s + 40
  7561. v33 = *(*Tulg)(unsafe.Pointer(v34))
  7562. *(*Tulg)(unsafe.Pointer(v34))++
  7563. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v33))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime & libc.Uint64FromInt32(0xff))
  7564. v36 = s + 40
  7565. v35 = *(*Tulg)(unsafe.Pointer(v36))
  7566. *(*Tulg)(unsafe.Pointer(v36))++
  7567. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v35))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7568. v38 = s + 40
  7569. v37 = *(*Tulg)(unsafe.Pointer(v38))
  7570. *(*Tulg)(unsafe.Pointer(v38))++
  7571. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v37))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  7572. v40 = s + 40
  7573. v39 = *(*Tulg)(unsafe.Pointer(v40))
  7574. *(*Tulg)(unsafe.Pointer(v40))++
  7575. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v39))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  7576. v42 = s + 40
  7577. v41 = *(*Tulg)(unsafe.Pointer(v42))
  7578. *(*Tulg)(unsafe.Pointer(v42))++
  7579. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  7580. v43 = int32(2)
  7581. } else {
  7582. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7583. v44 = int32(4)
  7584. } else {
  7585. v44 = 0
  7586. }
  7587. v43 = v44
  7588. }
  7589. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v41))) = libc.Uint8FromInt32(v43)
  7590. v46 = s + 40
  7591. v45 = *(*Tulg)(unsafe.Pointer(v46))
  7592. *(*Tulg)(unsafe.Pointer(v46))++
  7593. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v45))) = libc.Uint8FromInt32((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fos & libc.Int32FromInt32(0xff))
  7594. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7595. v48 = s + 40
  7596. v47 = *(*Tulg)(unsafe.Pointer(v48))
  7597. *(*Tulg)(unsafe.Pointer(v48))++
  7598. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v47))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len & libc.Uint32FromInt32(0xff))
  7599. v50 = s + 40
  7600. v49 = *(*Tulg)(unsafe.Pointer(v50))
  7601. *(*Tulg)(unsafe.Pointer(v50))++
  7602. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v49))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len >> libc.Int32FromInt32(8) & libc.Uint32FromInt32(0xff))
  7603. }
  7604. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7605. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf, uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending))
  7606. }
  7607. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7608. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_EXTRA_STATE)
  7609. }
  7610. }
  7611. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_EXTRA_STATE) {
  7612. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7613. beg = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending /* start of bytes to update crc */
  7614. left = uint32(uint64((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len&libc.Uint32FromInt32(0xffff)) - (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex)
  7615. for (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(left) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7616. copy1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  7617. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(copy1))
  7618. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size
  7619. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  7620. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg))
  7621. }
  7622. *(*Tulg)(unsafe.Pointer(s + 64)) += uint64(copy1)
  7623. _flush_pending(tls, strm)
  7624. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7625. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7626. return m_Z_OK
  7627. }
  7628. beg = uint64(0)
  7629. left -= copy1
  7630. }
  7631. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(left))
  7632. *(*Tulg)(unsafe.Pointer(s + 40)) += uint64(left)
  7633. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  7634. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg))
  7635. }
  7636. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7637. }
  7638. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_NAME_STATE)
  7639. }
  7640. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_NAME_STATE) {
  7641. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname != uintptr(m_Z_NULL) {
  7642. beg1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  7643. for cond := true; cond; cond = val != 0 {
  7644. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7645. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  7646. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg1), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg1))
  7647. }
  7648. _flush_pending(tls, strm)
  7649. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7650. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7651. return m_Z_OK
  7652. }
  7653. beg1 = uint64(0)
  7654. }
  7655. v52 = s + 64
  7656. v51 = *(*Tulg)(unsafe.Pointer(v52))
  7657. *(*Tulg)(unsafe.Pointer(v52))++
  7658. val = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname + uintptr(v51))))
  7659. v54 = s + 40
  7660. v53 = *(*Tulg)(unsafe.Pointer(v54))
  7661. *(*Tulg)(unsafe.Pointer(v54))++
  7662. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v53))) = libc.Uint8FromInt32(val)
  7663. }
  7664. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  7665. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg1), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg1))
  7666. }
  7667. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7668. }
  7669. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_COMMENT_STATE)
  7670. }
  7671. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_COMMENT_STATE) {
  7672. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment != uintptr(m_Z_NULL) {
  7673. beg2 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  7674. for cond := true; cond; cond = val1 != 0 {
  7675. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7676. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  7677. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg2), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg2))
  7678. }
  7679. _flush_pending(tls, strm)
  7680. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7681. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7682. return m_Z_OK
  7683. }
  7684. beg2 = uint64(0)
  7685. }
  7686. v56 = s + 64
  7687. v55 = *(*Tulg)(unsafe.Pointer(v56))
  7688. *(*Tulg)(unsafe.Pointer(v56))++
  7689. val1 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment + uintptr(v55))))
  7690. v58 = s + 40
  7691. v57 = *(*Tulg)(unsafe.Pointer(v58))
  7692. *(*Tulg)(unsafe.Pointer(v58))++
  7693. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v57))) = libc.Uint8FromInt32(val1)
  7694. }
  7695. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  7696. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg2), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg2))
  7697. }
  7698. }
  7699. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_HCRC_STATE)
  7700. }
  7701. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_HCRC_STATE) {
  7702. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7703. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(2) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7704. _flush_pending(tls, strm)
  7705. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7706. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7707. return m_Z_OK
  7708. }
  7709. }
  7710. v60 = s + 40
  7711. v59 = *(*Tulg)(unsafe.Pointer(v60))
  7712. *(*Tulg)(unsafe.Pointer(v60))++
  7713. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v59))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  7714. v62 = s + 40
  7715. v61 = *(*Tulg)(unsafe.Pointer(v62))
  7716. *(*Tulg)(unsafe.Pointer(v62))++
  7717. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v61))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7718. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7719. }
  7720. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7721. /* Compression must start with an empty pending buffer */
  7722. _flush_pending(tls, strm)
  7723. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7724. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7725. return m_Z_OK
  7726. }
  7727. }
  7728. /* Start a new block or continue the current one.
  7729. */
  7730. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != uint32(0) || flush != m_Z_NO_FLUSH && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_FINISH_STATE) {
  7731. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 {
  7732. v63 = _deflate_stored(tls, s, flush)
  7733. } else {
  7734. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_HUFFMAN_ONLY) {
  7735. v64 = _deflate_huff(tls, s, flush)
  7736. } else {
  7737. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_RLE) {
  7738. v65 = _deflate_rle(tls, s, flush)
  7739. } else {
  7740. v65 = (*(*func(*libc.TLS, uintptr, int32) Tblock_state)(unsafe.Pointer(&struct{ uintptr }{_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1})))(tls, s, flush)
  7741. }
  7742. v64 = v65
  7743. }
  7744. v63 = v64
  7745. }
  7746. bstate = v63
  7747. if bstate == int32(_finish_started) || bstate == int32(_finish_done) {
  7748. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  7749. }
  7750. if bstate == int32(_need_more) || bstate == int32(_finish_started) {
  7751. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7752. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR next call, see above */
  7753. }
  7754. return m_Z_OK
  7755. /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
  7756. * of deflate should use the same flush parameter to make sure
  7757. * that the flush is complete. So we don't have to output an
  7758. * empty block here, this will be done at next call. This also
  7759. * ensures that for a very small output buffer, we emit at most
  7760. * one empty block.
  7761. */
  7762. }
  7763. if bstate == int32(_block_done) {
  7764. if flush == int32(m_Z_PARTIAL_FLUSH) {
  7765. x__tr_align(tls, s)
  7766. } else {
  7767. if flush != int32(m_Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
  7768. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), 0)
  7769. /* For a full flush, this empty block will be recognized
  7770. * as a special marker by inflate_sync().
  7771. */
  7772. if flush == int32(m_Z_FULL_FLUSH) {
  7773. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7774. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2)) /* forget history */
  7775. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  7776. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  7777. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  7778. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  7779. }
  7780. }
  7781. }
  7782. }
  7783. _flush_pending(tls, strm)
  7784. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7785. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR at next call, see above */
  7786. return m_Z_OK
  7787. }
  7788. }
  7789. }
  7790. if flush != int32(m_Z_FINISH) {
  7791. return m_Z_OK
  7792. }
  7793. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap <= 0 {
  7794. return int32(m_Z_STREAM_END)
  7795. }
  7796. /* Write the trailer */
  7797. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7798. v67 = s + 40
  7799. v66 = *(*Tulg)(unsafe.Pointer(v67))
  7800. *(*Tulg)(unsafe.Pointer(v67))++
  7801. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v66))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  7802. v69 = s + 40
  7803. v68 = *(*Tulg)(unsafe.Pointer(v69))
  7804. *(*Tulg)(unsafe.Pointer(v69))++
  7805. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v68))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7806. v71 = s + 40
  7807. v70 = *(*Tulg)(unsafe.Pointer(v71))
  7808. *(*Tulg)(unsafe.Pointer(v71))++
  7809. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v70))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  7810. v73 = s + 40
  7811. v72 = *(*Tulg)(unsafe.Pointer(v73))
  7812. *(*Tulg)(unsafe.Pointer(v73))++
  7813. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v72))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  7814. v75 = s + 40
  7815. v74 = *(*Tulg)(unsafe.Pointer(v75))
  7816. *(*Tulg)(unsafe.Pointer(v75))++
  7817. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v74))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in & libc.Uint64FromInt32(0xff))
  7818. v77 = s + 40
  7819. v76 = *(*Tulg)(unsafe.Pointer(v77))
  7820. *(*Tulg)(unsafe.Pointer(v77))++
  7821. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v76))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7822. v79 = s + 40
  7823. v78 = *(*Tulg)(unsafe.Pointer(v79))
  7824. *(*Tulg)(unsafe.Pointer(v79))++
  7825. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v78))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  7826. v81 = s + 40
  7827. v80 = *(*Tulg)(unsafe.Pointer(v81))
  7828. *(*Tulg)(unsafe.Pointer(v81))++
  7829. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v80))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  7830. } else {
  7831. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  7832. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  7833. }
  7834. _flush_pending(tls, strm)
  7835. /* If avail_out is zero, the application will call deflate again
  7836. * to flush the rest.
  7837. */
  7838. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap > 0 {
  7839. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  7840. } /* write the trailer only once! */
  7841. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7842. v82 = m_Z_OK
  7843. } else {
  7844. v82 = int32(m_Z_STREAM_END)
  7845. }
  7846. return v82
  7847. }
  7848. // C documentation
  7849. //
  7850. // /* ========================================================================= */
  7851. func XdeflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7852. var status, v1 int32
  7853. _, _ = status, v1
  7854. if _deflateStateCheck(tls, strm) != 0 {
  7855. return -int32(2)
  7856. }
  7857. status = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fstatus
  7858. /* Deallocate in reverse order of allocations: */
  7859. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf != 0 {
  7860. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf)
  7861. }
  7862. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead != 0 {
  7863. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead)
  7864. }
  7865. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev != 0 {
  7866. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev)
  7867. }
  7868. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow != 0 {
  7869. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow)
  7870. }
  7871. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  7872. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  7873. if status == int32(m_BUSY_STATE) {
  7874. v1 = -int32(3)
  7875. } else {
  7876. v1 = m_Z_OK
  7877. }
  7878. return v1
  7879. }
  7880. // C documentation
  7881. //
  7882. // /* =========================================================================
  7883. // * Copy the source state to the destination state.
  7884. // * To simplify the source, this is not supported for 16-bit MSDOS (which
  7885. // * doesn't have enough memory anyway to duplicate compression states).
  7886. // */
  7887. func XdeflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  7888. var ds, ss uintptr
  7889. _, _ = ds, ss
  7890. if _deflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  7891. return -int32(2)
  7892. }
  7893. ss = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  7894. libc.Xmemcpy(tls, dest, source, uint64(112))
  7895. ds = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(5952)))
  7896. if ds == uintptr(m_Z_NULL) {
  7897. return -int32(4)
  7898. }
  7899. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = ds
  7900. libc.Xmemcpy(tls, ds, ss, uint64(5952))
  7901. (*Tdeflate_state)(unsafe.Pointer(ds)).Fstrm = dest
  7902. (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(libc.Uint64FromInt32(2)*libc.Uint64FromInt64(1)))
  7903. (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(libc.Uint64FromInt64(2)))
  7904. (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fhash_size, uint32(libc.Uint64FromInt64(2)))
  7905. (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize, libc.Uint32FromInt32(libc.Int32FromInt32(m_LIT_BUFS)))
  7906. if (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf == uintptr(m_Z_NULL) {
  7907. XdeflateEnd(tls, dest)
  7908. return -int32(4)
  7909. }
  7910. /* following zmemcpy do not work for 16-bit MSDOS */
  7911. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(ss)).Fwindow, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size*uint32(2))*uint64(1))
  7912. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev, (*Tdeflate_state)(unsafe.Pointer(ss)).Fprev, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size)*uint64(2))
  7913. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead, (*Tdeflate_state)(unsafe.Pointer(ss)).Fhead, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fhash_size)*uint64(2))
  7914. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf, (*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_buf, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize*uint32(m_LIT_BUFS)))
  7915. (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr(int64((*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_out)-int64((*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_buf))
  7916. (*Tdeflate_state)(unsafe.Pointer(ds)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize)
  7917. (*Tdeflate_state)(unsafe.Pointer(ds)).Fl_desc.Fdyn_tree = ds + 212
  7918. (*Tdeflate_state)(unsafe.Pointer(ds)).Fd_desc.Fdyn_tree = ds + 2504
  7919. (*Tdeflate_state)(unsafe.Pointer(ds)).Fbl_desc.Fdyn_tree = ds + 2748
  7920. return m_Z_OK
  7921. }
  7922. // C documentation
  7923. //
  7924. // /* ===========================================================================
  7925. // * Set match_start to the longest match starting at the given string and
  7926. // * return its length. Matches shorter or equal to prev_length are discarded,
  7927. // * in which case the result is equal to prev_length and match_start is
  7928. // * garbage.
  7929. // * IN assertions: cur_match is the head of the hash chain for the current
  7930. // * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
  7931. // * OUT assertion: the match length is not greater than s->lookahead.
  7932. // */
  7933. func _longest_match(tls *libc.TLS, s uintptr, cur_match TIPos) (r TuInt) {
  7934. var best_len, len1, nice_match int32
  7935. var chain_length, v1, v3 uint32
  7936. var limit, v2 TIPos
  7937. var match, prev, scan, strend, v10, v11, v13, v14, v16, v17, v19, v20, v22, v23, v25, v26, v28, v29, v6, v8, v9 uintptr
  7938. var scan_end, scan_end1 TByte
  7939. var wmask TuInt
  7940. var v12, v15, v18, v21, v24, v27, v30, v4, v7 bool
  7941. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best_len, chain_length, len1, limit, match, nice_match, prev, scan, scan_end, scan_end1, strend, wmask, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v4, v6, v7, v8, v9
  7942. chain_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length /* max hash chain length */
  7943. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) /* length of current match */
  7944. best_len = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length) /* best match length so far */
  7945. nice_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match
  7946. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  7947. v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)))
  7948. } else {
  7949. v1 = uint32(m_NIL)
  7950. } /* stop if match long enough */
  7951. limit = v1
  7952. /* Stop when cur_match becomes <= limit. To simplify the code,
  7953. * we prevent matches with the string of window index 0.
  7954. */
  7955. prev = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev
  7956. wmask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask
  7957. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  7958. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  7959. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  7960. /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
  7961. * It is easy to get rid of this optimization if necessary.
  7962. */
  7963. /* Do not waste too much time if we already have a good match: */
  7964. if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match {
  7965. chain_length >>= uint32(2)
  7966. }
  7967. /* Do not look for matches beyond the end of the input. This is necessary
  7968. * to make deflate deterministic.
  7969. */
  7970. if libc.Uint32FromInt32(nice_match) > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  7971. nice_match = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  7972. }
  7973. for {
  7974. match = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(cur_match)
  7975. /* Skip to next match if the match length cannot increase
  7976. * or if the match length is less than 2. Note that the checks below
  7977. * for insufficient lookahead only occur occasionally for performance
  7978. * reasons. Therefore uninitialized memory will be accessed, and
  7979. * conditional jumps will be made that depend on those values.
  7980. * However the length of the match is limited to the lookahead, so
  7981. * the output of deflate is not affected by the uninitialized values.
  7982. */
  7983. if v7 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match + uintptr(best_len)))) != libc.Int32FromUint8(scan_end) || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match + uintptr(best_len-int32(1))))) != libc.Int32FromUint8(scan_end1) || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan))); !v7 {
  7984. match++
  7985. v6 = match
  7986. }
  7987. if v7 || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v6))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan + 1))) {
  7988. goto _5
  7989. }
  7990. /* The check at best_len - 1 can be removed because it will be made
  7991. * again later. (This heuristic is not always a win.)
  7992. * It is not necessary to compare scan[2] and match[2] since they
  7993. * are always equal when the other bytes match, given that
  7994. * the hash keys are equal and that HASH_BITS >= 8.
  7995. */
  7996. scan += uintptr(2)
  7997. /* The check at best_len - 1 can be removed because it will be made
  7998. * again later. (This heuristic is not always a win.)
  7999. * It is not necessary to compare scan[2] and match[2] since they
  8000. * are always equal when the other bytes match, given that
  8001. * the hash keys are equal and that HASH_BITS >= 8.
  8002. */
  8003. match++
  8004. /* We check for insufficient lookahead only every 8th comparison;
  8005. * the 256th check will be made at strstart + 258.
  8006. */
  8007. for {
  8008. goto _31
  8009. _31:
  8010. ;
  8011. scan++
  8012. v8 = scan
  8013. match++
  8014. v9 = match
  8015. if v12 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v8))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v9))); v12 {
  8016. scan++
  8017. v10 = scan
  8018. match++
  8019. v11 = match
  8020. }
  8021. if v15 = v12 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v10))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v11))); v15 {
  8022. scan++
  8023. v13 = scan
  8024. match++
  8025. v14 = match
  8026. }
  8027. if v18 = v15 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v13))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v14))); v18 {
  8028. scan++
  8029. v16 = scan
  8030. match++
  8031. v17 = match
  8032. }
  8033. if v21 = v18 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v16))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v17))); v21 {
  8034. scan++
  8035. v19 = scan
  8036. match++
  8037. v20 = match
  8038. }
  8039. if v24 = v21 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v19))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v20))); v24 {
  8040. scan++
  8041. v22 = scan
  8042. match++
  8043. v23 = match
  8044. }
  8045. if v27 = v24 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v22))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v23))); v27 {
  8046. scan++
  8047. v25 = scan
  8048. match++
  8049. v26 = match
  8050. }
  8051. if v30 = v27 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v25))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v26))); v30 {
  8052. scan++
  8053. v28 = scan
  8054. match++
  8055. v29 = match
  8056. }
  8057. if !(v30 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v28))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v29))) && scan < strend) {
  8058. break
  8059. }
  8060. }
  8061. len1 = int32(m_MAX_MATCH) - int32(int64(strend)-int64(scan))
  8062. scan = strend - uintptr(m_MAX_MATCH)
  8063. if len1 > best_len {
  8064. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start = cur_match
  8065. best_len = len1
  8066. if len1 >= nice_match {
  8067. break
  8068. }
  8069. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  8070. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  8071. }
  8072. goto _5
  8073. _5:
  8074. ;
  8075. v2 = uint32(*(*TPosf)(unsafe.Pointer(prev + uintptr(cur_match&wmask)*2)))
  8076. cur_match = v2
  8077. if v4 = v2 > limit; v4 {
  8078. chain_length--
  8079. v3 = chain_length
  8080. }
  8081. if !(v4 && v3 != uint32(0)) {
  8082. break
  8083. }
  8084. }
  8085. if libc.Uint32FromInt32(best_len) <= (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  8086. return libc.Uint32FromInt32(best_len)
  8087. }
  8088. return (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8089. }
  8090. /* ===========================================================================
  8091. * Flush the current block, with given end-of-file flag.
  8092. * IN assertion: strstart is set to the end of the current match.
  8093. */
  8094. /* Same but force premature exit if necessary. */
  8095. /* Maximum stored block length in deflate format (not including header). */
  8096. /* Minimum of a and b. */
  8097. // C documentation
  8098. //
  8099. // /* ===========================================================================
  8100. // * Copy without compression as much as possible from the input stream, return
  8101. // * the current block state.
  8102. // *
  8103. // * In case deflateParams() is used to later switch to a non-zero compression
  8104. // * level, s->matches (otherwise unused when storing) keeps track of the number
  8105. // * of hash table slides to perform. If s->matches is 1, then one hash table
  8106. // * slide will be done when switching. If s->matches is 2, the maximum value
  8107. // * allowed here, then the hash table will be cleared, since two or more slides
  8108. // * is the same as a clear.
  8109. // *
  8110. // * deflate_stored() is written to minimize the number of times an input byte is
  8111. // * copied. It is most efficient with large input and output buffers, which
  8112. // * maximizes the opportunities to have a single copy from next_in to next_out.
  8113. // */
  8114. func _deflate_stored(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8115. var have, last, left, len1, min_block, used, v3, v4, v6, v7 uint32
  8116. var v1, v5 uint64
  8117. var v2, v8, v9 int32
  8118. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = have, last, left, len1, min_block, used, v1, v2, v3, v4, v5, v6, v7, v8, v9
  8119. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(5) > uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
  8120. v1 = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  8121. } else {
  8122. v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(5)
  8123. }
  8124. /* Smallest worthy block size when not flushing or finishing. By default
  8125. * this is 32K. This can be as small as 507 bytes for memLevel == 1. For
  8126. * large input and output buffers, the stored block size will be larger.
  8127. */
  8128. min_block = uint32(v1)
  8129. last = uint32(0)
  8130. used = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8131. for cond := true; cond; cond = last == uint32(0) {
  8132. /* Set len to the maximum size block that we can copy directly with the
  8133. * available input data and output space. Set left to how much of that
  8134. * would be copied from what's left in the window.
  8135. */
  8136. len1 = uint32(m_MAX_STORED) /* maximum deflate stored block length */
  8137. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  8138. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out < have { /* need room for header */
  8139. break
  8140. }
  8141. /* maximum stored block length that will fit in avail_out: */
  8142. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out - have
  8143. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start) /* bytes left in window */
  8144. if uint64(len1) > uint64(left)+uint64((*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
  8145. len1 = left + (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8146. } /* limit len to the input */
  8147. if len1 > have {
  8148. len1 = have
  8149. } /* limit len to the output */
  8150. /* If the stored block would be less than min_block in length, or if
  8151. * unable to copy all of the available input when flushing, then try
  8152. * copying to the window and the pending buffer instead. Also don't
  8153. * write an empty block when flushing -- deflate() does that.
  8154. */
  8155. if len1 < min_block && (len1 == uint32(0) && flush != int32(m_Z_FINISH) || flush == m_Z_NO_FLUSH || len1 != left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
  8156. break
  8157. }
  8158. /* Make a dummy stored block in pending to get the header bytes,
  8159. * including any pending bits. This also updates the debugging counts.
  8160. */
  8161. if flush == int32(m_Z_FINISH) && len1 == left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  8162. v2 = int32(1)
  8163. } else {
  8164. v2 = 0
  8165. }
  8166. last = libc.Uint32FromInt32(v2)
  8167. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), libc.Int32FromUint32(last))
  8168. /* Replace the lengths in the dummy stored block with len. */
  8169. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(4)))) = uint8(len1)
  8170. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(3)))) = uint8(len1 >> int32(8))
  8171. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(2)))) = uint8(^len1)
  8172. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(1)))) = uint8(^len1 >> int32(8))
  8173. /* Write the stored block header bytes. */
  8174. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8175. /* Copy uncompressed bytes from the window to next_out. */
  8176. if left != 0 {
  8177. if left > len1 {
  8178. left = len1
  8179. }
  8180. libc.Xmemcpy(tls, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(left))
  8181. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(left)
  8182. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= left
  8183. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(left)
  8184. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(left)
  8185. len1 -= left
  8186. }
  8187. /* Copy uncompressed bytes directly from next_in to next_out, updating
  8188. * the check value.
  8189. */
  8190. if len1 != 0 {
  8191. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, len1)
  8192. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(len1)
  8193. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= len1
  8194. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(len1)
  8195. }
  8196. }
  8197. /* Update the sliding window with the last s->w_size bytes of the copied
  8198. * data, or append all of the copied data to the existing window if less
  8199. * than s->w_size bytes were copied. Also update the number of bytes to
  8200. * insert in the hash tables, in the event that deflateParams() switches to
  8201. * a non-zero compression level.
  8202. */
  8203. used -= (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in /* number of input bytes directly copied */
  8204. if used != 0 {
  8205. /* If any input was used, then no unused input remains in the window,
  8206. * therefore s->block_start == s->strstart.
  8207. */
  8208. if used >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size { /* supplant the previous history */
  8209. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(2) /* clear hash */
  8210. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size))
  8211. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8212. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8213. } else {
  8214. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) <= uint64(used) {
  8215. /* Slide the window down. */
  8216. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8217. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8218. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  8219. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  8220. } /* add a pending slide_hash() */
  8221. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  8222. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8223. }
  8224. }
  8225. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr(used), uint64(used))
  8226. *(*TuInt)(unsafe.Pointer(s + 172)) += used
  8227. if used > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  8228. v3 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  8229. } else {
  8230. v3 = used
  8231. }
  8232. *(*TuInt)(unsafe.Pointer(s + 5932)) += v3
  8233. }
  8234. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8235. }
  8236. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  8237. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8238. }
  8239. /* If the last block was written to next_out, then done. */
  8240. if last != 0 {
  8241. return int32(_finish_done)
  8242. }
  8243. /* If flushing and all input has been consumed, then done. */
  8244. if flush != m_Z_NO_FLUSH && flush != int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) == (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start {
  8245. return int32(_block_done)
  8246. }
  8247. /* Fill the window with any remaining input. */
  8248. have = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8249. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in > have && (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
  8250. /* Slide the window down. */
  8251. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  8252. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8253. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8254. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  8255. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  8256. } /* add a pending slide_hash() */
  8257. have += (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size /* more space now */
  8258. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  8259. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8260. }
  8261. }
  8262. if have > (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  8263. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8264. }
  8265. if have != 0 {
  8266. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), have)
  8267. *(*TuInt)(unsafe.Pointer(s + 172)) += have
  8268. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  8269. v4 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  8270. } else {
  8271. v4 = have
  8272. }
  8273. *(*TuInt)(unsafe.Pointer(s + 5932)) += v4
  8274. }
  8275. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  8276. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8277. }
  8278. /* There was not enough avail_out to write a complete worthy or flushed
  8279. * stored block to next_out. Write a stored block to pending instead, if we
  8280. * have enough input for a worthy block, or if flushing and there is enough
  8281. * room for the remaining input as a stored block in the pending buffer.
  8282. */
  8283. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  8284. /* maximum stored block length that will fit in pending: */
  8285. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(have) > libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED)) {
  8286. v5 = libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED))
  8287. } else {
  8288. v5 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(have)
  8289. }
  8290. have = uint32(v5)
  8291. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  8292. v6 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8293. } else {
  8294. v6 = have
  8295. }
  8296. min_block = v6
  8297. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start)
  8298. if left >= min_block || (left != 0 || flush == int32(m_Z_FINISH)) && flush != m_Z_NO_FLUSH && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && left <= have {
  8299. if left > have {
  8300. v7 = have
  8301. } else {
  8302. v7 = left
  8303. }
  8304. len1 = v7
  8305. if flush == int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && len1 == left {
  8306. v8 = int32(1)
  8307. } else {
  8308. v8 = 0
  8309. }
  8310. last = libc.Uint32FromInt32(v8)
  8311. x__tr_stored_block(tls, s, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(len1), libc.Int32FromUint32(last))
  8312. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(len1)
  8313. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8314. }
  8315. /* We've done all we can with the available input and output. */
  8316. if last != 0 {
  8317. v9 = int32(_finish_started)
  8318. } else {
  8319. v9 = int32(_need_more)
  8320. }
  8321. return v9
  8322. }
  8323. // C documentation
  8324. //
  8325. // /* ===========================================================================
  8326. // * Compress as much as possible from the input stream, return the current
  8327. // * block state.
  8328. // * This function does not perform lazy evaluation of matches and inserts
  8329. // * new strings in the dictionary only for unmatched strings or for short
  8330. // * matches. It is used only for the fast compression options.
  8331. // */
  8332. func _deflate_fast(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8333. var bflush, v9 int32
  8334. var cc, len1 Tuch
  8335. var dist Tush
  8336. var hash_head TIPos
  8337. var v10, v14, v16, v18, v3, v5, v7 TuInt
  8338. var v11, v15, v17, v19, v20, v22, v23, v4, v6, v8 uintptr
  8339. var v13, v2 TPosf
  8340. var v21 uint32
  8341. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, dist, hash_head, len1, v10, v11, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  8342. for {
  8343. /* Make sure that we always have enough lookahead, except
  8344. * at the end of the input file. We need MAX_MATCH bytes
  8345. * for the next match, plus MIN_MATCH bytes to insert the
  8346. * string following the next match.
  8347. */
  8348. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8349. _fill_window(tls, s)
  8350. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && flush == m_Z_NO_FLUSH {
  8351. return int32(_need_more)
  8352. }
  8353. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8354. break
  8355. } /* flush the current block */
  8356. }
  8357. /* Insert the string window[strstart .. strstart + 2] in the
  8358. * dictionary, and set hash_head to the head of the hash chain:
  8359. */
  8360. hash_head = uint32(m_NIL)
  8361. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8362. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8363. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8364. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v2
  8365. hash_head = uint32(v2)
  8366. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8367. }
  8368. /* Find the longest match, discarding those <= prev_length.
  8369. * At this point we have always match_length < MIN_MATCH
  8370. */
  8371. if hash_head != uint32(m_NIL) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8372. /* To simplify the code, we prevent matches with the string
  8373. * of window index 0 (in particular we have to avoid a match
  8374. * of the string with itself at the start of the input file).
  8375. */
  8376. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  8377. /* longest_match() sets match_start */
  8378. }
  8379. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  8380. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8381. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start)
  8382. v4 = s + 5900
  8383. v3 = *(*TuInt)(unsafe.Pointer(v4))
  8384. *(*TuInt)(unsafe.Pointer(v4))++
  8385. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  8386. v6 = s + 5900
  8387. v5 = *(*TuInt)(unsafe.Pointer(v6))
  8388. *(*TuInt)(unsafe.Pointer(v6))++
  8389. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8390. v8 = s + 5900
  8391. v7 = *(*TuInt)(unsafe.Pointer(v8))
  8392. *(*TuInt)(unsafe.Pointer(v8))++
  8393. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  8394. dist--
  8395. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  8396. if libc.Int32FromUint16(dist) < int32(256) {
  8397. v9 = libc.Int32FromUint8(x__dist_code[dist])
  8398. } else {
  8399. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  8400. }
  8401. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  8402. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8403. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8404. /* Insert new strings in the hash table only if the match length
  8405. * is not too large. This saves time but degrades compression.
  8406. */
  8407. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8408. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length-- /* string at strstart already in table */
  8409. for {
  8410. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8411. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8412. v13 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8413. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v13
  8414. hash_head = uint32(v13)
  8415. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8416. /* strstart never exceeds WSIZE-MAX_MATCH, so there are
  8417. * always MIN_MATCH bytes ahead.
  8418. */
  8419. goto _12
  8420. _12:
  8421. ;
  8422. v11 = s + 160
  8423. *(*TuInt)(unsafe.Pointer(v11))--
  8424. v10 = *(*TuInt)(unsafe.Pointer(v11))
  8425. if !(v10 != uint32(0)) {
  8426. break
  8427. }
  8428. }
  8429. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8430. } else {
  8431. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8432. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8433. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))))
  8434. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8435. /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
  8436. * matter since it will be recomputed at next deflate call.
  8437. */
  8438. }
  8439. } else {
  8440. /* No match, output a literal byte */
  8441. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  8442. v15 = s + 5900
  8443. v14 = *(*TuInt)(unsafe.Pointer(v15))
  8444. *(*TuInt)(unsafe.Pointer(v15))++
  8445. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v14))) = uint8(0)
  8446. v17 = s + 5900
  8447. v16 = *(*TuInt)(unsafe.Pointer(v17))
  8448. *(*TuInt)(unsafe.Pointer(v17))++
  8449. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v16))) = uint8(0)
  8450. v19 = s + 5900
  8451. v18 = *(*TuInt)(unsafe.Pointer(v19))
  8452. *(*TuInt)(unsafe.Pointer(v19))++
  8453. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v18))) = cc
  8454. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8455. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8456. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8457. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8458. }
  8459. if bflush != 0 {
  8460. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8461. v20 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8462. } else {
  8463. v20 = libc.UintptrFromInt32(m_Z_NULL)
  8464. }
  8465. x__tr_flush_block(tls, s, v20, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8466. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8467. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8468. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8469. return int32(_need_more)
  8470. }
  8471. }
  8472. goto _1
  8473. _1:
  8474. }
  8475. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  8476. v21 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8477. } else {
  8478. v21 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8479. }
  8480. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v21
  8481. if flush == int32(m_Z_FINISH) {
  8482. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8483. v22 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8484. } else {
  8485. v22 = libc.UintptrFromInt32(m_Z_NULL)
  8486. }
  8487. x__tr_flush_block(tls, s, v22, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  8488. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8489. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8490. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8491. return int32(_finish_started)
  8492. }
  8493. return int32(_finish_done)
  8494. }
  8495. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8496. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8497. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8498. } else {
  8499. v23 = libc.UintptrFromInt32(m_Z_NULL)
  8500. }
  8501. x__tr_flush_block(tls, s, v23, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8502. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8503. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8504. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8505. return int32(_need_more)
  8506. }
  8507. }
  8508. return int32(_block_done)
  8509. }
  8510. // C documentation
  8511. //
  8512. // /* ===========================================================================
  8513. // * Same as above, but achieves better compression. We use a lazy
  8514. // * evaluation for matches: a match is finally adopted only if there is
  8515. // * no better match at the next window position.
  8516. // */
  8517. func _deflate_slow(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8518. var bflush, v9 int32
  8519. var cc, cc1, len1 Tuch
  8520. var dist Tush
  8521. var hash_head TIPos
  8522. var max_insert, v10, v13, v17, v19, v21, v24, v26, v28, v3, v5, v7 TuInt
  8523. var v11, v14, v16, v18, v20, v22, v23, v25, v27, v29, v31, v32, v4, v6, v8 uintptr
  8524. var v15, v2 TPosf
  8525. var v30 uint32
  8526. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, cc1, dist, hash_head, len1, max_insert, v10, v11, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  8527. /* Process the input block. */
  8528. for {
  8529. /* Make sure that we always have enough lookahead, except
  8530. * at the end of the input file. We need MAX_MATCH bytes
  8531. * for the next match, plus MIN_MATCH bytes to insert the
  8532. * string following the next match.
  8533. */
  8534. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8535. _fill_window(tls, s)
  8536. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && flush == m_Z_NO_FLUSH {
  8537. return int32(_need_more)
  8538. }
  8539. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8540. break
  8541. } /* flush the current block */
  8542. }
  8543. /* Insert the string window[strstart .. strstart + 2] in the
  8544. * dictionary, and set hash_head to the head of the hash chain:
  8545. */
  8546. hash_head = uint32(m_NIL)
  8547. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8548. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8549. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8550. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v2
  8551. hash_head = uint32(v2)
  8552. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8553. }
  8554. /* Find the longest match, discarding those <= prev_length.
  8555. */
  8556. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8557. /* Find the longest match, discarding those <= prev_length.
  8558. */
  8559. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start
  8560. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8561. if hash_head != uint32(m_NIL) && (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length < (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8562. /* To simplify the code, we prevent matches with the string
  8563. * of window index 0 (in particular we have to avoid a match
  8564. * of the string with itself at the start of the input file).
  8565. */
  8566. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  8567. /* longest_match() sets match_start */
  8568. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= uint32(5) && ((*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FILTERED) || (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length == uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-(*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start > uint32(m_TOO_FAR)) {
  8569. /* If prev_match is also MIN_MATCH, match_start is garbage
  8570. * but we will ignore the current match anyway.
  8571. */
  8572. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8573. }
  8574. }
  8575. /* If there was a match at the previous step and the current
  8576. * match is not better, output the previous match:
  8577. */
  8578. if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length {
  8579. max_insert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - uint32(m_MIN_MATCH)
  8580. /* Do not insert strings in hash table beyond this. */
  8581. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8582. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - libc.Uint32FromInt32(1) - (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match)
  8583. v4 = s + 5900
  8584. v3 = *(*TuInt)(unsafe.Pointer(v4))
  8585. *(*TuInt)(unsafe.Pointer(v4))++
  8586. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  8587. v6 = s + 5900
  8588. v5 = *(*TuInt)(unsafe.Pointer(v6))
  8589. *(*TuInt)(unsafe.Pointer(v6))++
  8590. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8591. v8 = s + 5900
  8592. v7 = *(*TuInt)(unsafe.Pointer(v8))
  8593. *(*TuInt)(unsafe.Pointer(v8))++
  8594. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  8595. dist--
  8596. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  8597. if libc.Int32FromUint16(dist) < int32(256) {
  8598. v9 = libc.Int32FromUint8(x__dist_code[dist])
  8599. } else {
  8600. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  8601. }
  8602. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  8603. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8604. /* Insert in hash table all strings up to the end of the match.
  8605. * strstart - 1 and strstart are already inserted. If there is not
  8606. * enough lookahead, the last two strings are not inserted in
  8607. * the hash table.
  8608. */
  8609. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - uint32(1)
  8610. *(*TuInt)(unsafe.Pointer(s + 184)) -= uint32(2)
  8611. for {
  8612. v14 = s + 172
  8613. *(*TuInt)(unsafe.Pointer(v14))++
  8614. v13 = *(*TuInt)(unsafe.Pointer(v14))
  8615. if v13 <= max_insert {
  8616. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8617. v15 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8618. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v15
  8619. hash_head = uint32(v15)
  8620. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8621. }
  8622. goto _12
  8623. _12:
  8624. ;
  8625. v11 = s + 184
  8626. *(*TuInt)(unsafe.Pointer(v11))--
  8627. v10 = *(*TuInt)(unsafe.Pointer(v11))
  8628. if !(v10 != uint32(0)) {
  8629. break
  8630. }
  8631. }
  8632. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8633. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8634. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8635. if bflush != 0 {
  8636. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8637. v16 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8638. } else {
  8639. v16 = libc.UintptrFromInt32(m_Z_NULL)
  8640. }
  8641. x__tr_flush_block(tls, s, v16, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8642. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8643. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8644. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8645. return int32(_need_more)
  8646. }
  8647. }
  8648. } else {
  8649. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  8650. /* If there was no match at the previous position, output a
  8651. * single literal. If there was a match but the current match
  8652. * is longer, truncate the previous match to a single literal.
  8653. */
  8654. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  8655. v18 = s + 5900
  8656. v17 = *(*TuInt)(unsafe.Pointer(v18))
  8657. *(*TuInt)(unsafe.Pointer(v18))++
  8658. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v17))) = uint8(0)
  8659. v20 = s + 5900
  8660. v19 = *(*TuInt)(unsafe.Pointer(v20))
  8661. *(*TuInt)(unsafe.Pointer(v20))++
  8662. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v19))) = uint8(0)
  8663. v22 = s + 5900
  8664. v21 = *(*TuInt)(unsafe.Pointer(v22))
  8665. *(*TuInt)(unsafe.Pointer(v22))++
  8666. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v21))) = cc
  8667. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8668. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8669. if bflush != 0 {
  8670. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8671. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8672. } else {
  8673. v23 = libc.UintptrFromInt32(m_Z_NULL)
  8674. }
  8675. x__tr_flush_block(tls, s, v23, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8676. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8677. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8678. }
  8679. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8680. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8681. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8682. return int32(_need_more)
  8683. }
  8684. } else {
  8685. /* There is no previous match to compare with, wait for
  8686. * the next step to decide.
  8687. */
  8688. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = int32(1)
  8689. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8690. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8691. }
  8692. }
  8693. goto _1
  8694. _1:
  8695. }
  8696. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  8697. cc1 = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  8698. v25 = s + 5900
  8699. v24 = *(*TuInt)(unsafe.Pointer(v25))
  8700. *(*TuInt)(unsafe.Pointer(v25))++
  8701. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v24))) = uint8(0)
  8702. v27 = s + 5900
  8703. v26 = *(*TuInt)(unsafe.Pointer(v27))
  8704. *(*TuInt)(unsafe.Pointer(v27))++
  8705. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v26))) = uint8(0)
  8706. v29 = s + 5900
  8707. v28 = *(*TuInt)(unsafe.Pointer(v29))
  8708. *(*TuInt)(unsafe.Pointer(v29))++
  8709. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v28))) = cc1
  8710. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc1)*4))++
  8711. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8712. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8713. }
  8714. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  8715. v30 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8716. } else {
  8717. v30 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8718. }
  8719. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v30
  8720. if flush == int32(m_Z_FINISH) {
  8721. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8722. v31 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8723. } else {
  8724. v31 = libc.UintptrFromInt32(m_Z_NULL)
  8725. }
  8726. x__tr_flush_block(tls, s, v31, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  8727. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8728. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8729. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8730. return int32(_finish_started)
  8731. }
  8732. return int32(_finish_done)
  8733. }
  8734. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8735. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8736. v32 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8737. } else {
  8738. v32 = libc.UintptrFromInt32(m_Z_NULL)
  8739. }
  8740. x__tr_flush_block(tls, s, v32, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8741. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8742. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8743. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8744. return int32(_need_more)
  8745. }
  8746. }
  8747. return int32(_block_done)
  8748. }
  8749. // C documentation
  8750. //
  8751. // /* ===========================================================================
  8752. // * For Z_RLE, simply look for runs of bytes, generate matches only of distance
  8753. // * one. Do not maintain a hash table. (It will be regenerated if this run of
  8754. // * deflate switches away from Z_RLE.)
  8755. // */
  8756. func _deflate_rle(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8757. var bflush, v29 int32
  8758. var cc, len1 Tuch
  8759. var dist Tush
  8760. var prev, v23, v25, v27, v30, v32, v34 TuInt
  8761. var scan, strend, v10, v12, v14, v16, v18, v2, v20, v24, v26, v28, v3, v31, v33, v35, v36, v37, v38, v5, v7, v8 uintptr
  8762. var v11, v13, v15, v17, v19, v21, v4, v6, v9 bool
  8763. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, dist, len1, prev, scan, strend, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v4, v5, v6, v7, v8, v9 /* scan goes up to strend for length of run */
  8764. for {
  8765. /* Make sure that we always have enough lookahead, except
  8766. * at the end of the input file. We need MAX_MATCH bytes
  8767. * for the longest run, plus one for the unrolled loop.
  8768. */
  8769. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) {
  8770. _fill_window(tls, s)
  8771. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) && flush == m_Z_NO_FLUSH {
  8772. return int32(_need_more)
  8773. }
  8774. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8775. break
  8776. } /* flush the current block */
  8777. }
  8778. /* See how many times the previous byte repeats */
  8779. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8780. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > uint32(0) {
  8781. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - uintptr(1)
  8782. prev = uint32(*(*TBytef)(unsafe.Pointer(scan)))
  8783. scan++
  8784. v2 = scan
  8785. if v4 = prev == uint32(*(*TBytef)(unsafe.Pointer(v2))); v4 {
  8786. scan++
  8787. v3 = scan
  8788. }
  8789. if v6 = v4 && prev == uint32(*(*TBytef)(unsafe.Pointer(v3))); v6 {
  8790. scan++
  8791. v5 = scan
  8792. }
  8793. if v6 && prev == uint32(*(*TBytef)(unsafe.Pointer(v5))) {
  8794. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  8795. for {
  8796. goto _22
  8797. _22:
  8798. ;
  8799. scan++
  8800. v7 = scan
  8801. if v9 = prev == uint32(*(*TBytef)(unsafe.Pointer(v7))); v9 {
  8802. scan++
  8803. v8 = scan
  8804. }
  8805. if v11 = v9 && prev == uint32(*(*TBytef)(unsafe.Pointer(v8))); v11 {
  8806. scan++
  8807. v10 = scan
  8808. }
  8809. if v13 = v11 && prev == uint32(*(*TBytef)(unsafe.Pointer(v10))); v13 {
  8810. scan++
  8811. v12 = scan
  8812. }
  8813. if v15 = v13 && prev == uint32(*(*TBytef)(unsafe.Pointer(v12))); v15 {
  8814. scan++
  8815. v14 = scan
  8816. }
  8817. if v17 = v15 && prev == uint32(*(*TBytef)(unsafe.Pointer(v14))); v17 {
  8818. scan++
  8819. v16 = scan
  8820. }
  8821. if v19 = v17 && prev == uint32(*(*TBytef)(unsafe.Pointer(v16))); v19 {
  8822. scan++
  8823. v18 = scan
  8824. }
  8825. if v21 = v19 && prev == uint32(*(*TBytef)(unsafe.Pointer(v18))); v21 {
  8826. scan++
  8827. v20 = scan
  8828. }
  8829. if !(v21 && prev == uint32(*(*TBytef)(unsafe.Pointer(v20))) && scan < strend) {
  8830. break
  8831. }
  8832. }
  8833. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(m_MAX_MATCH) - libc.Uint32FromInt64(int64(strend)-int64(scan))
  8834. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  8835. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8836. }
  8837. }
  8838. }
  8839. /* Emit match if have run of MIN_MATCH or longer, else emit literal */
  8840. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  8841. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8842. dist = libc.Uint16FromInt32(libc.Int32FromInt32(1))
  8843. v24 = s + 5900
  8844. v23 = *(*TuInt)(unsafe.Pointer(v24))
  8845. *(*TuInt)(unsafe.Pointer(v24))++
  8846. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v23))) = uint8(dist)
  8847. v26 = s + 5900
  8848. v25 = *(*TuInt)(unsafe.Pointer(v26))
  8849. *(*TuInt)(unsafe.Pointer(v26))++
  8850. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v25))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8851. v28 = s + 5900
  8852. v27 = *(*TuInt)(unsafe.Pointer(v28))
  8853. *(*TuInt)(unsafe.Pointer(v28))++
  8854. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v27))) = len1
  8855. dist--
  8856. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  8857. if libc.Int32FromUint16(dist) < int32(256) {
  8858. v29 = libc.Int32FromUint8(x__dist_code[dist])
  8859. } else {
  8860. v29 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  8861. }
  8862. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v29)*4))++
  8863. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8864. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8865. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8866. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8867. } else {
  8868. /* No match, output a literal byte */
  8869. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  8870. v31 = s + 5900
  8871. v30 = *(*TuInt)(unsafe.Pointer(v31))
  8872. *(*TuInt)(unsafe.Pointer(v31))++
  8873. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v30))) = uint8(0)
  8874. v33 = s + 5900
  8875. v32 = *(*TuInt)(unsafe.Pointer(v33))
  8876. *(*TuInt)(unsafe.Pointer(v33))++
  8877. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v32))) = uint8(0)
  8878. v35 = s + 5900
  8879. v34 = *(*TuInt)(unsafe.Pointer(v35))
  8880. *(*TuInt)(unsafe.Pointer(v35))++
  8881. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v34))) = cc
  8882. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8883. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8884. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8885. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8886. }
  8887. if bflush != 0 {
  8888. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8889. v36 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8890. } else {
  8891. v36 = libc.UintptrFromInt32(m_Z_NULL)
  8892. }
  8893. x__tr_flush_block(tls, s, v36, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8894. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8895. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8896. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8897. return int32(_need_more)
  8898. }
  8899. }
  8900. goto _1
  8901. _1:
  8902. }
  8903. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  8904. if flush == int32(m_Z_FINISH) {
  8905. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8906. v37 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8907. } else {
  8908. v37 = libc.UintptrFromInt32(m_Z_NULL)
  8909. }
  8910. x__tr_flush_block(tls, s, v37, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  8911. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8912. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8913. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8914. return int32(_finish_started)
  8915. }
  8916. return int32(_finish_done)
  8917. }
  8918. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8919. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8920. v38 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8921. } else {
  8922. v38 = libc.UintptrFromInt32(m_Z_NULL)
  8923. }
  8924. x__tr_flush_block(tls, s, v38, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8925. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8926. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8927. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8928. return int32(_need_more)
  8929. }
  8930. }
  8931. return int32(_block_done)
  8932. }
  8933. // C documentation
  8934. //
  8935. // /* ===========================================================================
  8936. // * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.
  8937. // * (It will be regenerated if this run of deflate switches away from Huffman.)
  8938. // */
  8939. func _deflate_huff(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8940. var bflush int32
  8941. var cc Tuch
  8942. var v10, v3, v5, v7, v8, v9 uintptr
  8943. var v2, v4, v6 TuInt
  8944. _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, v10, v2, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  8945. for {
  8946. /* Make sure that we have a literal to write. */
  8947. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8948. _fill_window(tls, s)
  8949. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8950. if flush == m_Z_NO_FLUSH {
  8951. return int32(_need_more)
  8952. }
  8953. break /* flush the current block */
  8954. }
  8955. }
  8956. /* Output a literal byte */
  8957. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8958. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  8959. v3 = s + 5900
  8960. v2 = *(*TuInt)(unsafe.Pointer(v3))
  8961. *(*TuInt)(unsafe.Pointer(v3))++
  8962. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))) = uint8(0)
  8963. v5 = s + 5900
  8964. v4 = *(*TuInt)(unsafe.Pointer(v5))
  8965. *(*TuInt)(unsafe.Pointer(v5))++
  8966. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v4))) = uint8(0)
  8967. v7 = s + 5900
  8968. v6 = *(*TuInt)(unsafe.Pointer(v7))
  8969. *(*TuInt)(unsafe.Pointer(v7))++
  8970. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v6))) = cc
  8971. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8972. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8973. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8974. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8975. if bflush != 0 {
  8976. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8977. v8 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8978. } else {
  8979. v8 = libc.UintptrFromInt32(m_Z_NULL)
  8980. }
  8981. x__tr_flush_block(tls, s, v8, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8982. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8983. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8984. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8985. return int32(_need_more)
  8986. }
  8987. }
  8988. goto _1
  8989. _1:
  8990. }
  8991. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  8992. if flush == int32(m_Z_FINISH) {
  8993. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8994. v9 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8995. } else {
  8996. v9 = libc.UintptrFromInt32(m_Z_NULL)
  8997. }
  8998. x__tr_flush_block(tls, s, v9, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  8999. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9000. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9001. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9002. return int32(_finish_started)
  9003. }
  9004. return int32(_finish_done)
  9005. }
  9006. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  9007. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9008. v10 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9009. } else {
  9010. v10 = libc.UintptrFromInt32(m_Z_NULL)
  9011. }
  9012. x__tr_flush_block(tls, s, v10, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  9013. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9014. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9015. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9016. return int32(_need_more)
  9017. }
  9018. }
  9019. return int32(_block_done)
  9020. }
  9021. const m_ENOUGH_DISTS = 592
  9022. const m_ENOUGH_LENS = 852
  9023. const m_PRESET_DICT2 = 0x20
  9024. type Tcode = struct {
  9025. Fop uint8
  9026. Fbits uint8
  9027. Fval uint16
  9028. }
  9029. type Tcodetype = int32
  9030. const _CODES = 0
  9031. const _LENS = 1
  9032. const _DISTS = 2
  9033. type Tinflate_mode = int32
  9034. const _HEAD = 16180
  9035. const _FLAGS = 16181
  9036. const _TIME = 16182
  9037. const _OS = 16183
  9038. const _EXLEN = 16184
  9039. const _EXTRA = 16185
  9040. const _NAME = 16186
  9041. const _COMMENT = 16187
  9042. const _HCRC = 16188
  9043. const _DICTID = 16189
  9044. const _DICT = 16190
  9045. const _TYPE = 16191
  9046. const _TYPEDO = 16192
  9047. const _STORED = 16193
  9048. const _COPY_ = 16194
  9049. const _COPY = 16195
  9050. const _TABLE = 16196
  9051. const _LENLENS = 16197
  9052. const _CODELENS = 16198
  9053. const _LEN_ = 16199
  9054. const _LEN = 16200
  9055. const _LENEXT = 16201
  9056. const _DIST = 16202
  9057. const _DISTEXT = 16203
  9058. const _MATCH = 16204
  9059. const _LIT = 16205
  9060. const _CHECK = 16206
  9061. const _LENGTH = 16207
  9062. const _DONE = 16208
  9063. const _BAD = 16209
  9064. const _MEM = 16210
  9065. const _SYNC = 16211
  9066. type Tinflate_state = struct {
  9067. Fstrm Tz_streamp
  9068. Fmode Tinflate_mode
  9069. Flast int32
  9070. Fwrap int32
  9071. Fhavedict int32
  9072. Fflags int32
  9073. Fdmax uint32
  9074. Fcheck uint64
  9075. Ftotal uint64
  9076. Fhead Tgz_headerp
  9077. Fwbits uint32
  9078. Fwsize uint32
  9079. Fwhave uint32
  9080. Fwnext uint32
  9081. Fwindow uintptr
  9082. Fhold uint64
  9083. Fbits uint32
  9084. Flength uint32
  9085. Foffset uint32
  9086. Fextra uint32
  9087. Flencode uintptr
  9088. Fdistcode uintptr
  9089. Flenbits uint32
  9090. Fdistbits uint32
  9091. Fncode uint32
  9092. Fnlen uint32
  9093. Fndist uint32
  9094. Fhave uint32
  9095. Fnext uintptr
  9096. Flens [320]uint16
  9097. Fwork [288]uint16
  9098. Fcodes [1444]Tcode
  9099. Fsane int32
  9100. Fback int32
  9101. Fwas uint32
  9102. }
  9103. // C documentation
  9104. //
  9105. // /*
  9106. // strm provides memory allocation functions in zalloc and zfree, or
  9107. // Z_NULL to use the library memory allocation functions.
  9108. //
  9109. // windowBits is in the range 8..15, and window is a user-supplied
  9110. // window and output buffer that is 2**windowBits bytes.
  9111. // */
  9112. func XinflateBackInit_(tls *libc.TLS, strm Tz_streamp, windowBits int32, window uintptr, version uintptr, stream_size int32) (r int32) {
  9113. var state uintptr
  9114. _ = state
  9115. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
  9116. return -int32(6)
  9117. }
  9118. if strm == uintptr(m_Z_NULL) || window == uintptr(m_Z_NULL) || windowBits < int32(8) || windowBits > int32(15) {
  9119. return -int32(2)
  9120. }
  9121. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  9122. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  9123. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  9124. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  9125. }
  9126. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  9127. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  9128. }
  9129. state = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  9130. if state == uintptr(m_Z_NULL) {
  9131. return -int32(4)
  9132. }
  9133. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  9134. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  9135. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  9136. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << windowBits
  9137. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = window
  9138. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  9139. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  9140. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  9141. return m_Z_OK
  9142. }
  9143. // C documentation
  9144. //
  9145. // /*
  9146. // Return state with length and distance decoding tables and index sizes set to
  9147. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  9148. // If BUILDFIXED is defined, then instead this routine builds the tables the
  9149. // first time it's called, and returns those tables the first time and
  9150. // thereafter. This reduces the size of the code by about 2K bytes, in
  9151. // exchange for a little execution time. However, BUILDFIXED should not be
  9152. // used for threaded applications, since the rewriting of the tables and virgin
  9153. // may not be thread-safe.
  9154. // */
  9155. func _fixedtables(tls *libc.TLS, state uintptr) {
  9156. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix))
  9157. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  9158. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix))
  9159. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  9160. }
  9161. var _lenfix = [512]Tcode{
  9162. 0: {
  9163. Fop: uint8(96),
  9164. Fbits: uint8(7),
  9165. },
  9166. 1: {
  9167. Fbits: uint8(8),
  9168. Fval: uint16(80),
  9169. },
  9170. 2: {
  9171. Fbits: uint8(8),
  9172. Fval: uint16(16),
  9173. },
  9174. 3: {
  9175. Fop: uint8(20),
  9176. Fbits: uint8(8),
  9177. Fval: uint16(115),
  9178. },
  9179. 4: {
  9180. Fop: uint8(18),
  9181. Fbits: uint8(7),
  9182. Fval: uint16(31),
  9183. },
  9184. 5: {
  9185. Fbits: uint8(8),
  9186. Fval: uint16(112),
  9187. },
  9188. 6: {
  9189. Fbits: uint8(8),
  9190. Fval: uint16(48),
  9191. },
  9192. 7: {
  9193. Fbits: uint8(9),
  9194. Fval: uint16(192),
  9195. },
  9196. 8: {
  9197. Fop: uint8(16),
  9198. Fbits: uint8(7),
  9199. Fval: uint16(10),
  9200. },
  9201. 9: {
  9202. Fbits: uint8(8),
  9203. Fval: uint16(96),
  9204. },
  9205. 10: {
  9206. Fbits: uint8(8),
  9207. Fval: uint16(32),
  9208. },
  9209. 11: {
  9210. Fbits: uint8(9),
  9211. Fval: uint16(160),
  9212. },
  9213. 12: {
  9214. Fbits: uint8(8),
  9215. },
  9216. 13: {
  9217. Fbits: uint8(8),
  9218. Fval: uint16(128),
  9219. },
  9220. 14: {
  9221. Fbits: uint8(8),
  9222. Fval: uint16(64),
  9223. },
  9224. 15: {
  9225. Fbits: uint8(9),
  9226. Fval: uint16(224),
  9227. },
  9228. 16: {
  9229. Fop: uint8(16),
  9230. Fbits: uint8(7),
  9231. Fval: uint16(6),
  9232. },
  9233. 17: {
  9234. Fbits: uint8(8),
  9235. Fval: uint16(88),
  9236. },
  9237. 18: {
  9238. Fbits: uint8(8),
  9239. Fval: uint16(24),
  9240. },
  9241. 19: {
  9242. Fbits: uint8(9),
  9243. Fval: uint16(144),
  9244. },
  9245. 20: {
  9246. Fop: uint8(19),
  9247. Fbits: uint8(7),
  9248. Fval: uint16(59),
  9249. },
  9250. 21: {
  9251. Fbits: uint8(8),
  9252. Fval: uint16(120),
  9253. },
  9254. 22: {
  9255. Fbits: uint8(8),
  9256. Fval: uint16(56),
  9257. },
  9258. 23: {
  9259. Fbits: uint8(9),
  9260. Fval: uint16(208),
  9261. },
  9262. 24: {
  9263. Fop: uint8(17),
  9264. Fbits: uint8(7),
  9265. Fval: uint16(17),
  9266. },
  9267. 25: {
  9268. Fbits: uint8(8),
  9269. Fval: uint16(104),
  9270. },
  9271. 26: {
  9272. Fbits: uint8(8),
  9273. Fval: uint16(40),
  9274. },
  9275. 27: {
  9276. Fbits: uint8(9),
  9277. Fval: uint16(176),
  9278. },
  9279. 28: {
  9280. Fbits: uint8(8),
  9281. Fval: uint16(8),
  9282. },
  9283. 29: {
  9284. Fbits: uint8(8),
  9285. Fval: uint16(136),
  9286. },
  9287. 30: {
  9288. Fbits: uint8(8),
  9289. Fval: uint16(72),
  9290. },
  9291. 31: {
  9292. Fbits: uint8(9),
  9293. Fval: uint16(240),
  9294. },
  9295. 32: {
  9296. Fop: uint8(16),
  9297. Fbits: uint8(7),
  9298. Fval: uint16(4),
  9299. },
  9300. 33: {
  9301. Fbits: uint8(8),
  9302. Fval: uint16(84),
  9303. },
  9304. 34: {
  9305. Fbits: uint8(8),
  9306. Fval: uint16(20),
  9307. },
  9308. 35: {
  9309. Fop: uint8(21),
  9310. Fbits: uint8(8),
  9311. Fval: uint16(227),
  9312. },
  9313. 36: {
  9314. Fop: uint8(19),
  9315. Fbits: uint8(7),
  9316. Fval: uint16(43),
  9317. },
  9318. 37: {
  9319. Fbits: uint8(8),
  9320. Fval: uint16(116),
  9321. },
  9322. 38: {
  9323. Fbits: uint8(8),
  9324. Fval: uint16(52),
  9325. },
  9326. 39: {
  9327. Fbits: uint8(9),
  9328. Fval: uint16(200),
  9329. },
  9330. 40: {
  9331. Fop: uint8(17),
  9332. Fbits: uint8(7),
  9333. Fval: uint16(13),
  9334. },
  9335. 41: {
  9336. Fbits: uint8(8),
  9337. Fval: uint16(100),
  9338. },
  9339. 42: {
  9340. Fbits: uint8(8),
  9341. Fval: uint16(36),
  9342. },
  9343. 43: {
  9344. Fbits: uint8(9),
  9345. Fval: uint16(168),
  9346. },
  9347. 44: {
  9348. Fbits: uint8(8),
  9349. Fval: uint16(4),
  9350. },
  9351. 45: {
  9352. Fbits: uint8(8),
  9353. Fval: uint16(132),
  9354. },
  9355. 46: {
  9356. Fbits: uint8(8),
  9357. Fval: uint16(68),
  9358. },
  9359. 47: {
  9360. Fbits: uint8(9),
  9361. Fval: uint16(232),
  9362. },
  9363. 48: {
  9364. Fop: uint8(16),
  9365. Fbits: uint8(7),
  9366. Fval: uint16(8),
  9367. },
  9368. 49: {
  9369. Fbits: uint8(8),
  9370. Fval: uint16(92),
  9371. },
  9372. 50: {
  9373. Fbits: uint8(8),
  9374. Fval: uint16(28),
  9375. },
  9376. 51: {
  9377. Fbits: uint8(9),
  9378. Fval: uint16(152),
  9379. },
  9380. 52: {
  9381. Fop: uint8(20),
  9382. Fbits: uint8(7),
  9383. Fval: uint16(83),
  9384. },
  9385. 53: {
  9386. Fbits: uint8(8),
  9387. Fval: uint16(124),
  9388. },
  9389. 54: {
  9390. Fbits: uint8(8),
  9391. Fval: uint16(60),
  9392. },
  9393. 55: {
  9394. Fbits: uint8(9),
  9395. Fval: uint16(216),
  9396. },
  9397. 56: {
  9398. Fop: uint8(18),
  9399. Fbits: uint8(7),
  9400. Fval: uint16(23),
  9401. },
  9402. 57: {
  9403. Fbits: uint8(8),
  9404. Fval: uint16(108),
  9405. },
  9406. 58: {
  9407. Fbits: uint8(8),
  9408. Fval: uint16(44),
  9409. },
  9410. 59: {
  9411. Fbits: uint8(9),
  9412. Fval: uint16(184),
  9413. },
  9414. 60: {
  9415. Fbits: uint8(8),
  9416. Fval: uint16(12),
  9417. },
  9418. 61: {
  9419. Fbits: uint8(8),
  9420. Fval: uint16(140),
  9421. },
  9422. 62: {
  9423. Fbits: uint8(8),
  9424. Fval: uint16(76),
  9425. },
  9426. 63: {
  9427. Fbits: uint8(9),
  9428. Fval: uint16(248),
  9429. },
  9430. 64: {
  9431. Fop: uint8(16),
  9432. Fbits: uint8(7),
  9433. Fval: uint16(3),
  9434. },
  9435. 65: {
  9436. Fbits: uint8(8),
  9437. Fval: uint16(82),
  9438. },
  9439. 66: {
  9440. Fbits: uint8(8),
  9441. Fval: uint16(18),
  9442. },
  9443. 67: {
  9444. Fop: uint8(21),
  9445. Fbits: uint8(8),
  9446. Fval: uint16(163),
  9447. },
  9448. 68: {
  9449. Fop: uint8(19),
  9450. Fbits: uint8(7),
  9451. Fval: uint16(35),
  9452. },
  9453. 69: {
  9454. Fbits: uint8(8),
  9455. Fval: uint16(114),
  9456. },
  9457. 70: {
  9458. Fbits: uint8(8),
  9459. Fval: uint16(50),
  9460. },
  9461. 71: {
  9462. Fbits: uint8(9),
  9463. Fval: uint16(196),
  9464. },
  9465. 72: {
  9466. Fop: uint8(17),
  9467. Fbits: uint8(7),
  9468. Fval: uint16(11),
  9469. },
  9470. 73: {
  9471. Fbits: uint8(8),
  9472. Fval: uint16(98),
  9473. },
  9474. 74: {
  9475. Fbits: uint8(8),
  9476. Fval: uint16(34),
  9477. },
  9478. 75: {
  9479. Fbits: uint8(9),
  9480. Fval: uint16(164),
  9481. },
  9482. 76: {
  9483. Fbits: uint8(8),
  9484. Fval: uint16(2),
  9485. },
  9486. 77: {
  9487. Fbits: uint8(8),
  9488. Fval: uint16(130),
  9489. },
  9490. 78: {
  9491. Fbits: uint8(8),
  9492. Fval: uint16(66),
  9493. },
  9494. 79: {
  9495. Fbits: uint8(9),
  9496. Fval: uint16(228),
  9497. },
  9498. 80: {
  9499. Fop: uint8(16),
  9500. Fbits: uint8(7),
  9501. Fval: uint16(7),
  9502. },
  9503. 81: {
  9504. Fbits: uint8(8),
  9505. Fval: uint16(90),
  9506. },
  9507. 82: {
  9508. Fbits: uint8(8),
  9509. Fval: uint16(26),
  9510. },
  9511. 83: {
  9512. Fbits: uint8(9),
  9513. Fval: uint16(148),
  9514. },
  9515. 84: {
  9516. Fop: uint8(20),
  9517. Fbits: uint8(7),
  9518. Fval: uint16(67),
  9519. },
  9520. 85: {
  9521. Fbits: uint8(8),
  9522. Fval: uint16(122),
  9523. },
  9524. 86: {
  9525. Fbits: uint8(8),
  9526. Fval: uint16(58),
  9527. },
  9528. 87: {
  9529. Fbits: uint8(9),
  9530. Fval: uint16(212),
  9531. },
  9532. 88: {
  9533. Fop: uint8(18),
  9534. Fbits: uint8(7),
  9535. Fval: uint16(19),
  9536. },
  9537. 89: {
  9538. Fbits: uint8(8),
  9539. Fval: uint16(106),
  9540. },
  9541. 90: {
  9542. Fbits: uint8(8),
  9543. Fval: uint16(42),
  9544. },
  9545. 91: {
  9546. Fbits: uint8(9),
  9547. Fval: uint16(180),
  9548. },
  9549. 92: {
  9550. Fbits: uint8(8),
  9551. Fval: uint16(10),
  9552. },
  9553. 93: {
  9554. Fbits: uint8(8),
  9555. Fval: uint16(138),
  9556. },
  9557. 94: {
  9558. Fbits: uint8(8),
  9559. Fval: uint16(74),
  9560. },
  9561. 95: {
  9562. Fbits: uint8(9),
  9563. Fval: uint16(244),
  9564. },
  9565. 96: {
  9566. Fop: uint8(16),
  9567. Fbits: uint8(7),
  9568. Fval: uint16(5),
  9569. },
  9570. 97: {
  9571. Fbits: uint8(8),
  9572. Fval: uint16(86),
  9573. },
  9574. 98: {
  9575. Fbits: uint8(8),
  9576. Fval: uint16(22),
  9577. },
  9578. 99: {
  9579. Fop: uint8(64),
  9580. Fbits: uint8(8),
  9581. },
  9582. 100: {
  9583. Fop: uint8(19),
  9584. Fbits: uint8(7),
  9585. Fval: uint16(51),
  9586. },
  9587. 101: {
  9588. Fbits: uint8(8),
  9589. Fval: uint16(118),
  9590. },
  9591. 102: {
  9592. Fbits: uint8(8),
  9593. Fval: uint16(54),
  9594. },
  9595. 103: {
  9596. Fbits: uint8(9),
  9597. Fval: uint16(204),
  9598. },
  9599. 104: {
  9600. Fop: uint8(17),
  9601. Fbits: uint8(7),
  9602. Fval: uint16(15),
  9603. },
  9604. 105: {
  9605. Fbits: uint8(8),
  9606. Fval: uint16(102),
  9607. },
  9608. 106: {
  9609. Fbits: uint8(8),
  9610. Fval: uint16(38),
  9611. },
  9612. 107: {
  9613. Fbits: uint8(9),
  9614. Fval: uint16(172),
  9615. },
  9616. 108: {
  9617. Fbits: uint8(8),
  9618. Fval: uint16(6),
  9619. },
  9620. 109: {
  9621. Fbits: uint8(8),
  9622. Fval: uint16(134),
  9623. },
  9624. 110: {
  9625. Fbits: uint8(8),
  9626. Fval: uint16(70),
  9627. },
  9628. 111: {
  9629. Fbits: uint8(9),
  9630. Fval: uint16(236),
  9631. },
  9632. 112: {
  9633. Fop: uint8(16),
  9634. Fbits: uint8(7),
  9635. Fval: uint16(9),
  9636. },
  9637. 113: {
  9638. Fbits: uint8(8),
  9639. Fval: uint16(94),
  9640. },
  9641. 114: {
  9642. Fbits: uint8(8),
  9643. Fval: uint16(30),
  9644. },
  9645. 115: {
  9646. Fbits: uint8(9),
  9647. Fval: uint16(156),
  9648. },
  9649. 116: {
  9650. Fop: uint8(20),
  9651. Fbits: uint8(7),
  9652. Fval: uint16(99),
  9653. },
  9654. 117: {
  9655. Fbits: uint8(8),
  9656. Fval: uint16(126),
  9657. },
  9658. 118: {
  9659. Fbits: uint8(8),
  9660. Fval: uint16(62),
  9661. },
  9662. 119: {
  9663. Fbits: uint8(9),
  9664. Fval: uint16(220),
  9665. },
  9666. 120: {
  9667. Fop: uint8(18),
  9668. Fbits: uint8(7),
  9669. Fval: uint16(27),
  9670. },
  9671. 121: {
  9672. Fbits: uint8(8),
  9673. Fval: uint16(110),
  9674. },
  9675. 122: {
  9676. Fbits: uint8(8),
  9677. Fval: uint16(46),
  9678. },
  9679. 123: {
  9680. Fbits: uint8(9),
  9681. Fval: uint16(188),
  9682. },
  9683. 124: {
  9684. Fbits: uint8(8),
  9685. Fval: uint16(14),
  9686. },
  9687. 125: {
  9688. Fbits: uint8(8),
  9689. Fval: uint16(142),
  9690. },
  9691. 126: {
  9692. Fbits: uint8(8),
  9693. Fval: uint16(78),
  9694. },
  9695. 127: {
  9696. Fbits: uint8(9),
  9697. Fval: uint16(252),
  9698. },
  9699. 128: {
  9700. Fop: uint8(96),
  9701. Fbits: uint8(7),
  9702. },
  9703. 129: {
  9704. Fbits: uint8(8),
  9705. Fval: uint16(81),
  9706. },
  9707. 130: {
  9708. Fbits: uint8(8),
  9709. Fval: uint16(17),
  9710. },
  9711. 131: {
  9712. Fop: uint8(21),
  9713. Fbits: uint8(8),
  9714. Fval: uint16(131),
  9715. },
  9716. 132: {
  9717. Fop: uint8(18),
  9718. Fbits: uint8(7),
  9719. Fval: uint16(31),
  9720. },
  9721. 133: {
  9722. Fbits: uint8(8),
  9723. Fval: uint16(113),
  9724. },
  9725. 134: {
  9726. Fbits: uint8(8),
  9727. Fval: uint16(49),
  9728. },
  9729. 135: {
  9730. Fbits: uint8(9),
  9731. Fval: uint16(194),
  9732. },
  9733. 136: {
  9734. Fop: uint8(16),
  9735. Fbits: uint8(7),
  9736. Fval: uint16(10),
  9737. },
  9738. 137: {
  9739. Fbits: uint8(8),
  9740. Fval: uint16(97),
  9741. },
  9742. 138: {
  9743. Fbits: uint8(8),
  9744. Fval: uint16(33),
  9745. },
  9746. 139: {
  9747. Fbits: uint8(9),
  9748. Fval: uint16(162),
  9749. },
  9750. 140: {
  9751. Fbits: uint8(8),
  9752. Fval: uint16(1),
  9753. },
  9754. 141: {
  9755. Fbits: uint8(8),
  9756. Fval: uint16(129),
  9757. },
  9758. 142: {
  9759. Fbits: uint8(8),
  9760. Fval: uint16(65),
  9761. },
  9762. 143: {
  9763. Fbits: uint8(9),
  9764. Fval: uint16(226),
  9765. },
  9766. 144: {
  9767. Fop: uint8(16),
  9768. Fbits: uint8(7),
  9769. Fval: uint16(6),
  9770. },
  9771. 145: {
  9772. Fbits: uint8(8),
  9773. Fval: uint16(89),
  9774. },
  9775. 146: {
  9776. Fbits: uint8(8),
  9777. Fval: uint16(25),
  9778. },
  9779. 147: {
  9780. Fbits: uint8(9),
  9781. Fval: uint16(146),
  9782. },
  9783. 148: {
  9784. Fop: uint8(19),
  9785. Fbits: uint8(7),
  9786. Fval: uint16(59),
  9787. },
  9788. 149: {
  9789. Fbits: uint8(8),
  9790. Fval: uint16(121),
  9791. },
  9792. 150: {
  9793. Fbits: uint8(8),
  9794. Fval: uint16(57),
  9795. },
  9796. 151: {
  9797. Fbits: uint8(9),
  9798. Fval: uint16(210),
  9799. },
  9800. 152: {
  9801. Fop: uint8(17),
  9802. Fbits: uint8(7),
  9803. Fval: uint16(17),
  9804. },
  9805. 153: {
  9806. Fbits: uint8(8),
  9807. Fval: uint16(105),
  9808. },
  9809. 154: {
  9810. Fbits: uint8(8),
  9811. Fval: uint16(41),
  9812. },
  9813. 155: {
  9814. Fbits: uint8(9),
  9815. Fval: uint16(178),
  9816. },
  9817. 156: {
  9818. Fbits: uint8(8),
  9819. Fval: uint16(9),
  9820. },
  9821. 157: {
  9822. Fbits: uint8(8),
  9823. Fval: uint16(137),
  9824. },
  9825. 158: {
  9826. Fbits: uint8(8),
  9827. Fval: uint16(73),
  9828. },
  9829. 159: {
  9830. Fbits: uint8(9),
  9831. Fval: uint16(242),
  9832. },
  9833. 160: {
  9834. Fop: uint8(16),
  9835. Fbits: uint8(7),
  9836. Fval: uint16(4),
  9837. },
  9838. 161: {
  9839. Fbits: uint8(8),
  9840. Fval: uint16(85),
  9841. },
  9842. 162: {
  9843. Fbits: uint8(8),
  9844. Fval: uint16(21),
  9845. },
  9846. 163: {
  9847. Fop: uint8(16),
  9848. Fbits: uint8(8),
  9849. Fval: uint16(258),
  9850. },
  9851. 164: {
  9852. Fop: uint8(19),
  9853. Fbits: uint8(7),
  9854. Fval: uint16(43),
  9855. },
  9856. 165: {
  9857. Fbits: uint8(8),
  9858. Fval: uint16(117),
  9859. },
  9860. 166: {
  9861. Fbits: uint8(8),
  9862. Fval: uint16(53),
  9863. },
  9864. 167: {
  9865. Fbits: uint8(9),
  9866. Fval: uint16(202),
  9867. },
  9868. 168: {
  9869. Fop: uint8(17),
  9870. Fbits: uint8(7),
  9871. Fval: uint16(13),
  9872. },
  9873. 169: {
  9874. Fbits: uint8(8),
  9875. Fval: uint16(101),
  9876. },
  9877. 170: {
  9878. Fbits: uint8(8),
  9879. Fval: uint16(37),
  9880. },
  9881. 171: {
  9882. Fbits: uint8(9),
  9883. Fval: uint16(170),
  9884. },
  9885. 172: {
  9886. Fbits: uint8(8),
  9887. Fval: uint16(5),
  9888. },
  9889. 173: {
  9890. Fbits: uint8(8),
  9891. Fval: uint16(133),
  9892. },
  9893. 174: {
  9894. Fbits: uint8(8),
  9895. Fval: uint16(69),
  9896. },
  9897. 175: {
  9898. Fbits: uint8(9),
  9899. Fval: uint16(234),
  9900. },
  9901. 176: {
  9902. Fop: uint8(16),
  9903. Fbits: uint8(7),
  9904. Fval: uint16(8),
  9905. },
  9906. 177: {
  9907. Fbits: uint8(8),
  9908. Fval: uint16(93),
  9909. },
  9910. 178: {
  9911. Fbits: uint8(8),
  9912. Fval: uint16(29),
  9913. },
  9914. 179: {
  9915. Fbits: uint8(9),
  9916. Fval: uint16(154),
  9917. },
  9918. 180: {
  9919. Fop: uint8(20),
  9920. Fbits: uint8(7),
  9921. Fval: uint16(83),
  9922. },
  9923. 181: {
  9924. Fbits: uint8(8),
  9925. Fval: uint16(125),
  9926. },
  9927. 182: {
  9928. Fbits: uint8(8),
  9929. Fval: uint16(61),
  9930. },
  9931. 183: {
  9932. Fbits: uint8(9),
  9933. Fval: uint16(218),
  9934. },
  9935. 184: {
  9936. Fop: uint8(18),
  9937. Fbits: uint8(7),
  9938. Fval: uint16(23),
  9939. },
  9940. 185: {
  9941. Fbits: uint8(8),
  9942. Fval: uint16(109),
  9943. },
  9944. 186: {
  9945. Fbits: uint8(8),
  9946. Fval: uint16(45),
  9947. },
  9948. 187: {
  9949. Fbits: uint8(9),
  9950. Fval: uint16(186),
  9951. },
  9952. 188: {
  9953. Fbits: uint8(8),
  9954. Fval: uint16(13),
  9955. },
  9956. 189: {
  9957. Fbits: uint8(8),
  9958. Fval: uint16(141),
  9959. },
  9960. 190: {
  9961. Fbits: uint8(8),
  9962. Fval: uint16(77),
  9963. },
  9964. 191: {
  9965. Fbits: uint8(9),
  9966. Fval: uint16(250),
  9967. },
  9968. 192: {
  9969. Fop: uint8(16),
  9970. Fbits: uint8(7),
  9971. Fval: uint16(3),
  9972. },
  9973. 193: {
  9974. Fbits: uint8(8),
  9975. Fval: uint16(83),
  9976. },
  9977. 194: {
  9978. Fbits: uint8(8),
  9979. Fval: uint16(19),
  9980. },
  9981. 195: {
  9982. Fop: uint8(21),
  9983. Fbits: uint8(8),
  9984. Fval: uint16(195),
  9985. },
  9986. 196: {
  9987. Fop: uint8(19),
  9988. Fbits: uint8(7),
  9989. Fval: uint16(35),
  9990. },
  9991. 197: {
  9992. Fbits: uint8(8),
  9993. Fval: uint16(115),
  9994. },
  9995. 198: {
  9996. Fbits: uint8(8),
  9997. Fval: uint16(51),
  9998. },
  9999. 199: {
  10000. Fbits: uint8(9),
  10001. Fval: uint16(198),
  10002. },
  10003. 200: {
  10004. Fop: uint8(17),
  10005. Fbits: uint8(7),
  10006. Fval: uint16(11),
  10007. },
  10008. 201: {
  10009. Fbits: uint8(8),
  10010. Fval: uint16(99),
  10011. },
  10012. 202: {
  10013. Fbits: uint8(8),
  10014. Fval: uint16(35),
  10015. },
  10016. 203: {
  10017. Fbits: uint8(9),
  10018. Fval: uint16(166),
  10019. },
  10020. 204: {
  10021. Fbits: uint8(8),
  10022. Fval: uint16(3),
  10023. },
  10024. 205: {
  10025. Fbits: uint8(8),
  10026. Fval: uint16(131),
  10027. },
  10028. 206: {
  10029. Fbits: uint8(8),
  10030. Fval: uint16(67),
  10031. },
  10032. 207: {
  10033. Fbits: uint8(9),
  10034. Fval: uint16(230),
  10035. },
  10036. 208: {
  10037. Fop: uint8(16),
  10038. Fbits: uint8(7),
  10039. Fval: uint16(7),
  10040. },
  10041. 209: {
  10042. Fbits: uint8(8),
  10043. Fval: uint16(91),
  10044. },
  10045. 210: {
  10046. Fbits: uint8(8),
  10047. Fval: uint16(27),
  10048. },
  10049. 211: {
  10050. Fbits: uint8(9),
  10051. Fval: uint16(150),
  10052. },
  10053. 212: {
  10054. Fop: uint8(20),
  10055. Fbits: uint8(7),
  10056. Fval: uint16(67),
  10057. },
  10058. 213: {
  10059. Fbits: uint8(8),
  10060. Fval: uint16(123),
  10061. },
  10062. 214: {
  10063. Fbits: uint8(8),
  10064. Fval: uint16(59),
  10065. },
  10066. 215: {
  10067. Fbits: uint8(9),
  10068. Fval: uint16(214),
  10069. },
  10070. 216: {
  10071. Fop: uint8(18),
  10072. Fbits: uint8(7),
  10073. Fval: uint16(19),
  10074. },
  10075. 217: {
  10076. Fbits: uint8(8),
  10077. Fval: uint16(107),
  10078. },
  10079. 218: {
  10080. Fbits: uint8(8),
  10081. Fval: uint16(43),
  10082. },
  10083. 219: {
  10084. Fbits: uint8(9),
  10085. Fval: uint16(182),
  10086. },
  10087. 220: {
  10088. Fbits: uint8(8),
  10089. Fval: uint16(11),
  10090. },
  10091. 221: {
  10092. Fbits: uint8(8),
  10093. Fval: uint16(139),
  10094. },
  10095. 222: {
  10096. Fbits: uint8(8),
  10097. Fval: uint16(75),
  10098. },
  10099. 223: {
  10100. Fbits: uint8(9),
  10101. Fval: uint16(246),
  10102. },
  10103. 224: {
  10104. Fop: uint8(16),
  10105. Fbits: uint8(7),
  10106. Fval: uint16(5),
  10107. },
  10108. 225: {
  10109. Fbits: uint8(8),
  10110. Fval: uint16(87),
  10111. },
  10112. 226: {
  10113. Fbits: uint8(8),
  10114. Fval: uint16(23),
  10115. },
  10116. 227: {
  10117. Fop: uint8(64),
  10118. Fbits: uint8(8),
  10119. },
  10120. 228: {
  10121. Fop: uint8(19),
  10122. Fbits: uint8(7),
  10123. Fval: uint16(51),
  10124. },
  10125. 229: {
  10126. Fbits: uint8(8),
  10127. Fval: uint16(119),
  10128. },
  10129. 230: {
  10130. Fbits: uint8(8),
  10131. Fval: uint16(55),
  10132. },
  10133. 231: {
  10134. Fbits: uint8(9),
  10135. Fval: uint16(206),
  10136. },
  10137. 232: {
  10138. Fop: uint8(17),
  10139. Fbits: uint8(7),
  10140. Fval: uint16(15),
  10141. },
  10142. 233: {
  10143. Fbits: uint8(8),
  10144. Fval: uint16(103),
  10145. },
  10146. 234: {
  10147. Fbits: uint8(8),
  10148. Fval: uint16(39),
  10149. },
  10150. 235: {
  10151. Fbits: uint8(9),
  10152. Fval: uint16(174),
  10153. },
  10154. 236: {
  10155. Fbits: uint8(8),
  10156. Fval: uint16(7),
  10157. },
  10158. 237: {
  10159. Fbits: uint8(8),
  10160. Fval: uint16(135),
  10161. },
  10162. 238: {
  10163. Fbits: uint8(8),
  10164. Fval: uint16(71),
  10165. },
  10166. 239: {
  10167. Fbits: uint8(9),
  10168. Fval: uint16(238),
  10169. },
  10170. 240: {
  10171. Fop: uint8(16),
  10172. Fbits: uint8(7),
  10173. Fval: uint16(9),
  10174. },
  10175. 241: {
  10176. Fbits: uint8(8),
  10177. Fval: uint16(95),
  10178. },
  10179. 242: {
  10180. Fbits: uint8(8),
  10181. Fval: uint16(31),
  10182. },
  10183. 243: {
  10184. Fbits: uint8(9),
  10185. Fval: uint16(158),
  10186. },
  10187. 244: {
  10188. Fop: uint8(20),
  10189. Fbits: uint8(7),
  10190. Fval: uint16(99),
  10191. },
  10192. 245: {
  10193. Fbits: uint8(8),
  10194. Fval: uint16(127),
  10195. },
  10196. 246: {
  10197. Fbits: uint8(8),
  10198. Fval: uint16(63),
  10199. },
  10200. 247: {
  10201. Fbits: uint8(9),
  10202. Fval: uint16(222),
  10203. },
  10204. 248: {
  10205. Fop: uint8(18),
  10206. Fbits: uint8(7),
  10207. Fval: uint16(27),
  10208. },
  10209. 249: {
  10210. Fbits: uint8(8),
  10211. Fval: uint16(111),
  10212. },
  10213. 250: {
  10214. Fbits: uint8(8),
  10215. Fval: uint16(47),
  10216. },
  10217. 251: {
  10218. Fbits: uint8(9),
  10219. Fval: uint16(190),
  10220. },
  10221. 252: {
  10222. Fbits: uint8(8),
  10223. Fval: uint16(15),
  10224. },
  10225. 253: {
  10226. Fbits: uint8(8),
  10227. Fval: uint16(143),
  10228. },
  10229. 254: {
  10230. Fbits: uint8(8),
  10231. Fval: uint16(79),
  10232. },
  10233. 255: {
  10234. Fbits: uint8(9),
  10235. Fval: uint16(254),
  10236. },
  10237. 256: {
  10238. Fop: uint8(96),
  10239. Fbits: uint8(7),
  10240. },
  10241. 257: {
  10242. Fbits: uint8(8),
  10243. Fval: uint16(80),
  10244. },
  10245. 258: {
  10246. Fbits: uint8(8),
  10247. Fval: uint16(16),
  10248. },
  10249. 259: {
  10250. Fop: uint8(20),
  10251. Fbits: uint8(8),
  10252. Fval: uint16(115),
  10253. },
  10254. 260: {
  10255. Fop: uint8(18),
  10256. Fbits: uint8(7),
  10257. Fval: uint16(31),
  10258. },
  10259. 261: {
  10260. Fbits: uint8(8),
  10261. Fval: uint16(112),
  10262. },
  10263. 262: {
  10264. Fbits: uint8(8),
  10265. Fval: uint16(48),
  10266. },
  10267. 263: {
  10268. Fbits: uint8(9),
  10269. Fval: uint16(193),
  10270. },
  10271. 264: {
  10272. Fop: uint8(16),
  10273. Fbits: uint8(7),
  10274. Fval: uint16(10),
  10275. },
  10276. 265: {
  10277. Fbits: uint8(8),
  10278. Fval: uint16(96),
  10279. },
  10280. 266: {
  10281. Fbits: uint8(8),
  10282. Fval: uint16(32),
  10283. },
  10284. 267: {
  10285. Fbits: uint8(9),
  10286. Fval: uint16(161),
  10287. },
  10288. 268: {
  10289. Fbits: uint8(8),
  10290. },
  10291. 269: {
  10292. Fbits: uint8(8),
  10293. Fval: uint16(128),
  10294. },
  10295. 270: {
  10296. Fbits: uint8(8),
  10297. Fval: uint16(64),
  10298. },
  10299. 271: {
  10300. Fbits: uint8(9),
  10301. Fval: uint16(225),
  10302. },
  10303. 272: {
  10304. Fop: uint8(16),
  10305. Fbits: uint8(7),
  10306. Fval: uint16(6),
  10307. },
  10308. 273: {
  10309. Fbits: uint8(8),
  10310. Fval: uint16(88),
  10311. },
  10312. 274: {
  10313. Fbits: uint8(8),
  10314. Fval: uint16(24),
  10315. },
  10316. 275: {
  10317. Fbits: uint8(9),
  10318. Fval: uint16(145),
  10319. },
  10320. 276: {
  10321. Fop: uint8(19),
  10322. Fbits: uint8(7),
  10323. Fval: uint16(59),
  10324. },
  10325. 277: {
  10326. Fbits: uint8(8),
  10327. Fval: uint16(120),
  10328. },
  10329. 278: {
  10330. Fbits: uint8(8),
  10331. Fval: uint16(56),
  10332. },
  10333. 279: {
  10334. Fbits: uint8(9),
  10335. Fval: uint16(209),
  10336. },
  10337. 280: {
  10338. Fop: uint8(17),
  10339. Fbits: uint8(7),
  10340. Fval: uint16(17),
  10341. },
  10342. 281: {
  10343. Fbits: uint8(8),
  10344. Fval: uint16(104),
  10345. },
  10346. 282: {
  10347. Fbits: uint8(8),
  10348. Fval: uint16(40),
  10349. },
  10350. 283: {
  10351. Fbits: uint8(9),
  10352. Fval: uint16(177),
  10353. },
  10354. 284: {
  10355. Fbits: uint8(8),
  10356. Fval: uint16(8),
  10357. },
  10358. 285: {
  10359. Fbits: uint8(8),
  10360. Fval: uint16(136),
  10361. },
  10362. 286: {
  10363. Fbits: uint8(8),
  10364. Fval: uint16(72),
  10365. },
  10366. 287: {
  10367. Fbits: uint8(9),
  10368. Fval: uint16(241),
  10369. },
  10370. 288: {
  10371. Fop: uint8(16),
  10372. Fbits: uint8(7),
  10373. Fval: uint16(4),
  10374. },
  10375. 289: {
  10376. Fbits: uint8(8),
  10377. Fval: uint16(84),
  10378. },
  10379. 290: {
  10380. Fbits: uint8(8),
  10381. Fval: uint16(20),
  10382. },
  10383. 291: {
  10384. Fop: uint8(21),
  10385. Fbits: uint8(8),
  10386. Fval: uint16(227),
  10387. },
  10388. 292: {
  10389. Fop: uint8(19),
  10390. Fbits: uint8(7),
  10391. Fval: uint16(43),
  10392. },
  10393. 293: {
  10394. Fbits: uint8(8),
  10395. Fval: uint16(116),
  10396. },
  10397. 294: {
  10398. Fbits: uint8(8),
  10399. Fval: uint16(52),
  10400. },
  10401. 295: {
  10402. Fbits: uint8(9),
  10403. Fval: uint16(201),
  10404. },
  10405. 296: {
  10406. Fop: uint8(17),
  10407. Fbits: uint8(7),
  10408. Fval: uint16(13),
  10409. },
  10410. 297: {
  10411. Fbits: uint8(8),
  10412. Fval: uint16(100),
  10413. },
  10414. 298: {
  10415. Fbits: uint8(8),
  10416. Fval: uint16(36),
  10417. },
  10418. 299: {
  10419. Fbits: uint8(9),
  10420. Fval: uint16(169),
  10421. },
  10422. 300: {
  10423. Fbits: uint8(8),
  10424. Fval: uint16(4),
  10425. },
  10426. 301: {
  10427. Fbits: uint8(8),
  10428. Fval: uint16(132),
  10429. },
  10430. 302: {
  10431. Fbits: uint8(8),
  10432. Fval: uint16(68),
  10433. },
  10434. 303: {
  10435. Fbits: uint8(9),
  10436. Fval: uint16(233),
  10437. },
  10438. 304: {
  10439. Fop: uint8(16),
  10440. Fbits: uint8(7),
  10441. Fval: uint16(8),
  10442. },
  10443. 305: {
  10444. Fbits: uint8(8),
  10445. Fval: uint16(92),
  10446. },
  10447. 306: {
  10448. Fbits: uint8(8),
  10449. Fval: uint16(28),
  10450. },
  10451. 307: {
  10452. Fbits: uint8(9),
  10453. Fval: uint16(153),
  10454. },
  10455. 308: {
  10456. Fop: uint8(20),
  10457. Fbits: uint8(7),
  10458. Fval: uint16(83),
  10459. },
  10460. 309: {
  10461. Fbits: uint8(8),
  10462. Fval: uint16(124),
  10463. },
  10464. 310: {
  10465. Fbits: uint8(8),
  10466. Fval: uint16(60),
  10467. },
  10468. 311: {
  10469. Fbits: uint8(9),
  10470. Fval: uint16(217),
  10471. },
  10472. 312: {
  10473. Fop: uint8(18),
  10474. Fbits: uint8(7),
  10475. Fval: uint16(23),
  10476. },
  10477. 313: {
  10478. Fbits: uint8(8),
  10479. Fval: uint16(108),
  10480. },
  10481. 314: {
  10482. Fbits: uint8(8),
  10483. Fval: uint16(44),
  10484. },
  10485. 315: {
  10486. Fbits: uint8(9),
  10487. Fval: uint16(185),
  10488. },
  10489. 316: {
  10490. Fbits: uint8(8),
  10491. Fval: uint16(12),
  10492. },
  10493. 317: {
  10494. Fbits: uint8(8),
  10495. Fval: uint16(140),
  10496. },
  10497. 318: {
  10498. Fbits: uint8(8),
  10499. Fval: uint16(76),
  10500. },
  10501. 319: {
  10502. Fbits: uint8(9),
  10503. Fval: uint16(249),
  10504. },
  10505. 320: {
  10506. Fop: uint8(16),
  10507. Fbits: uint8(7),
  10508. Fval: uint16(3),
  10509. },
  10510. 321: {
  10511. Fbits: uint8(8),
  10512. Fval: uint16(82),
  10513. },
  10514. 322: {
  10515. Fbits: uint8(8),
  10516. Fval: uint16(18),
  10517. },
  10518. 323: {
  10519. Fop: uint8(21),
  10520. Fbits: uint8(8),
  10521. Fval: uint16(163),
  10522. },
  10523. 324: {
  10524. Fop: uint8(19),
  10525. Fbits: uint8(7),
  10526. Fval: uint16(35),
  10527. },
  10528. 325: {
  10529. Fbits: uint8(8),
  10530. Fval: uint16(114),
  10531. },
  10532. 326: {
  10533. Fbits: uint8(8),
  10534. Fval: uint16(50),
  10535. },
  10536. 327: {
  10537. Fbits: uint8(9),
  10538. Fval: uint16(197),
  10539. },
  10540. 328: {
  10541. Fop: uint8(17),
  10542. Fbits: uint8(7),
  10543. Fval: uint16(11),
  10544. },
  10545. 329: {
  10546. Fbits: uint8(8),
  10547. Fval: uint16(98),
  10548. },
  10549. 330: {
  10550. Fbits: uint8(8),
  10551. Fval: uint16(34),
  10552. },
  10553. 331: {
  10554. Fbits: uint8(9),
  10555. Fval: uint16(165),
  10556. },
  10557. 332: {
  10558. Fbits: uint8(8),
  10559. Fval: uint16(2),
  10560. },
  10561. 333: {
  10562. Fbits: uint8(8),
  10563. Fval: uint16(130),
  10564. },
  10565. 334: {
  10566. Fbits: uint8(8),
  10567. Fval: uint16(66),
  10568. },
  10569. 335: {
  10570. Fbits: uint8(9),
  10571. Fval: uint16(229),
  10572. },
  10573. 336: {
  10574. Fop: uint8(16),
  10575. Fbits: uint8(7),
  10576. Fval: uint16(7),
  10577. },
  10578. 337: {
  10579. Fbits: uint8(8),
  10580. Fval: uint16(90),
  10581. },
  10582. 338: {
  10583. Fbits: uint8(8),
  10584. Fval: uint16(26),
  10585. },
  10586. 339: {
  10587. Fbits: uint8(9),
  10588. Fval: uint16(149),
  10589. },
  10590. 340: {
  10591. Fop: uint8(20),
  10592. Fbits: uint8(7),
  10593. Fval: uint16(67),
  10594. },
  10595. 341: {
  10596. Fbits: uint8(8),
  10597. Fval: uint16(122),
  10598. },
  10599. 342: {
  10600. Fbits: uint8(8),
  10601. Fval: uint16(58),
  10602. },
  10603. 343: {
  10604. Fbits: uint8(9),
  10605. Fval: uint16(213),
  10606. },
  10607. 344: {
  10608. Fop: uint8(18),
  10609. Fbits: uint8(7),
  10610. Fval: uint16(19),
  10611. },
  10612. 345: {
  10613. Fbits: uint8(8),
  10614. Fval: uint16(106),
  10615. },
  10616. 346: {
  10617. Fbits: uint8(8),
  10618. Fval: uint16(42),
  10619. },
  10620. 347: {
  10621. Fbits: uint8(9),
  10622. Fval: uint16(181),
  10623. },
  10624. 348: {
  10625. Fbits: uint8(8),
  10626. Fval: uint16(10),
  10627. },
  10628. 349: {
  10629. Fbits: uint8(8),
  10630. Fval: uint16(138),
  10631. },
  10632. 350: {
  10633. Fbits: uint8(8),
  10634. Fval: uint16(74),
  10635. },
  10636. 351: {
  10637. Fbits: uint8(9),
  10638. Fval: uint16(245),
  10639. },
  10640. 352: {
  10641. Fop: uint8(16),
  10642. Fbits: uint8(7),
  10643. Fval: uint16(5),
  10644. },
  10645. 353: {
  10646. Fbits: uint8(8),
  10647. Fval: uint16(86),
  10648. },
  10649. 354: {
  10650. Fbits: uint8(8),
  10651. Fval: uint16(22),
  10652. },
  10653. 355: {
  10654. Fop: uint8(64),
  10655. Fbits: uint8(8),
  10656. },
  10657. 356: {
  10658. Fop: uint8(19),
  10659. Fbits: uint8(7),
  10660. Fval: uint16(51),
  10661. },
  10662. 357: {
  10663. Fbits: uint8(8),
  10664. Fval: uint16(118),
  10665. },
  10666. 358: {
  10667. Fbits: uint8(8),
  10668. Fval: uint16(54),
  10669. },
  10670. 359: {
  10671. Fbits: uint8(9),
  10672. Fval: uint16(205),
  10673. },
  10674. 360: {
  10675. Fop: uint8(17),
  10676. Fbits: uint8(7),
  10677. Fval: uint16(15),
  10678. },
  10679. 361: {
  10680. Fbits: uint8(8),
  10681. Fval: uint16(102),
  10682. },
  10683. 362: {
  10684. Fbits: uint8(8),
  10685. Fval: uint16(38),
  10686. },
  10687. 363: {
  10688. Fbits: uint8(9),
  10689. Fval: uint16(173),
  10690. },
  10691. 364: {
  10692. Fbits: uint8(8),
  10693. Fval: uint16(6),
  10694. },
  10695. 365: {
  10696. Fbits: uint8(8),
  10697. Fval: uint16(134),
  10698. },
  10699. 366: {
  10700. Fbits: uint8(8),
  10701. Fval: uint16(70),
  10702. },
  10703. 367: {
  10704. Fbits: uint8(9),
  10705. Fval: uint16(237),
  10706. },
  10707. 368: {
  10708. Fop: uint8(16),
  10709. Fbits: uint8(7),
  10710. Fval: uint16(9),
  10711. },
  10712. 369: {
  10713. Fbits: uint8(8),
  10714. Fval: uint16(94),
  10715. },
  10716. 370: {
  10717. Fbits: uint8(8),
  10718. Fval: uint16(30),
  10719. },
  10720. 371: {
  10721. Fbits: uint8(9),
  10722. Fval: uint16(157),
  10723. },
  10724. 372: {
  10725. Fop: uint8(20),
  10726. Fbits: uint8(7),
  10727. Fval: uint16(99),
  10728. },
  10729. 373: {
  10730. Fbits: uint8(8),
  10731. Fval: uint16(126),
  10732. },
  10733. 374: {
  10734. Fbits: uint8(8),
  10735. Fval: uint16(62),
  10736. },
  10737. 375: {
  10738. Fbits: uint8(9),
  10739. Fval: uint16(221),
  10740. },
  10741. 376: {
  10742. Fop: uint8(18),
  10743. Fbits: uint8(7),
  10744. Fval: uint16(27),
  10745. },
  10746. 377: {
  10747. Fbits: uint8(8),
  10748. Fval: uint16(110),
  10749. },
  10750. 378: {
  10751. Fbits: uint8(8),
  10752. Fval: uint16(46),
  10753. },
  10754. 379: {
  10755. Fbits: uint8(9),
  10756. Fval: uint16(189),
  10757. },
  10758. 380: {
  10759. Fbits: uint8(8),
  10760. Fval: uint16(14),
  10761. },
  10762. 381: {
  10763. Fbits: uint8(8),
  10764. Fval: uint16(142),
  10765. },
  10766. 382: {
  10767. Fbits: uint8(8),
  10768. Fval: uint16(78),
  10769. },
  10770. 383: {
  10771. Fbits: uint8(9),
  10772. Fval: uint16(253),
  10773. },
  10774. 384: {
  10775. Fop: uint8(96),
  10776. Fbits: uint8(7),
  10777. },
  10778. 385: {
  10779. Fbits: uint8(8),
  10780. Fval: uint16(81),
  10781. },
  10782. 386: {
  10783. Fbits: uint8(8),
  10784. Fval: uint16(17),
  10785. },
  10786. 387: {
  10787. Fop: uint8(21),
  10788. Fbits: uint8(8),
  10789. Fval: uint16(131),
  10790. },
  10791. 388: {
  10792. Fop: uint8(18),
  10793. Fbits: uint8(7),
  10794. Fval: uint16(31),
  10795. },
  10796. 389: {
  10797. Fbits: uint8(8),
  10798. Fval: uint16(113),
  10799. },
  10800. 390: {
  10801. Fbits: uint8(8),
  10802. Fval: uint16(49),
  10803. },
  10804. 391: {
  10805. Fbits: uint8(9),
  10806. Fval: uint16(195),
  10807. },
  10808. 392: {
  10809. Fop: uint8(16),
  10810. Fbits: uint8(7),
  10811. Fval: uint16(10),
  10812. },
  10813. 393: {
  10814. Fbits: uint8(8),
  10815. Fval: uint16(97),
  10816. },
  10817. 394: {
  10818. Fbits: uint8(8),
  10819. Fval: uint16(33),
  10820. },
  10821. 395: {
  10822. Fbits: uint8(9),
  10823. Fval: uint16(163),
  10824. },
  10825. 396: {
  10826. Fbits: uint8(8),
  10827. Fval: uint16(1),
  10828. },
  10829. 397: {
  10830. Fbits: uint8(8),
  10831. Fval: uint16(129),
  10832. },
  10833. 398: {
  10834. Fbits: uint8(8),
  10835. Fval: uint16(65),
  10836. },
  10837. 399: {
  10838. Fbits: uint8(9),
  10839. Fval: uint16(227),
  10840. },
  10841. 400: {
  10842. Fop: uint8(16),
  10843. Fbits: uint8(7),
  10844. Fval: uint16(6),
  10845. },
  10846. 401: {
  10847. Fbits: uint8(8),
  10848. Fval: uint16(89),
  10849. },
  10850. 402: {
  10851. Fbits: uint8(8),
  10852. Fval: uint16(25),
  10853. },
  10854. 403: {
  10855. Fbits: uint8(9),
  10856. Fval: uint16(147),
  10857. },
  10858. 404: {
  10859. Fop: uint8(19),
  10860. Fbits: uint8(7),
  10861. Fval: uint16(59),
  10862. },
  10863. 405: {
  10864. Fbits: uint8(8),
  10865. Fval: uint16(121),
  10866. },
  10867. 406: {
  10868. Fbits: uint8(8),
  10869. Fval: uint16(57),
  10870. },
  10871. 407: {
  10872. Fbits: uint8(9),
  10873. Fval: uint16(211),
  10874. },
  10875. 408: {
  10876. Fop: uint8(17),
  10877. Fbits: uint8(7),
  10878. Fval: uint16(17),
  10879. },
  10880. 409: {
  10881. Fbits: uint8(8),
  10882. Fval: uint16(105),
  10883. },
  10884. 410: {
  10885. Fbits: uint8(8),
  10886. Fval: uint16(41),
  10887. },
  10888. 411: {
  10889. Fbits: uint8(9),
  10890. Fval: uint16(179),
  10891. },
  10892. 412: {
  10893. Fbits: uint8(8),
  10894. Fval: uint16(9),
  10895. },
  10896. 413: {
  10897. Fbits: uint8(8),
  10898. Fval: uint16(137),
  10899. },
  10900. 414: {
  10901. Fbits: uint8(8),
  10902. Fval: uint16(73),
  10903. },
  10904. 415: {
  10905. Fbits: uint8(9),
  10906. Fval: uint16(243),
  10907. },
  10908. 416: {
  10909. Fop: uint8(16),
  10910. Fbits: uint8(7),
  10911. Fval: uint16(4),
  10912. },
  10913. 417: {
  10914. Fbits: uint8(8),
  10915. Fval: uint16(85),
  10916. },
  10917. 418: {
  10918. Fbits: uint8(8),
  10919. Fval: uint16(21),
  10920. },
  10921. 419: {
  10922. Fop: uint8(16),
  10923. Fbits: uint8(8),
  10924. Fval: uint16(258),
  10925. },
  10926. 420: {
  10927. Fop: uint8(19),
  10928. Fbits: uint8(7),
  10929. Fval: uint16(43),
  10930. },
  10931. 421: {
  10932. Fbits: uint8(8),
  10933. Fval: uint16(117),
  10934. },
  10935. 422: {
  10936. Fbits: uint8(8),
  10937. Fval: uint16(53),
  10938. },
  10939. 423: {
  10940. Fbits: uint8(9),
  10941. Fval: uint16(203),
  10942. },
  10943. 424: {
  10944. Fop: uint8(17),
  10945. Fbits: uint8(7),
  10946. Fval: uint16(13),
  10947. },
  10948. 425: {
  10949. Fbits: uint8(8),
  10950. Fval: uint16(101),
  10951. },
  10952. 426: {
  10953. Fbits: uint8(8),
  10954. Fval: uint16(37),
  10955. },
  10956. 427: {
  10957. Fbits: uint8(9),
  10958. Fval: uint16(171),
  10959. },
  10960. 428: {
  10961. Fbits: uint8(8),
  10962. Fval: uint16(5),
  10963. },
  10964. 429: {
  10965. Fbits: uint8(8),
  10966. Fval: uint16(133),
  10967. },
  10968. 430: {
  10969. Fbits: uint8(8),
  10970. Fval: uint16(69),
  10971. },
  10972. 431: {
  10973. Fbits: uint8(9),
  10974. Fval: uint16(235),
  10975. },
  10976. 432: {
  10977. Fop: uint8(16),
  10978. Fbits: uint8(7),
  10979. Fval: uint16(8),
  10980. },
  10981. 433: {
  10982. Fbits: uint8(8),
  10983. Fval: uint16(93),
  10984. },
  10985. 434: {
  10986. Fbits: uint8(8),
  10987. Fval: uint16(29),
  10988. },
  10989. 435: {
  10990. Fbits: uint8(9),
  10991. Fval: uint16(155),
  10992. },
  10993. 436: {
  10994. Fop: uint8(20),
  10995. Fbits: uint8(7),
  10996. Fval: uint16(83),
  10997. },
  10998. 437: {
  10999. Fbits: uint8(8),
  11000. Fval: uint16(125),
  11001. },
  11002. 438: {
  11003. Fbits: uint8(8),
  11004. Fval: uint16(61),
  11005. },
  11006. 439: {
  11007. Fbits: uint8(9),
  11008. Fval: uint16(219),
  11009. },
  11010. 440: {
  11011. Fop: uint8(18),
  11012. Fbits: uint8(7),
  11013. Fval: uint16(23),
  11014. },
  11015. 441: {
  11016. Fbits: uint8(8),
  11017. Fval: uint16(109),
  11018. },
  11019. 442: {
  11020. Fbits: uint8(8),
  11021. Fval: uint16(45),
  11022. },
  11023. 443: {
  11024. Fbits: uint8(9),
  11025. Fval: uint16(187),
  11026. },
  11027. 444: {
  11028. Fbits: uint8(8),
  11029. Fval: uint16(13),
  11030. },
  11031. 445: {
  11032. Fbits: uint8(8),
  11033. Fval: uint16(141),
  11034. },
  11035. 446: {
  11036. Fbits: uint8(8),
  11037. Fval: uint16(77),
  11038. },
  11039. 447: {
  11040. Fbits: uint8(9),
  11041. Fval: uint16(251),
  11042. },
  11043. 448: {
  11044. Fop: uint8(16),
  11045. Fbits: uint8(7),
  11046. Fval: uint16(3),
  11047. },
  11048. 449: {
  11049. Fbits: uint8(8),
  11050. Fval: uint16(83),
  11051. },
  11052. 450: {
  11053. Fbits: uint8(8),
  11054. Fval: uint16(19),
  11055. },
  11056. 451: {
  11057. Fop: uint8(21),
  11058. Fbits: uint8(8),
  11059. Fval: uint16(195),
  11060. },
  11061. 452: {
  11062. Fop: uint8(19),
  11063. Fbits: uint8(7),
  11064. Fval: uint16(35),
  11065. },
  11066. 453: {
  11067. Fbits: uint8(8),
  11068. Fval: uint16(115),
  11069. },
  11070. 454: {
  11071. Fbits: uint8(8),
  11072. Fval: uint16(51),
  11073. },
  11074. 455: {
  11075. Fbits: uint8(9),
  11076. Fval: uint16(199),
  11077. },
  11078. 456: {
  11079. Fop: uint8(17),
  11080. Fbits: uint8(7),
  11081. Fval: uint16(11),
  11082. },
  11083. 457: {
  11084. Fbits: uint8(8),
  11085. Fval: uint16(99),
  11086. },
  11087. 458: {
  11088. Fbits: uint8(8),
  11089. Fval: uint16(35),
  11090. },
  11091. 459: {
  11092. Fbits: uint8(9),
  11093. Fval: uint16(167),
  11094. },
  11095. 460: {
  11096. Fbits: uint8(8),
  11097. Fval: uint16(3),
  11098. },
  11099. 461: {
  11100. Fbits: uint8(8),
  11101. Fval: uint16(131),
  11102. },
  11103. 462: {
  11104. Fbits: uint8(8),
  11105. Fval: uint16(67),
  11106. },
  11107. 463: {
  11108. Fbits: uint8(9),
  11109. Fval: uint16(231),
  11110. },
  11111. 464: {
  11112. Fop: uint8(16),
  11113. Fbits: uint8(7),
  11114. Fval: uint16(7),
  11115. },
  11116. 465: {
  11117. Fbits: uint8(8),
  11118. Fval: uint16(91),
  11119. },
  11120. 466: {
  11121. Fbits: uint8(8),
  11122. Fval: uint16(27),
  11123. },
  11124. 467: {
  11125. Fbits: uint8(9),
  11126. Fval: uint16(151),
  11127. },
  11128. 468: {
  11129. Fop: uint8(20),
  11130. Fbits: uint8(7),
  11131. Fval: uint16(67),
  11132. },
  11133. 469: {
  11134. Fbits: uint8(8),
  11135. Fval: uint16(123),
  11136. },
  11137. 470: {
  11138. Fbits: uint8(8),
  11139. Fval: uint16(59),
  11140. },
  11141. 471: {
  11142. Fbits: uint8(9),
  11143. Fval: uint16(215),
  11144. },
  11145. 472: {
  11146. Fop: uint8(18),
  11147. Fbits: uint8(7),
  11148. Fval: uint16(19),
  11149. },
  11150. 473: {
  11151. Fbits: uint8(8),
  11152. Fval: uint16(107),
  11153. },
  11154. 474: {
  11155. Fbits: uint8(8),
  11156. Fval: uint16(43),
  11157. },
  11158. 475: {
  11159. Fbits: uint8(9),
  11160. Fval: uint16(183),
  11161. },
  11162. 476: {
  11163. Fbits: uint8(8),
  11164. Fval: uint16(11),
  11165. },
  11166. 477: {
  11167. Fbits: uint8(8),
  11168. Fval: uint16(139),
  11169. },
  11170. 478: {
  11171. Fbits: uint8(8),
  11172. Fval: uint16(75),
  11173. },
  11174. 479: {
  11175. Fbits: uint8(9),
  11176. Fval: uint16(247),
  11177. },
  11178. 480: {
  11179. Fop: uint8(16),
  11180. Fbits: uint8(7),
  11181. Fval: uint16(5),
  11182. },
  11183. 481: {
  11184. Fbits: uint8(8),
  11185. Fval: uint16(87),
  11186. },
  11187. 482: {
  11188. Fbits: uint8(8),
  11189. Fval: uint16(23),
  11190. },
  11191. 483: {
  11192. Fop: uint8(64),
  11193. Fbits: uint8(8),
  11194. },
  11195. 484: {
  11196. Fop: uint8(19),
  11197. Fbits: uint8(7),
  11198. Fval: uint16(51),
  11199. },
  11200. 485: {
  11201. Fbits: uint8(8),
  11202. Fval: uint16(119),
  11203. },
  11204. 486: {
  11205. Fbits: uint8(8),
  11206. Fval: uint16(55),
  11207. },
  11208. 487: {
  11209. Fbits: uint8(9),
  11210. Fval: uint16(207),
  11211. },
  11212. 488: {
  11213. Fop: uint8(17),
  11214. Fbits: uint8(7),
  11215. Fval: uint16(15),
  11216. },
  11217. 489: {
  11218. Fbits: uint8(8),
  11219. Fval: uint16(103),
  11220. },
  11221. 490: {
  11222. Fbits: uint8(8),
  11223. Fval: uint16(39),
  11224. },
  11225. 491: {
  11226. Fbits: uint8(9),
  11227. Fval: uint16(175),
  11228. },
  11229. 492: {
  11230. Fbits: uint8(8),
  11231. Fval: uint16(7),
  11232. },
  11233. 493: {
  11234. Fbits: uint8(8),
  11235. Fval: uint16(135),
  11236. },
  11237. 494: {
  11238. Fbits: uint8(8),
  11239. Fval: uint16(71),
  11240. },
  11241. 495: {
  11242. Fbits: uint8(9),
  11243. Fval: uint16(239),
  11244. },
  11245. 496: {
  11246. Fop: uint8(16),
  11247. Fbits: uint8(7),
  11248. Fval: uint16(9),
  11249. },
  11250. 497: {
  11251. Fbits: uint8(8),
  11252. Fval: uint16(95),
  11253. },
  11254. 498: {
  11255. Fbits: uint8(8),
  11256. Fval: uint16(31),
  11257. },
  11258. 499: {
  11259. Fbits: uint8(9),
  11260. Fval: uint16(159),
  11261. },
  11262. 500: {
  11263. Fop: uint8(20),
  11264. Fbits: uint8(7),
  11265. Fval: uint16(99),
  11266. },
  11267. 501: {
  11268. Fbits: uint8(8),
  11269. Fval: uint16(127),
  11270. },
  11271. 502: {
  11272. Fbits: uint8(8),
  11273. Fval: uint16(63),
  11274. },
  11275. 503: {
  11276. Fbits: uint8(9),
  11277. Fval: uint16(223),
  11278. },
  11279. 504: {
  11280. Fop: uint8(18),
  11281. Fbits: uint8(7),
  11282. Fval: uint16(27),
  11283. },
  11284. 505: {
  11285. Fbits: uint8(8),
  11286. Fval: uint16(111),
  11287. },
  11288. 506: {
  11289. Fbits: uint8(8),
  11290. Fval: uint16(47),
  11291. },
  11292. 507: {
  11293. Fbits: uint8(9),
  11294. Fval: uint16(191),
  11295. },
  11296. 508: {
  11297. Fbits: uint8(8),
  11298. Fval: uint16(15),
  11299. },
  11300. 509: {
  11301. Fbits: uint8(8),
  11302. Fval: uint16(143),
  11303. },
  11304. 510: {
  11305. Fbits: uint8(8),
  11306. Fval: uint16(79),
  11307. },
  11308. 511: {
  11309. Fbits: uint8(9),
  11310. Fval: uint16(255),
  11311. },
  11312. }
  11313. var _distfix = [32]Tcode{
  11314. 0: {
  11315. Fop: uint8(16),
  11316. Fbits: uint8(5),
  11317. Fval: uint16(1),
  11318. },
  11319. 1: {
  11320. Fop: uint8(23),
  11321. Fbits: uint8(5),
  11322. Fval: uint16(257),
  11323. },
  11324. 2: {
  11325. Fop: uint8(19),
  11326. Fbits: uint8(5),
  11327. Fval: uint16(17),
  11328. },
  11329. 3: {
  11330. Fop: uint8(27),
  11331. Fbits: uint8(5),
  11332. Fval: uint16(4097),
  11333. },
  11334. 4: {
  11335. Fop: uint8(17),
  11336. Fbits: uint8(5),
  11337. Fval: uint16(5),
  11338. },
  11339. 5: {
  11340. Fop: uint8(25),
  11341. Fbits: uint8(5),
  11342. Fval: uint16(1025),
  11343. },
  11344. 6: {
  11345. Fop: uint8(21),
  11346. Fbits: uint8(5),
  11347. Fval: uint16(65),
  11348. },
  11349. 7: {
  11350. Fop: uint8(29),
  11351. Fbits: uint8(5),
  11352. Fval: uint16(16385),
  11353. },
  11354. 8: {
  11355. Fop: uint8(16),
  11356. Fbits: uint8(5),
  11357. Fval: uint16(3),
  11358. },
  11359. 9: {
  11360. Fop: uint8(24),
  11361. Fbits: uint8(5),
  11362. Fval: uint16(513),
  11363. },
  11364. 10: {
  11365. Fop: uint8(20),
  11366. Fbits: uint8(5),
  11367. Fval: uint16(33),
  11368. },
  11369. 11: {
  11370. Fop: uint8(28),
  11371. Fbits: uint8(5),
  11372. Fval: uint16(8193),
  11373. },
  11374. 12: {
  11375. Fop: uint8(18),
  11376. Fbits: uint8(5),
  11377. Fval: uint16(9),
  11378. },
  11379. 13: {
  11380. Fop: uint8(26),
  11381. Fbits: uint8(5),
  11382. Fval: uint16(2049),
  11383. },
  11384. 14: {
  11385. Fop: uint8(22),
  11386. Fbits: uint8(5),
  11387. Fval: uint16(129),
  11388. },
  11389. 15: {
  11390. Fop: uint8(64),
  11391. Fbits: uint8(5),
  11392. },
  11393. 16: {
  11394. Fop: uint8(16),
  11395. Fbits: uint8(5),
  11396. Fval: uint16(2),
  11397. },
  11398. 17: {
  11399. Fop: uint8(23),
  11400. Fbits: uint8(5),
  11401. Fval: uint16(385),
  11402. },
  11403. 18: {
  11404. Fop: uint8(19),
  11405. Fbits: uint8(5),
  11406. Fval: uint16(25),
  11407. },
  11408. 19: {
  11409. Fop: uint8(27),
  11410. Fbits: uint8(5),
  11411. Fval: uint16(6145),
  11412. },
  11413. 20: {
  11414. Fop: uint8(17),
  11415. Fbits: uint8(5),
  11416. Fval: uint16(7),
  11417. },
  11418. 21: {
  11419. Fop: uint8(25),
  11420. Fbits: uint8(5),
  11421. Fval: uint16(1537),
  11422. },
  11423. 22: {
  11424. Fop: uint8(21),
  11425. Fbits: uint8(5),
  11426. Fval: uint16(97),
  11427. },
  11428. 23: {
  11429. Fop: uint8(29),
  11430. Fbits: uint8(5),
  11431. Fval: uint16(24577),
  11432. },
  11433. 24: {
  11434. Fop: uint8(16),
  11435. Fbits: uint8(5),
  11436. Fval: uint16(4),
  11437. },
  11438. 25: {
  11439. Fop: uint8(24),
  11440. Fbits: uint8(5),
  11441. Fval: uint16(769),
  11442. },
  11443. 26: {
  11444. Fop: uint8(20),
  11445. Fbits: uint8(5),
  11446. Fval: uint16(49),
  11447. },
  11448. 27: {
  11449. Fop: uint8(28),
  11450. Fbits: uint8(5),
  11451. Fval: uint16(12289),
  11452. },
  11453. 28: {
  11454. Fop: uint8(18),
  11455. Fbits: uint8(5),
  11456. Fval: uint16(13),
  11457. },
  11458. 29: {
  11459. Fop: uint8(26),
  11460. Fbits: uint8(5),
  11461. Fval: uint16(3073),
  11462. },
  11463. 30: {
  11464. Fop: uint8(22),
  11465. Fbits: uint8(5),
  11466. Fval: uint16(193),
  11467. },
  11468. 31: {
  11469. Fop: uint8(64),
  11470. Fbits: uint8(5),
  11471. },
  11472. }
  11473. /* Macros for inflateBack(): */
  11474. /* Load returned state from inflate_fast() */
  11475. /* Set state from registers for inflate_fast() */
  11476. /* Clear the input bit accumulator */
  11477. /* Assure that some input is available. If input is requested, but denied,
  11478. then return a Z_BUF_ERROR from inflateBack(). */
  11479. /* Get a byte of input into the bit accumulator, or return from inflateBack()
  11480. with an error if there is no input available. */
  11481. /* Assure that there are at least n bits in the bit accumulator. If there is
  11482. not enough available input to do that, then return from inflateBack() with
  11483. an error. */
  11484. /* Return the low n bits of the bit accumulator (n < 16) */
  11485. /* Remove n bits from the bit accumulator */
  11486. /* Remove zero to seven bits as needed to go to a byte boundary */
  11487. /* Assure that some output space is available, by writing out the window
  11488. if it's full. If the write fails, return from inflateBack() with a
  11489. Z_BUF_ERROR. */
  11490. // C documentation
  11491. //
  11492. // /*
  11493. // strm provides the memory allocation functions and window buffer on input,
  11494. // and provides information on the unused input on return. For Z_DATA_ERROR
  11495. // returns, strm will also provide an error message.
  11496. //
  11497. // in() and out() are the call-back input and output functions. When
  11498. // inflateBack() needs more input, it calls in(). When inflateBack() has
  11499. // filled the window with output, or when it completes with data in the
  11500. // window, it calls out() to write out the data. The application must not
  11501. // change the provided input until in() is called again or inflateBack()
  11502. // returns. The application must not change the window/output buffer until
  11503. // inflateBack() returns.
  11504. //
  11505. // in() and out() are called with a descriptor parameter provided in the
  11506. // inflateBack() call. This parameter can be a structure that provides the
  11507. // information required to do the read or write, as well as accumulated
  11508. // information on the input and output such as totals and check values.
  11509. //
  11510. // in() should return zero on failure. out() should return non-zero on
  11511. // failure. If either in() or out() fails, than inflateBack() returns a
  11512. // Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
  11513. // was in() or out() that caused in the error. Otherwise, inflateBack()
  11514. // returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
  11515. // error, or Z_MEM_ERROR if it could not allocate memory for the state.
  11516. // inflateBack() can also return Z_STREAM_ERROR if the input parameters
  11517. // are not correct, i.e. strm is Z_NULL or the state was not initialized.
  11518. // */
  11519. func XinflateBack(tls *libc.TLS, strm Tz_streamp, in Tin_func, in_desc uintptr, out Tout_func, out_desc uintptr) (r int32) {
  11520. bp := tls.Alloc(16)
  11521. defer tls.Free(16)
  11522. var bits, copy1, have, left, len1, v1, v18, v20, v24, v29, v30, v43, v44 uint32
  11523. var from, put, state, v11, v15, v16, v17, v19, v21, v23, v25, v26, v27, v28, v31, v33, v35, v36, v37, v39, v41, v42, v46, v47 uintptr
  11524. var here, last Tcode
  11525. var hold uint64
  11526. var ret int32
  11527. var _ /* next at bp+0 */ uintptr
  11528. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bits, copy1, from, have, here, hold, last, left, len1, put, ret, state, v1, v11, v15, v16, v17, v18, v19, v20, v21, v23, v24, v25, v26, v27, v28, v29, v30, v31, v33, v35, v36, v37, v39, v41, v42, v43, v44, v46, v47 /* return code */
  11529. /* Check that the strm exists and that the state was initialized */
  11530. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) {
  11531. return -int32(2)
  11532. }
  11533. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  11534. /* Reset the state */
  11535. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  11536. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  11537. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  11538. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  11539. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  11540. if *(*uintptr)(unsafe.Pointer(bp)) != uintptr(m_Z_NULL) {
  11541. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  11542. } else {
  11543. v1 = uint32(0)
  11544. }
  11545. have = v1
  11546. hold = uint64(0)
  11547. bits = uint32(0)
  11548. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  11549. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  11550. /* Inflate until end of block marked as last */
  11551. for {
  11552. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  11553. case int32(_TYPE):
  11554. goto _3
  11555. case int32(_STORED):
  11556. goto _4
  11557. case int32(_TABLE):
  11558. goto _5
  11559. case int32(_LEN):
  11560. goto _6
  11561. case int32(_DONE):
  11562. goto _7
  11563. case int32(_BAD):
  11564. goto _8
  11565. default:
  11566. goto _9
  11567. }
  11568. goto _10
  11569. _3:
  11570. ;
  11571. /* determine and dispatch block type */
  11572. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  11573. hold >>= uint64(bits & uint32(7))
  11574. bits -= bits & uint32(7)
  11575. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  11576. goto _10
  11577. }
  11578. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  11579. if have == uint32(0) {
  11580. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11581. if have == uint32(0) {
  11582. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11583. ret = -int32(5)
  11584. goto inf_leave
  11585. }
  11586. }
  11587. have--
  11588. v11 = *(*uintptr)(unsafe.Pointer(bp))
  11589. *(*uintptr)(unsafe.Pointer(bp))++
  11590. hold += uint64(*(*uint8)(unsafe.Pointer(v11))) << bits
  11591. bits += uint32(8)
  11592. }
  11593. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  11594. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  11595. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  11596. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  11597. case uint32(0): /* stored block */
  11598. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  11599. case uint32(1): /* fixed block */
  11600. _fixedtables(tls, state)
  11601. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN) /* decode codes */
  11602. case uint32(2): /* dynamic block */
  11603. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  11604. case uint32(3):
  11605. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  11606. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11607. }
  11608. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  11609. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  11610. goto _10
  11611. _4:
  11612. ;
  11613. /* get and verify stored block length */
  11614. _14:
  11615. ;
  11616. hold >>= uint64(bits & uint32(7))
  11617. bits -= bits & uint32(7)
  11618. goto _13
  11619. _13:
  11620. ;
  11621. if 0 != 0 {
  11622. goto _14
  11623. }
  11624. goto _12
  11625. _12:
  11626. ; /* go to byte boundary */
  11627. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  11628. if have == uint32(0) {
  11629. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11630. if have == uint32(0) {
  11631. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11632. ret = -int32(5)
  11633. goto inf_leave
  11634. }
  11635. }
  11636. have--
  11637. v15 = *(*uintptr)(unsafe.Pointer(bp))
  11638. *(*uintptr)(unsafe.Pointer(bp))++
  11639. hold += uint64(*(*uint8)(unsafe.Pointer(v15))) << bits
  11640. bits += uint32(8)
  11641. }
  11642. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  11643. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  11644. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11645. goto _10
  11646. }
  11647. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  11648. hold = uint64(0)
  11649. bits = uint32(0)
  11650. /* copy stored block from input to output */
  11651. for (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  11652. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  11653. if have == uint32(0) {
  11654. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11655. if have == uint32(0) {
  11656. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11657. ret = -int32(5)
  11658. goto inf_leave
  11659. }
  11660. }
  11661. if left == uint32(0) {
  11662. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  11663. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  11664. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  11665. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  11666. ret = -int32(5)
  11667. goto inf_leave
  11668. }
  11669. }
  11670. if copy1 > have {
  11671. copy1 = have
  11672. }
  11673. if copy1 > left {
  11674. copy1 = left
  11675. }
  11676. libc.Xmemcpy(tls, put, *(*uintptr)(unsafe.Pointer(bp)), uint64(copy1))
  11677. have -= copy1
  11678. *(*uintptr)(unsafe.Pointer(bp)) += uintptr(copy1)
  11679. left -= copy1
  11680. put += uintptr(copy1)
  11681. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  11682. }
  11683. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  11684. goto _10
  11685. _5:
  11686. ;
  11687. /* get dynamic table entries descriptor */
  11688. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  11689. if have == uint32(0) {
  11690. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11691. if have == uint32(0) {
  11692. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11693. ret = -int32(5)
  11694. goto inf_leave
  11695. }
  11696. }
  11697. have--
  11698. v16 = *(*uintptr)(unsafe.Pointer(bp))
  11699. *(*uintptr)(unsafe.Pointer(bp))++
  11700. hold += uint64(*(*uint8)(unsafe.Pointer(v16))) << bits
  11701. bits += uint32(8)
  11702. }
  11703. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  11704. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  11705. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  11706. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  11707. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  11708. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  11709. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  11710. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  11711. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  11712. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  11713. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  11714. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11715. goto _10
  11716. }
  11717. /* get code length code lengths (not a typo) */
  11718. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  11719. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  11720. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  11721. if have == uint32(0) {
  11722. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11723. if have == uint32(0) {
  11724. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11725. ret = -int32(5)
  11726. goto inf_leave
  11727. }
  11728. }
  11729. have--
  11730. v17 = *(*uintptr)(unsafe.Pointer(bp))
  11731. *(*uintptr)(unsafe.Pointer(bp))++
  11732. hold += uint64(*(*uint8)(unsafe.Pointer(v17))) << bits
  11733. bits += uint32(8)
  11734. }
  11735. v19 = state + 140
  11736. v18 = *(*uint32)(unsafe.Pointer(v19))
  11737. *(*uint32)(unsafe.Pointer(v19))++
  11738. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v18])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  11739. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  11740. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  11741. }
  11742. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  11743. v21 = state + 140
  11744. v20 = *(*uint32)(unsafe.Pointer(v21))
  11745. *(*uint32)(unsafe.Pointer(v21))++
  11746. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v20])*2)) = uint16(0)
  11747. }
  11748. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  11749. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  11750. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  11751. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  11752. if ret != 0 {
  11753. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  11754. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11755. goto _10
  11756. }
  11757. /* get length and distance code code lengths */
  11758. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  11759. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  11760. for {
  11761. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  11762. if uint32(here.Fbits) <= bits {
  11763. break
  11764. }
  11765. if have == uint32(0) {
  11766. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11767. if have == uint32(0) {
  11768. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11769. ret = -int32(5)
  11770. goto inf_leave
  11771. }
  11772. }
  11773. have--
  11774. v23 = *(*uintptr)(unsafe.Pointer(bp))
  11775. *(*uintptr)(unsafe.Pointer(bp))++
  11776. hold += uint64(*(*uint8)(unsafe.Pointer(v23))) << bits
  11777. bits += uint32(8)
  11778. goto _22
  11779. _22:
  11780. }
  11781. if libc.Int32FromUint16(here.Fval) < int32(16) {
  11782. hold >>= uint64(here.Fbits)
  11783. bits -= uint32(here.Fbits)
  11784. v25 = state + 140
  11785. v24 = *(*uint32)(unsafe.Pointer(v25))
  11786. *(*uint32)(unsafe.Pointer(v25))++
  11787. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v24)*2)) = here.Fval
  11788. } else {
  11789. if libc.Int32FromUint16(here.Fval) == int32(16) {
  11790. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  11791. if have == uint32(0) {
  11792. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11793. if have == uint32(0) {
  11794. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11795. ret = -int32(5)
  11796. goto inf_leave
  11797. }
  11798. }
  11799. have--
  11800. v26 = *(*uintptr)(unsafe.Pointer(bp))
  11801. *(*uintptr)(unsafe.Pointer(bp))++
  11802. hold += uint64(*(*uint8)(unsafe.Pointer(v26))) << bits
  11803. bits += uint32(8)
  11804. }
  11805. hold >>= uint64(here.Fbits)
  11806. bits -= uint32(here.Fbits)
  11807. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  11808. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  11809. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11810. break
  11811. }
  11812. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  11813. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  11814. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  11815. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  11816. } else {
  11817. if libc.Int32FromUint16(here.Fval) == int32(17) {
  11818. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  11819. if have == uint32(0) {
  11820. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11821. if have == uint32(0) {
  11822. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11823. ret = -int32(5)
  11824. goto inf_leave
  11825. }
  11826. }
  11827. have--
  11828. v27 = *(*uintptr)(unsafe.Pointer(bp))
  11829. *(*uintptr)(unsafe.Pointer(bp))++
  11830. hold += uint64(*(*uint8)(unsafe.Pointer(v27))) << bits
  11831. bits += uint32(8)
  11832. }
  11833. hold >>= uint64(here.Fbits)
  11834. bits -= uint32(here.Fbits)
  11835. len1 = uint32(0)
  11836. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  11837. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  11838. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  11839. } else {
  11840. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  11841. if have == uint32(0) {
  11842. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11843. if have == uint32(0) {
  11844. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11845. ret = -int32(5)
  11846. goto inf_leave
  11847. }
  11848. }
  11849. have--
  11850. v28 = *(*uintptr)(unsafe.Pointer(bp))
  11851. *(*uintptr)(unsafe.Pointer(bp))++
  11852. hold += uint64(*(*uint8)(unsafe.Pointer(v28))) << bits
  11853. bits += uint32(8)
  11854. }
  11855. hold >>= uint64(here.Fbits)
  11856. bits -= uint32(here.Fbits)
  11857. len1 = uint32(0)
  11858. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  11859. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  11860. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  11861. }
  11862. }
  11863. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  11864. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  11865. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11866. break
  11867. }
  11868. for {
  11869. v29 = copy1
  11870. copy1--
  11871. if !(v29 != 0) {
  11872. break
  11873. }
  11874. v31 = state + 140
  11875. v30 = *(*uint32)(unsafe.Pointer(v31))
  11876. *(*uint32)(unsafe.Pointer(v31))++
  11877. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v30)*2)) = uint16(len1)
  11878. }
  11879. }
  11880. }
  11881. /* handle error breaks in while */
  11882. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  11883. goto _10
  11884. }
  11885. /* check for end-of-block code (better have one) */
  11886. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  11887. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  11888. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11889. goto _10
  11890. }
  11891. /* build code tables -- note: do not change the lenbits or distbits
  11892. values here (9 and 6) without reading the comments in inftrees.h
  11893. concerning the ENOUGH constants, which depend on those values */
  11894. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  11895. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  11896. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  11897. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  11898. if ret != 0 {
  11899. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  11900. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11901. goto _10
  11902. }
  11903. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  11904. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  11905. ret = Xinflate_table(tls, int32(_DISTS), state+152+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Tinflate_state)(unsafe.Pointer(state)).Fndist, state+144, state+124, state+792)
  11906. if ret != 0 {
  11907. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  11908. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11909. goto _10
  11910. }
  11911. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  11912. /* fallthrough */
  11913. _6:
  11914. ;
  11915. /* use inflate_fast() if we have enough input and output */
  11916. if have >= uint32(6) && left >= uint32(258) {
  11917. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  11918. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  11919. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  11920. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  11921. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  11922. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  11923. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  11924. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - left
  11925. }
  11926. Xinflate_fast(tls, strm, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize)
  11927. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  11928. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  11929. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  11930. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  11931. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  11932. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  11933. goto _10
  11934. }
  11935. /* get a literal, length, or end-of-block code */
  11936. for {
  11937. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  11938. if uint32(here.Fbits) <= bits {
  11939. break
  11940. }
  11941. if have == uint32(0) {
  11942. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11943. if have == uint32(0) {
  11944. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11945. ret = -int32(5)
  11946. goto inf_leave
  11947. }
  11948. }
  11949. have--
  11950. v33 = *(*uintptr)(unsafe.Pointer(bp))
  11951. *(*uintptr)(unsafe.Pointer(bp))++
  11952. hold += uint64(*(*uint8)(unsafe.Pointer(v33))) << bits
  11953. bits += uint32(8)
  11954. goto _32
  11955. _32:
  11956. }
  11957. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  11958. last = here
  11959. for {
  11960. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  11961. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  11962. break
  11963. }
  11964. if have == uint32(0) {
  11965. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11966. if have == uint32(0) {
  11967. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11968. ret = -int32(5)
  11969. goto inf_leave
  11970. }
  11971. }
  11972. have--
  11973. v35 = *(*uintptr)(unsafe.Pointer(bp))
  11974. *(*uintptr)(unsafe.Pointer(bp))++
  11975. hold += uint64(*(*uint8)(unsafe.Pointer(v35))) << bits
  11976. bits += uint32(8)
  11977. goto _34
  11978. _34:
  11979. }
  11980. hold >>= uint64(last.Fbits)
  11981. bits -= uint32(last.Fbits)
  11982. }
  11983. hold >>= uint64(here.Fbits)
  11984. bits -= uint32(here.Fbits)
  11985. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  11986. /* process literal */
  11987. if libc.Int32FromUint8(here.Fop) == 0 {
  11988. if left == uint32(0) {
  11989. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  11990. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  11991. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  11992. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  11993. ret = -int32(5)
  11994. goto inf_leave
  11995. }
  11996. }
  11997. v36 = put
  11998. put++
  11999. *(*uint8)(unsafe.Pointer(v36)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  12000. left--
  12001. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  12002. goto _10
  12003. }
  12004. /* process end of block */
  12005. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  12006. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  12007. goto _10
  12008. }
  12009. /* invalid code */
  12010. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  12011. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  12012. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12013. goto _10
  12014. }
  12015. /* length code -- get extra bits, if any */
  12016. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  12017. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  12018. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  12019. if have == uint32(0) {
  12020. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12021. if have == uint32(0) {
  12022. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12023. ret = -int32(5)
  12024. goto inf_leave
  12025. }
  12026. }
  12027. have--
  12028. v37 = *(*uintptr)(unsafe.Pointer(bp))
  12029. *(*uintptr)(unsafe.Pointer(bp))++
  12030. hold += uint64(*(*uint8)(unsafe.Pointer(v37))) << bits
  12031. bits += uint32(8)
  12032. }
  12033. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  12034. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  12035. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  12036. }
  12037. /* get distance code */
  12038. for {
  12039. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits-libc.Uint32FromInt32(1)))*4))
  12040. if uint32(here.Fbits) <= bits {
  12041. break
  12042. }
  12043. if have == uint32(0) {
  12044. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12045. if have == uint32(0) {
  12046. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12047. ret = -int32(5)
  12048. goto inf_leave
  12049. }
  12050. }
  12051. have--
  12052. v39 = *(*uintptr)(unsafe.Pointer(bp))
  12053. *(*uintptr)(unsafe.Pointer(bp))++
  12054. hold += uint64(*(*uint8)(unsafe.Pointer(v39))) << bits
  12055. bits += uint32(8)
  12056. goto _38
  12057. _38:
  12058. }
  12059. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  12060. last = here
  12061. for {
  12062. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  12063. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  12064. break
  12065. }
  12066. if have == uint32(0) {
  12067. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12068. if have == uint32(0) {
  12069. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12070. ret = -int32(5)
  12071. goto inf_leave
  12072. }
  12073. }
  12074. have--
  12075. v41 = *(*uintptr)(unsafe.Pointer(bp))
  12076. *(*uintptr)(unsafe.Pointer(bp))++
  12077. hold += uint64(*(*uint8)(unsafe.Pointer(v41))) << bits
  12078. bits += uint32(8)
  12079. goto _40
  12080. _40:
  12081. }
  12082. hold >>= uint64(last.Fbits)
  12083. bits -= uint32(last.Fbits)
  12084. }
  12085. hold >>= uint64(here.Fbits)
  12086. bits -= uint32(here.Fbits)
  12087. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  12088. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  12089. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12090. goto _10
  12091. }
  12092. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  12093. /* get distance extra bits, if any */
  12094. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  12095. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  12096. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  12097. if have == uint32(0) {
  12098. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12099. if have == uint32(0) {
  12100. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12101. ret = -int32(5)
  12102. goto inf_leave
  12103. }
  12104. }
  12105. have--
  12106. v42 = *(*uintptr)(unsafe.Pointer(bp))
  12107. *(*uintptr)(unsafe.Pointer(bp))++
  12108. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  12109. bits += uint32(8)
  12110. }
  12111. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  12112. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  12113. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  12114. }
  12115. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  12116. v43 = left
  12117. } else {
  12118. v43 = uint32(0)
  12119. }
  12120. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-v43 {
  12121. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  12122. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12123. goto _10
  12124. }
  12125. /* copy match from window to output */
  12126. for cond := true; cond; cond = (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  12127. if left == uint32(0) {
  12128. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12129. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12130. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  12131. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  12132. ret = -int32(5)
  12133. goto inf_leave
  12134. }
  12135. }
  12136. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Foffset
  12137. if copy1 < left {
  12138. from = put + uintptr(copy1)
  12139. copy1 = left - copy1
  12140. } else {
  12141. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  12142. copy1 = left
  12143. }
  12144. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  12145. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  12146. }
  12147. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  12148. left -= copy1
  12149. for {
  12150. v46 = put
  12151. put++
  12152. v47 = from
  12153. from++
  12154. *(*uint8)(unsafe.Pointer(v46)) = *(*uint8)(unsafe.Pointer(v47))
  12155. goto _45
  12156. _45:
  12157. ;
  12158. copy1--
  12159. v44 = copy1
  12160. if !(v44 != 0) {
  12161. break
  12162. }
  12163. }
  12164. }
  12165. goto _10
  12166. _7:
  12167. ;
  12168. /* inflate stream terminated properly */
  12169. ret = int32(m_Z_STREAM_END)
  12170. goto inf_leave
  12171. _8:
  12172. ;
  12173. ret = -int32(3)
  12174. goto inf_leave
  12175. _9:
  12176. ;
  12177. /* can't happen, but makes compilers happy */
  12178. ret = -int32(2)
  12179. goto inf_leave
  12180. _10:
  12181. ;
  12182. goto _2
  12183. _2:
  12184. }
  12185. /* Write leftover output and return unused input */
  12186. goto inf_leave
  12187. inf_leave:
  12188. ;
  12189. if left < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  12190. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-left) != 0 && ret == int32(m_Z_STREAM_END) {
  12191. ret = -int32(5)
  12192. }
  12193. }
  12194. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  12195. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  12196. return ret
  12197. }
  12198. var _order = [19]uint16{
  12199. 0: uint16(16),
  12200. 1: uint16(17),
  12201. 2: uint16(18),
  12202. 4: uint16(8),
  12203. 5: uint16(7),
  12204. 6: uint16(9),
  12205. 7: uint16(6),
  12206. 8: uint16(10),
  12207. 9: uint16(5),
  12208. 10: uint16(11),
  12209. 11: uint16(4),
  12210. 12: uint16(12),
  12211. 13: uint16(3),
  12212. 14: uint16(13),
  12213. 15: uint16(2),
  12214. 16: uint16(14),
  12215. 17: uint16(1),
  12216. 18: uint16(15),
  12217. }
  12218. func XinflateBackEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12219. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12220. return -int32(2)
  12221. }
  12222. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  12223. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  12224. return m_Z_OK
  12225. }
  12226. // C documentation
  12227. //
  12228. // /*
  12229. // Decode literal, length, and distance codes and write out the resulting
  12230. // literal and match bytes until either not enough input or output is
  12231. // available, an end-of-block is encountered, or a data error is encountered.
  12232. // When large enough input and output buffers are supplied to inflate(), for
  12233. // example, a 16K input buffer and a 64K output buffer, more than 95% of the
  12234. // inflate execution time is spent in this routine.
  12235. //
  12236. // Entry assumptions:
  12237. //
  12238. // state->mode == LEN
  12239. // strm->avail_in >= 6
  12240. // strm->avail_out >= 258
  12241. // start >= strm->avail_out
  12242. // state->bits < 8
  12243. //
  12244. // On return, state->mode is one of:
  12245. //
  12246. // LEN -- ran out of enough output space or enough available input
  12247. // TYPE -- reached end of block code, inflate() to interpret next block
  12248. // BAD -- error in block data
  12249. //
  12250. // Notes:
  12251. //
  12252. // - The maximum input bits used by a length/distance pair is 15 bits for the
  12253. // length code, 5 bits for the length extra, 15 bits for the distance code,
  12254. // and 13 bits for the distance extra. This totals 48 bits, or six bytes.
  12255. // Therefore if strm->avail_in >= 6, then there is enough input to avoid
  12256. // checking for available input while decoding.
  12257. //
  12258. // - The maximum bytes that a single length/distance pair can output is 258
  12259. // bytes, which is the maximum length that can be coded. inflate_fast()
  12260. // requires strm->avail_out >= 258 for each loop to avoid checking for
  12261. // output space.
  12262. // */
  12263. func Xinflate_fast(tls *libc.TLS, strm Tz_streamp, start uint32) {
  12264. var beg, dcode, end, from, here, in, last, lcode, out, state, window, v1, v11, v12, v15, v16, v19, v2, v20, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v5, v6, v7, v8 uintptr
  12265. var bits, dist, dmask, len1, lmask, op, whave, wnext, wsize, v13, v17, v21, v9 uint32
  12266. var hold uint64
  12267. var v45, v46 int64
  12268. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = beg, bits, dcode, dist, dmask, end, from, here, hold, in, last, lcode, len1, lmask, op, out, state, whave, window, wnext, wsize, v1, v11, v12, v13, v15, v16, v17, v19, v2, v20, v21, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v45, v46, v5, v6, v7, v8, v9 /* where to copy match from */
  12269. /* copy state to local variables */
  12270. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12271. in = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  12272. last = in + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in-libc.Uint32FromInt32(5))
  12273. out = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  12274. beg = out - uintptr(start-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out)
  12275. end = out + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_out-libc.Uint32FromInt32(257))
  12276. wsize = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12277. whave = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  12278. wnext = (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  12279. window = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12280. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  12281. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  12282. lcode = (*Tinflate_state)(unsafe.Pointer(state)).Flencode
  12283. dcode = (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode
  12284. lmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits - uint32(1)
  12285. dmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits - uint32(1)
  12286. /* decode literals and length/distances until end-of-block or not enough
  12287. input data or output space */
  12288. for cond := true; cond; cond = in < last && out < end {
  12289. if bits < uint32(15) {
  12290. v1 = in
  12291. in++
  12292. hold += uint64(*(*uint8)(unsafe.Pointer(v1))) << bits
  12293. bits += uint32(8)
  12294. v2 = in
  12295. in++
  12296. hold += uint64(*(*uint8)(unsafe.Pointer(v2))) << bits
  12297. bits += uint32(8)
  12298. }
  12299. here = lcode + uintptr(hold&uint64(lmask))*4
  12300. goto dolen
  12301. dolen:
  12302. ;
  12303. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  12304. hold >>= uint64(op)
  12305. bits -= op
  12306. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  12307. if op == uint32(0) { /* literal */
  12308. v3 = out
  12309. out++
  12310. *(*uint8)(unsafe.Pointer(v3)) = uint8((*Tcode)(unsafe.Pointer(here)).Fval)
  12311. } else {
  12312. if op&uint32(16) != 0 { /* length base */
  12313. len1 = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  12314. op &= uint32(15) /* number of extra bits */
  12315. if op != 0 {
  12316. if bits < op {
  12317. v4 = in
  12318. in++
  12319. hold += uint64(*(*uint8)(unsafe.Pointer(v4))) << bits
  12320. bits += uint32(8)
  12321. }
  12322. len1 += uint32(hold) & (uint32(1)<<op - uint32(1))
  12323. hold >>= uint64(op)
  12324. bits -= op
  12325. }
  12326. if bits < uint32(15) {
  12327. v5 = in
  12328. in++
  12329. hold += uint64(*(*uint8)(unsafe.Pointer(v5))) << bits
  12330. bits += uint32(8)
  12331. v6 = in
  12332. in++
  12333. hold += uint64(*(*uint8)(unsafe.Pointer(v6))) << bits
  12334. bits += uint32(8)
  12335. }
  12336. here = dcode + uintptr(hold&uint64(dmask))*4
  12337. goto dodist
  12338. dodist:
  12339. ;
  12340. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  12341. hold >>= uint64(op)
  12342. bits -= op
  12343. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  12344. if op&uint32(16) != 0 { /* distance base */
  12345. dist = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  12346. op &= uint32(15) /* number of extra bits */
  12347. if bits < op {
  12348. v7 = in
  12349. in++
  12350. hold += uint64(*(*uint8)(unsafe.Pointer(v7))) << bits
  12351. bits += uint32(8)
  12352. if bits < op {
  12353. v8 = in
  12354. in++
  12355. hold += uint64(*(*uint8)(unsafe.Pointer(v8))) << bits
  12356. bits += uint32(8)
  12357. }
  12358. }
  12359. dist += uint32(hold) & (uint32(1)<<op - uint32(1))
  12360. hold >>= uint64(op)
  12361. bits -= op
  12362. op = libc.Uint32FromInt64(int64(out) - int64(beg)) /* max distance in output */
  12363. if dist > op { /* see if copy from window */
  12364. op = dist - op /* distance back in window */
  12365. if op > whave {
  12366. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  12367. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  12368. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12369. break
  12370. }
  12371. }
  12372. from = window
  12373. if wnext == uint32(0) { /* very common case */
  12374. from += uintptr(wsize - op)
  12375. if op < len1 { /* some from window */
  12376. len1 -= op
  12377. for {
  12378. v11 = out
  12379. out++
  12380. v12 = from
  12381. from++
  12382. *(*uint8)(unsafe.Pointer(v11)) = *(*uint8)(unsafe.Pointer(v12))
  12383. goto _10
  12384. _10:
  12385. ;
  12386. op--
  12387. v9 = op
  12388. if !(v9 != 0) {
  12389. break
  12390. }
  12391. }
  12392. from = out - uintptr(dist) /* rest from output */
  12393. }
  12394. } else {
  12395. if wnext < op { /* wrap around window */
  12396. from += uintptr(wsize + wnext - op)
  12397. op -= wnext
  12398. if op < len1 { /* some from end of window */
  12399. len1 -= op
  12400. for {
  12401. v15 = out
  12402. out++
  12403. v16 = from
  12404. from++
  12405. *(*uint8)(unsafe.Pointer(v15)) = *(*uint8)(unsafe.Pointer(v16))
  12406. goto _14
  12407. _14:
  12408. ;
  12409. op--
  12410. v13 = op
  12411. if !(v13 != 0) {
  12412. break
  12413. }
  12414. }
  12415. from = window
  12416. if wnext < len1 { /* some from start of window */
  12417. op = wnext
  12418. len1 -= op
  12419. for {
  12420. v19 = out
  12421. out++
  12422. v20 = from
  12423. from++
  12424. *(*uint8)(unsafe.Pointer(v19)) = *(*uint8)(unsafe.Pointer(v20))
  12425. goto _18
  12426. _18:
  12427. ;
  12428. op--
  12429. v17 = op
  12430. if !(v17 != 0) {
  12431. break
  12432. }
  12433. }
  12434. from = out - uintptr(dist) /* rest from output */
  12435. }
  12436. }
  12437. } else { /* contiguous in window */
  12438. from += uintptr(wnext - op)
  12439. if op < len1 { /* some from window */
  12440. len1 -= op
  12441. for {
  12442. v23 = out
  12443. out++
  12444. v24 = from
  12445. from++
  12446. *(*uint8)(unsafe.Pointer(v23)) = *(*uint8)(unsafe.Pointer(v24))
  12447. goto _22
  12448. _22:
  12449. ;
  12450. op--
  12451. v21 = op
  12452. if !(v21 != 0) {
  12453. break
  12454. }
  12455. }
  12456. from = out - uintptr(dist) /* rest from output */
  12457. }
  12458. }
  12459. }
  12460. for len1 > uint32(2) {
  12461. v25 = out
  12462. out++
  12463. v26 = from
  12464. from++
  12465. *(*uint8)(unsafe.Pointer(v25)) = *(*uint8)(unsafe.Pointer(v26))
  12466. v27 = out
  12467. out++
  12468. v28 = from
  12469. from++
  12470. *(*uint8)(unsafe.Pointer(v27)) = *(*uint8)(unsafe.Pointer(v28))
  12471. v29 = out
  12472. out++
  12473. v30 = from
  12474. from++
  12475. *(*uint8)(unsafe.Pointer(v29)) = *(*uint8)(unsafe.Pointer(v30))
  12476. len1 -= uint32(3)
  12477. }
  12478. if len1 != 0 {
  12479. v31 = out
  12480. out++
  12481. v32 = from
  12482. from++
  12483. *(*uint8)(unsafe.Pointer(v31)) = *(*uint8)(unsafe.Pointer(v32))
  12484. if len1 > uint32(1) {
  12485. v33 = out
  12486. out++
  12487. v34 = from
  12488. from++
  12489. *(*uint8)(unsafe.Pointer(v33)) = *(*uint8)(unsafe.Pointer(v34))
  12490. }
  12491. }
  12492. } else {
  12493. from = out - uintptr(dist) /* copy direct from output */
  12494. for cond := true; cond; cond = len1 > uint32(2) { /* minimum length is three */
  12495. v35 = out
  12496. out++
  12497. v36 = from
  12498. from++
  12499. *(*uint8)(unsafe.Pointer(v35)) = *(*uint8)(unsafe.Pointer(v36))
  12500. v37 = out
  12501. out++
  12502. v38 = from
  12503. from++
  12504. *(*uint8)(unsafe.Pointer(v37)) = *(*uint8)(unsafe.Pointer(v38))
  12505. v39 = out
  12506. out++
  12507. v40 = from
  12508. from++
  12509. *(*uint8)(unsafe.Pointer(v39)) = *(*uint8)(unsafe.Pointer(v40))
  12510. len1 -= uint32(3)
  12511. }
  12512. if len1 != 0 {
  12513. v41 = out
  12514. out++
  12515. v42 = from
  12516. from++
  12517. *(*uint8)(unsafe.Pointer(v41)) = *(*uint8)(unsafe.Pointer(v42))
  12518. if len1 > uint32(1) {
  12519. v43 = out
  12520. out++
  12521. v44 = from
  12522. from++
  12523. *(*uint8)(unsafe.Pointer(v43)) = *(*uint8)(unsafe.Pointer(v44))
  12524. }
  12525. }
  12526. }
  12527. } else {
  12528. if op&uint32(64) == uint32(0) { /* 2nd level distance code */
  12529. here = dcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  12530. goto dodist
  12531. } else {
  12532. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  12533. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12534. break
  12535. }
  12536. }
  12537. } else {
  12538. if op&uint32(64) == uint32(0) { /* 2nd level length code */
  12539. here = lcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  12540. goto dolen
  12541. } else {
  12542. if op&uint32(32) != 0 { /* end-of-block */
  12543. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  12544. break
  12545. } else {
  12546. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  12547. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12548. break
  12549. }
  12550. }
  12551. }
  12552. }
  12553. }
  12554. /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
  12555. len1 = bits >> int32(3)
  12556. in -= uintptr(len1)
  12557. bits -= len1 << int32(3)
  12558. hold &= uint64(uint32(1)<<bits - uint32(1))
  12559. /* update state and return */
  12560. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = in
  12561. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = out
  12562. if in < last {
  12563. v45 = int64(5) + (int64(last) - int64(in))
  12564. } else {
  12565. v45 = int64(5) - (int64(in) - int64(last))
  12566. }
  12567. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = libc.Uint32FromInt64(v45)
  12568. if out < end {
  12569. v46 = int64(257) + (int64(end) - int64(out))
  12570. } else {
  12571. v46 = int64(257) - (int64(out) - int64(end))
  12572. }
  12573. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = libc.Uint32FromInt64(v46)
  12574. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  12575. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  12576. return
  12577. }
  12578. func _inflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12579. var state uintptr
  12580. _ = state
  12581. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12582. return int32(1)
  12583. }
  12584. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12585. if state == uintptr(m_Z_NULL) || (*Tinflate_state)(unsafe.Pointer(state)).Fstrm != strm || (*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_HEAD) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode > int32(_SYNC) {
  12586. return int32(1)
  12587. }
  12588. return 0
  12589. }
  12590. func XinflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12591. var state, v3, v4 uintptr
  12592. var v1 TuLong
  12593. var v2 uint64
  12594. _, _, _, _, _ = state, v1, v2, v3, v4
  12595. if _inflateStateCheck(tls, strm) != 0 {
  12596. return -int32(2)
  12597. }
  12598. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12599. v2 = libc.Uint64FromInt32(0)
  12600. (*Tinflate_state)(unsafe.Pointer(state)).Ftotal = v2
  12601. v1 = v2
  12602. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  12603. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  12604. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  12605. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 { /* to support ill-conceived Java test suite */
  12606. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = libc.Uint64FromInt32((*Tinflate_state)(unsafe.Pointer(state)).Fwrap & int32(1))
  12607. }
  12608. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD)
  12609. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  12610. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = 0
  12611. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = -int32(1)
  12612. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  12613. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = uintptr(m_Z_NULL)
  12614. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  12615. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  12616. v4 = state + 1368
  12617. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = v4
  12618. v3 = v4
  12619. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = v3
  12620. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = v3
  12621. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  12622. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  12623. return m_Z_OK
  12624. }
  12625. func XinflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12626. var state uintptr
  12627. _ = state
  12628. if _inflateStateCheck(tls, strm) != 0 {
  12629. return -int32(2)
  12630. }
  12631. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12632. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(0)
  12633. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  12634. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  12635. return XinflateResetKeep(tls, strm)
  12636. }
  12637. func XinflateReset2(tls *libc.TLS, strm Tz_streamp, windowBits int32) (r int32) {
  12638. var state uintptr
  12639. var wrap int32
  12640. _, _ = state, wrap
  12641. /* get the state */
  12642. if _inflateStateCheck(tls, strm) != 0 {
  12643. return -int32(2)
  12644. }
  12645. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12646. /* extract wrap request from windowBits parameter */
  12647. if windowBits < 0 {
  12648. if windowBits < -int32(15) {
  12649. return -int32(2)
  12650. }
  12651. wrap = 0
  12652. windowBits = -windowBits
  12653. } else {
  12654. wrap = windowBits>>int32(4) + int32(5)
  12655. if windowBits < int32(48) {
  12656. windowBits &= int32(15)
  12657. }
  12658. }
  12659. /* set number of window bits, free window if different */
  12660. if windowBits != 0 && (windowBits < int32(8) || windowBits > int32(15)) {
  12661. return -int32(2)
  12662. }
  12663. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Fwbits != libc.Uint32FromInt32(windowBits) {
  12664. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow)
  12665. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  12666. }
  12667. /* update state and reset the rest of it */
  12668. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = wrap
  12669. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  12670. return XinflateReset(tls, strm)
  12671. }
  12672. func XinflateInit2_(tls *libc.TLS, strm Tz_streamp, windowBits int32, version uintptr, stream_size int32) (r int32) {
  12673. var ret int32
  12674. var state uintptr
  12675. _, _ = ret, state
  12676. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
  12677. return -int32(6)
  12678. }
  12679. if strm == uintptr(m_Z_NULL) {
  12680. return -int32(2)
  12681. }
  12682. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  12683. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  12684. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  12685. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  12686. }
  12687. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12688. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  12689. }
  12690. state = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  12691. if state == uintptr(m_Z_NULL) {
  12692. return -int32(4)
  12693. }
  12694. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  12695. (*Tinflate_state)(unsafe.Pointer(state)).Fstrm = strm
  12696. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  12697. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD) /* to pass state test in inflateReset2() */
  12698. ret = XinflateReset2(tls, strm, windowBits)
  12699. if ret != m_Z_OK {
  12700. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, state)
  12701. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  12702. }
  12703. return ret
  12704. }
  12705. func XinflateInit_(tls *libc.TLS, strm Tz_streamp, version uintptr, stream_size int32) (r int32) {
  12706. return XinflateInit2_(tls, strm, int32(m_MAX_WBITS), version, stream_size)
  12707. }
  12708. func XinflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  12709. var state uintptr
  12710. _ = state
  12711. if _inflateStateCheck(tls, strm) != 0 {
  12712. return -int32(2)
  12713. }
  12714. if bits == 0 {
  12715. return m_Z_OK
  12716. }
  12717. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12718. if bits < 0 {
  12719. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  12720. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  12721. return m_Z_OK
  12722. }
  12723. if bits > int32(16) || (*Tinflate_state)(unsafe.Pointer(state)).Fbits+libc.Uint32FromInt32(bits) > uint32(32) {
  12724. return -int32(2)
  12725. }
  12726. value = int32(int64(value) & (libc.Int64FromInt64(1)<<bits - libc.Int64FromInt32(1)))
  12727. *(*uint64)(unsafe.Pointer(state + 80)) += uint64(libc.Uint32FromInt32(value) << (*Tinflate_state)(unsafe.Pointer(state)).Fbits)
  12728. *(*uint32)(unsafe.Pointer(state + 88)) += libc.Uint32FromInt32(bits)
  12729. return m_Z_OK
  12730. }
  12731. // C documentation
  12732. //
  12733. // /*
  12734. // Return state with length and distance decoding tables and index sizes set to
  12735. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  12736. // If BUILDFIXED is defined, then instead this routine builds the tables the
  12737. // first time it's called, and returns those tables the first time and
  12738. // thereafter. This reduces the size of the code by about 2K bytes, in
  12739. // exchange for a little execution time. However, BUILDFIXED should not be
  12740. // used for threaded applications, since the rewriting of the tables and virgin
  12741. // may not be thread-safe.
  12742. // */
  12743. func _fixedtables1(tls *libc.TLS, state uintptr) {
  12744. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix1))
  12745. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  12746. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix1))
  12747. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  12748. }
  12749. var _lenfix1 = [512]Tcode{
  12750. 0: {
  12751. Fop: uint8(96),
  12752. Fbits: uint8(7),
  12753. },
  12754. 1: {
  12755. Fbits: uint8(8),
  12756. Fval: uint16(80),
  12757. },
  12758. 2: {
  12759. Fbits: uint8(8),
  12760. Fval: uint16(16),
  12761. },
  12762. 3: {
  12763. Fop: uint8(20),
  12764. Fbits: uint8(8),
  12765. Fval: uint16(115),
  12766. },
  12767. 4: {
  12768. Fop: uint8(18),
  12769. Fbits: uint8(7),
  12770. Fval: uint16(31),
  12771. },
  12772. 5: {
  12773. Fbits: uint8(8),
  12774. Fval: uint16(112),
  12775. },
  12776. 6: {
  12777. Fbits: uint8(8),
  12778. Fval: uint16(48),
  12779. },
  12780. 7: {
  12781. Fbits: uint8(9),
  12782. Fval: uint16(192),
  12783. },
  12784. 8: {
  12785. Fop: uint8(16),
  12786. Fbits: uint8(7),
  12787. Fval: uint16(10),
  12788. },
  12789. 9: {
  12790. Fbits: uint8(8),
  12791. Fval: uint16(96),
  12792. },
  12793. 10: {
  12794. Fbits: uint8(8),
  12795. Fval: uint16(32),
  12796. },
  12797. 11: {
  12798. Fbits: uint8(9),
  12799. Fval: uint16(160),
  12800. },
  12801. 12: {
  12802. Fbits: uint8(8),
  12803. },
  12804. 13: {
  12805. Fbits: uint8(8),
  12806. Fval: uint16(128),
  12807. },
  12808. 14: {
  12809. Fbits: uint8(8),
  12810. Fval: uint16(64),
  12811. },
  12812. 15: {
  12813. Fbits: uint8(9),
  12814. Fval: uint16(224),
  12815. },
  12816. 16: {
  12817. Fop: uint8(16),
  12818. Fbits: uint8(7),
  12819. Fval: uint16(6),
  12820. },
  12821. 17: {
  12822. Fbits: uint8(8),
  12823. Fval: uint16(88),
  12824. },
  12825. 18: {
  12826. Fbits: uint8(8),
  12827. Fval: uint16(24),
  12828. },
  12829. 19: {
  12830. Fbits: uint8(9),
  12831. Fval: uint16(144),
  12832. },
  12833. 20: {
  12834. Fop: uint8(19),
  12835. Fbits: uint8(7),
  12836. Fval: uint16(59),
  12837. },
  12838. 21: {
  12839. Fbits: uint8(8),
  12840. Fval: uint16(120),
  12841. },
  12842. 22: {
  12843. Fbits: uint8(8),
  12844. Fval: uint16(56),
  12845. },
  12846. 23: {
  12847. Fbits: uint8(9),
  12848. Fval: uint16(208),
  12849. },
  12850. 24: {
  12851. Fop: uint8(17),
  12852. Fbits: uint8(7),
  12853. Fval: uint16(17),
  12854. },
  12855. 25: {
  12856. Fbits: uint8(8),
  12857. Fval: uint16(104),
  12858. },
  12859. 26: {
  12860. Fbits: uint8(8),
  12861. Fval: uint16(40),
  12862. },
  12863. 27: {
  12864. Fbits: uint8(9),
  12865. Fval: uint16(176),
  12866. },
  12867. 28: {
  12868. Fbits: uint8(8),
  12869. Fval: uint16(8),
  12870. },
  12871. 29: {
  12872. Fbits: uint8(8),
  12873. Fval: uint16(136),
  12874. },
  12875. 30: {
  12876. Fbits: uint8(8),
  12877. Fval: uint16(72),
  12878. },
  12879. 31: {
  12880. Fbits: uint8(9),
  12881. Fval: uint16(240),
  12882. },
  12883. 32: {
  12884. Fop: uint8(16),
  12885. Fbits: uint8(7),
  12886. Fval: uint16(4),
  12887. },
  12888. 33: {
  12889. Fbits: uint8(8),
  12890. Fval: uint16(84),
  12891. },
  12892. 34: {
  12893. Fbits: uint8(8),
  12894. Fval: uint16(20),
  12895. },
  12896. 35: {
  12897. Fop: uint8(21),
  12898. Fbits: uint8(8),
  12899. Fval: uint16(227),
  12900. },
  12901. 36: {
  12902. Fop: uint8(19),
  12903. Fbits: uint8(7),
  12904. Fval: uint16(43),
  12905. },
  12906. 37: {
  12907. Fbits: uint8(8),
  12908. Fval: uint16(116),
  12909. },
  12910. 38: {
  12911. Fbits: uint8(8),
  12912. Fval: uint16(52),
  12913. },
  12914. 39: {
  12915. Fbits: uint8(9),
  12916. Fval: uint16(200),
  12917. },
  12918. 40: {
  12919. Fop: uint8(17),
  12920. Fbits: uint8(7),
  12921. Fval: uint16(13),
  12922. },
  12923. 41: {
  12924. Fbits: uint8(8),
  12925. Fval: uint16(100),
  12926. },
  12927. 42: {
  12928. Fbits: uint8(8),
  12929. Fval: uint16(36),
  12930. },
  12931. 43: {
  12932. Fbits: uint8(9),
  12933. Fval: uint16(168),
  12934. },
  12935. 44: {
  12936. Fbits: uint8(8),
  12937. Fval: uint16(4),
  12938. },
  12939. 45: {
  12940. Fbits: uint8(8),
  12941. Fval: uint16(132),
  12942. },
  12943. 46: {
  12944. Fbits: uint8(8),
  12945. Fval: uint16(68),
  12946. },
  12947. 47: {
  12948. Fbits: uint8(9),
  12949. Fval: uint16(232),
  12950. },
  12951. 48: {
  12952. Fop: uint8(16),
  12953. Fbits: uint8(7),
  12954. Fval: uint16(8),
  12955. },
  12956. 49: {
  12957. Fbits: uint8(8),
  12958. Fval: uint16(92),
  12959. },
  12960. 50: {
  12961. Fbits: uint8(8),
  12962. Fval: uint16(28),
  12963. },
  12964. 51: {
  12965. Fbits: uint8(9),
  12966. Fval: uint16(152),
  12967. },
  12968. 52: {
  12969. Fop: uint8(20),
  12970. Fbits: uint8(7),
  12971. Fval: uint16(83),
  12972. },
  12973. 53: {
  12974. Fbits: uint8(8),
  12975. Fval: uint16(124),
  12976. },
  12977. 54: {
  12978. Fbits: uint8(8),
  12979. Fval: uint16(60),
  12980. },
  12981. 55: {
  12982. Fbits: uint8(9),
  12983. Fval: uint16(216),
  12984. },
  12985. 56: {
  12986. Fop: uint8(18),
  12987. Fbits: uint8(7),
  12988. Fval: uint16(23),
  12989. },
  12990. 57: {
  12991. Fbits: uint8(8),
  12992. Fval: uint16(108),
  12993. },
  12994. 58: {
  12995. Fbits: uint8(8),
  12996. Fval: uint16(44),
  12997. },
  12998. 59: {
  12999. Fbits: uint8(9),
  13000. Fval: uint16(184),
  13001. },
  13002. 60: {
  13003. Fbits: uint8(8),
  13004. Fval: uint16(12),
  13005. },
  13006. 61: {
  13007. Fbits: uint8(8),
  13008. Fval: uint16(140),
  13009. },
  13010. 62: {
  13011. Fbits: uint8(8),
  13012. Fval: uint16(76),
  13013. },
  13014. 63: {
  13015. Fbits: uint8(9),
  13016. Fval: uint16(248),
  13017. },
  13018. 64: {
  13019. Fop: uint8(16),
  13020. Fbits: uint8(7),
  13021. Fval: uint16(3),
  13022. },
  13023. 65: {
  13024. Fbits: uint8(8),
  13025. Fval: uint16(82),
  13026. },
  13027. 66: {
  13028. Fbits: uint8(8),
  13029. Fval: uint16(18),
  13030. },
  13031. 67: {
  13032. Fop: uint8(21),
  13033. Fbits: uint8(8),
  13034. Fval: uint16(163),
  13035. },
  13036. 68: {
  13037. Fop: uint8(19),
  13038. Fbits: uint8(7),
  13039. Fval: uint16(35),
  13040. },
  13041. 69: {
  13042. Fbits: uint8(8),
  13043. Fval: uint16(114),
  13044. },
  13045. 70: {
  13046. Fbits: uint8(8),
  13047. Fval: uint16(50),
  13048. },
  13049. 71: {
  13050. Fbits: uint8(9),
  13051. Fval: uint16(196),
  13052. },
  13053. 72: {
  13054. Fop: uint8(17),
  13055. Fbits: uint8(7),
  13056. Fval: uint16(11),
  13057. },
  13058. 73: {
  13059. Fbits: uint8(8),
  13060. Fval: uint16(98),
  13061. },
  13062. 74: {
  13063. Fbits: uint8(8),
  13064. Fval: uint16(34),
  13065. },
  13066. 75: {
  13067. Fbits: uint8(9),
  13068. Fval: uint16(164),
  13069. },
  13070. 76: {
  13071. Fbits: uint8(8),
  13072. Fval: uint16(2),
  13073. },
  13074. 77: {
  13075. Fbits: uint8(8),
  13076. Fval: uint16(130),
  13077. },
  13078. 78: {
  13079. Fbits: uint8(8),
  13080. Fval: uint16(66),
  13081. },
  13082. 79: {
  13083. Fbits: uint8(9),
  13084. Fval: uint16(228),
  13085. },
  13086. 80: {
  13087. Fop: uint8(16),
  13088. Fbits: uint8(7),
  13089. Fval: uint16(7),
  13090. },
  13091. 81: {
  13092. Fbits: uint8(8),
  13093. Fval: uint16(90),
  13094. },
  13095. 82: {
  13096. Fbits: uint8(8),
  13097. Fval: uint16(26),
  13098. },
  13099. 83: {
  13100. Fbits: uint8(9),
  13101. Fval: uint16(148),
  13102. },
  13103. 84: {
  13104. Fop: uint8(20),
  13105. Fbits: uint8(7),
  13106. Fval: uint16(67),
  13107. },
  13108. 85: {
  13109. Fbits: uint8(8),
  13110. Fval: uint16(122),
  13111. },
  13112. 86: {
  13113. Fbits: uint8(8),
  13114. Fval: uint16(58),
  13115. },
  13116. 87: {
  13117. Fbits: uint8(9),
  13118. Fval: uint16(212),
  13119. },
  13120. 88: {
  13121. Fop: uint8(18),
  13122. Fbits: uint8(7),
  13123. Fval: uint16(19),
  13124. },
  13125. 89: {
  13126. Fbits: uint8(8),
  13127. Fval: uint16(106),
  13128. },
  13129. 90: {
  13130. Fbits: uint8(8),
  13131. Fval: uint16(42),
  13132. },
  13133. 91: {
  13134. Fbits: uint8(9),
  13135. Fval: uint16(180),
  13136. },
  13137. 92: {
  13138. Fbits: uint8(8),
  13139. Fval: uint16(10),
  13140. },
  13141. 93: {
  13142. Fbits: uint8(8),
  13143. Fval: uint16(138),
  13144. },
  13145. 94: {
  13146. Fbits: uint8(8),
  13147. Fval: uint16(74),
  13148. },
  13149. 95: {
  13150. Fbits: uint8(9),
  13151. Fval: uint16(244),
  13152. },
  13153. 96: {
  13154. Fop: uint8(16),
  13155. Fbits: uint8(7),
  13156. Fval: uint16(5),
  13157. },
  13158. 97: {
  13159. Fbits: uint8(8),
  13160. Fval: uint16(86),
  13161. },
  13162. 98: {
  13163. Fbits: uint8(8),
  13164. Fval: uint16(22),
  13165. },
  13166. 99: {
  13167. Fop: uint8(64),
  13168. Fbits: uint8(8),
  13169. },
  13170. 100: {
  13171. Fop: uint8(19),
  13172. Fbits: uint8(7),
  13173. Fval: uint16(51),
  13174. },
  13175. 101: {
  13176. Fbits: uint8(8),
  13177. Fval: uint16(118),
  13178. },
  13179. 102: {
  13180. Fbits: uint8(8),
  13181. Fval: uint16(54),
  13182. },
  13183. 103: {
  13184. Fbits: uint8(9),
  13185. Fval: uint16(204),
  13186. },
  13187. 104: {
  13188. Fop: uint8(17),
  13189. Fbits: uint8(7),
  13190. Fval: uint16(15),
  13191. },
  13192. 105: {
  13193. Fbits: uint8(8),
  13194. Fval: uint16(102),
  13195. },
  13196. 106: {
  13197. Fbits: uint8(8),
  13198. Fval: uint16(38),
  13199. },
  13200. 107: {
  13201. Fbits: uint8(9),
  13202. Fval: uint16(172),
  13203. },
  13204. 108: {
  13205. Fbits: uint8(8),
  13206. Fval: uint16(6),
  13207. },
  13208. 109: {
  13209. Fbits: uint8(8),
  13210. Fval: uint16(134),
  13211. },
  13212. 110: {
  13213. Fbits: uint8(8),
  13214. Fval: uint16(70),
  13215. },
  13216. 111: {
  13217. Fbits: uint8(9),
  13218. Fval: uint16(236),
  13219. },
  13220. 112: {
  13221. Fop: uint8(16),
  13222. Fbits: uint8(7),
  13223. Fval: uint16(9),
  13224. },
  13225. 113: {
  13226. Fbits: uint8(8),
  13227. Fval: uint16(94),
  13228. },
  13229. 114: {
  13230. Fbits: uint8(8),
  13231. Fval: uint16(30),
  13232. },
  13233. 115: {
  13234. Fbits: uint8(9),
  13235. Fval: uint16(156),
  13236. },
  13237. 116: {
  13238. Fop: uint8(20),
  13239. Fbits: uint8(7),
  13240. Fval: uint16(99),
  13241. },
  13242. 117: {
  13243. Fbits: uint8(8),
  13244. Fval: uint16(126),
  13245. },
  13246. 118: {
  13247. Fbits: uint8(8),
  13248. Fval: uint16(62),
  13249. },
  13250. 119: {
  13251. Fbits: uint8(9),
  13252. Fval: uint16(220),
  13253. },
  13254. 120: {
  13255. Fop: uint8(18),
  13256. Fbits: uint8(7),
  13257. Fval: uint16(27),
  13258. },
  13259. 121: {
  13260. Fbits: uint8(8),
  13261. Fval: uint16(110),
  13262. },
  13263. 122: {
  13264. Fbits: uint8(8),
  13265. Fval: uint16(46),
  13266. },
  13267. 123: {
  13268. Fbits: uint8(9),
  13269. Fval: uint16(188),
  13270. },
  13271. 124: {
  13272. Fbits: uint8(8),
  13273. Fval: uint16(14),
  13274. },
  13275. 125: {
  13276. Fbits: uint8(8),
  13277. Fval: uint16(142),
  13278. },
  13279. 126: {
  13280. Fbits: uint8(8),
  13281. Fval: uint16(78),
  13282. },
  13283. 127: {
  13284. Fbits: uint8(9),
  13285. Fval: uint16(252),
  13286. },
  13287. 128: {
  13288. Fop: uint8(96),
  13289. Fbits: uint8(7),
  13290. },
  13291. 129: {
  13292. Fbits: uint8(8),
  13293. Fval: uint16(81),
  13294. },
  13295. 130: {
  13296. Fbits: uint8(8),
  13297. Fval: uint16(17),
  13298. },
  13299. 131: {
  13300. Fop: uint8(21),
  13301. Fbits: uint8(8),
  13302. Fval: uint16(131),
  13303. },
  13304. 132: {
  13305. Fop: uint8(18),
  13306. Fbits: uint8(7),
  13307. Fval: uint16(31),
  13308. },
  13309. 133: {
  13310. Fbits: uint8(8),
  13311. Fval: uint16(113),
  13312. },
  13313. 134: {
  13314. Fbits: uint8(8),
  13315. Fval: uint16(49),
  13316. },
  13317. 135: {
  13318. Fbits: uint8(9),
  13319. Fval: uint16(194),
  13320. },
  13321. 136: {
  13322. Fop: uint8(16),
  13323. Fbits: uint8(7),
  13324. Fval: uint16(10),
  13325. },
  13326. 137: {
  13327. Fbits: uint8(8),
  13328. Fval: uint16(97),
  13329. },
  13330. 138: {
  13331. Fbits: uint8(8),
  13332. Fval: uint16(33),
  13333. },
  13334. 139: {
  13335. Fbits: uint8(9),
  13336. Fval: uint16(162),
  13337. },
  13338. 140: {
  13339. Fbits: uint8(8),
  13340. Fval: uint16(1),
  13341. },
  13342. 141: {
  13343. Fbits: uint8(8),
  13344. Fval: uint16(129),
  13345. },
  13346. 142: {
  13347. Fbits: uint8(8),
  13348. Fval: uint16(65),
  13349. },
  13350. 143: {
  13351. Fbits: uint8(9),
  13352. Fval: uint16(226),
  13353. },
  13354. 144: {
  13355. Fop: uint8(16),
  13356. Fbits: uint8(7),
  13357. Fval: uint16(6),
  13358. },
  13359. 145: {
  13360. Fbits: uint8(8),
  13361. Fval: uint16(89),
  13362. },
  13363. 146: {
  13364. Fbits: uint8(8),
  13365. Fval: uint16(25),
  13366. },
  13367. 147: {
  13368. Fbits: uint8(9),
  13369. Fval: uint16(146),
  13370. },
  13371. 148: {
  13372. Fop: uint8(19),
  13373. Fbits: uint8(7),
  13374. Fval: uint16(59),
  13375. },
  13376. 149: {
  13377. Fbits: uint8(8),
  13378. Fval: uint16(121),
  13379. },
  13380. 150: {
  13381. Fbits: uint8(8),
  13382. Fval: uint16(57),
  13383. },
  13384. 151: {
  13385. Fbits: uint8(9),
  13386. Fval: uint16(210),
  13387. },
  13388. 152: {
  13389. Fop: uint8(17),
  13390. Fbits: uint8(7),
  13391. Fval: uint16(17),
  13392. },
  13393. 153: {
  13394. Fbits: uint8(8),
  13395. Fval: uint16(105),
  13396. },
  13397. 154: {
  13398. Fbits: uint8(8),
  13399. Fval: uint16(41),
  13400. },
  13401. 155: {
  13402. Fbits: uint8(9),
  13403. Fval: uint16(178),
  13404. },
  13405. 156: {
  13406. Fbits: uint8(8),
  13407. Fval: uint16(9),
  13408. },
  13409. 157: {
  13410. Fbits: uint8(8),
  13411. Fval: uint16(137),
  13412. },
  13413. 158: {
  13414. Fbits: uint8(8),
  13415. Fval: uint16(73),
  13416. },
  13417. 159: {
  13418. Fbits: uint8(9),
  13419. Fval: uint16(242),
  13420. },
  13421. 160: {
  13422. Fop: uint8(16),
  13423. Fbits: uint8(7),
  13424. Fval: uint16(4),
  13425. },
  13426. 161: {
  13427. Fbits: uint8(8),
  13428. Fval: uint16(85),
  13429. },
  13430. 162: {
  13431. Fbits: uint8(8),
  13432. Fval: uint16(21),
  13433. },
  13434. 163: {
  13435. Fop: uint8(16),
  13436. Fbits: uint8(8),
  13437. Fval: uint16(258),
  13438. },
  13439. 164: {
  13440. Fop: uint8(19),
  13441. Fbits: uint8(7),
  13442. Fval: uint16(43),
  13443. },
  13444. 165: {
  13445. Fbits: uint8(8),
  13446. Fval: uint16(117),
  13447. },
  13448. 166: {
  13449. Fbits: uint8(8),
  13450. Fval: uint16(53),
  13451. },
  13452. 167: {
  13453. Fbits: uint8(9),
  13454. Fval: uint16(202),
  13455. },
  13456. 168: {
  13457. Fop: uint8(17),
  13458. Fbits: uint8(7),
  13459. Fval: uint16(13),
  13460. },
  13461. 169: {
  13462. Fbits: uint8(8),
  13463. Fval: uint16(101),
  13464. },
  13465. 170: {
  13466. Fbits: uint8(8),
  13467. Fval: uint16(37),
  13468. },
  13469. 171: {
  13470. Fbits: uint8(9),
  13471. Fval: uint16(170),
  13472. },
  13473. 172: {
  13474. Fbits: uint8(8),
  13475. Fval: uint16(5),
  13476. },
  13477. 173: {
  13478. Fbits: uint8(8),
  13479. Fval: uint16(133),
  13480. },
  13481. 174: {
  13482. Fbits: uint8(8),
  13483. Fval: uint16(69),
  13484. },
  13485. 175: {
  13486. Fbits: uint8(9),
  13487. Fval: uint16(234),
  13488. },
  13489. 176: {
  13490. Fop: uint8(16),
  13491. Fbits: uint8(7),
  13492. Fval: uint16(8),
  13493. },
  13494. 177: {
  13495. Fbits: uint8(8),
  13496. Fval: uint16(93),
  13497. },
  13498. 178: {
  13499. Fbits: uint8(8),
  13500. Fval: uint16(29),
  13501. },
  13502. 179: {
  13503. Fbits: uint8(9),
  13504. Fval: uint16(154),
  13505. },
  13506. 180: {
  13507. Fop: uint8(20),
  13508. Fbits: uint8(7),
  13509. Fval: uint16(83),
  13510. },
  13511. 181: {
  13512. Fbits: uint8(8),
  13513. Fval: uint16(125),
  13514. },
  13515. 182: {
  13516. Fbits: uint8(8),
  13517. Fval: uint16(61),
  13518. },
  13519. 183: {
  13520. Fbits: uint8(9),
  13521. Fval: uint16(218),
  13522. },
  13523. 184: {
  13524. Fop: uint8(18),
  13525. Fbits: uint8(7),
  13526. Fval: uint16(23),
  13527. },
  13528. 185: {
  13529. Fbits: uint8(8),
  13530. Fval: uint16(109),
  13531. },
  13532. 186: {
  13533. Fbits: uint8(8),
  13534. Fval: uint16(45),
  13535. },
  13536. 187: {
  13537. Fbits: uint8(9),
  13538. Fval: uint16(186),
  13539. },
  13540. 188: {
  13541. Fbits: uint8(8),
  13542. Fval: uint16(13),
  13543. },
  13544. 189: {
  13545. Fbits: uint8(8),
  13546. Fval: uint16(141),
  13547. },
  13548. 190: {
  13549. Fbits: uint8(8),
  13550. Fval: uint16(77),
  13551. },
  13552. 191: {
  13553. Fbits: uint8(9),
  13554. Fval: uint16(250),
  13555. },
  13556. 192: {
  13557. Fop: uint8(16),
  13558. Fbits: uint8(7),
  13559. Fval: uint16(3),
  13560. },
  13561. 193: {
  13562. Fbits: uint8(8),
  13563. Fval: uint16(83),
  13564. },
  13565. 194: {
  13566. Fbits: uint8(8),
  13567. Fval: uint16(19),
  13568. },
  13569. 195: {
  13570. Fop: uint8(21),
  13571. Fbits: uint8(8),
  13572. Fval: uint16(195),
  13573. },
  13574. 196: {
  13575. Fop: uint8(19),
  13576. Fbits: uint8(7),
  13577. Fval: uint16(35),
  13578. },
  13579. 197: {
  13580. Fbits: uint8(8),
  13581. Fval: uint16(115),
  13582. },
  13583. 198: {
  13584. Fbits: uint8(8),
  13585. Fval: uint16(51),
  13586. },
  13587. 199: {
  13588. Fbits: uint8(9),
  13589. Fval: uint16(198),
  13590. },
  13591. 200: {
  13592. Fop: uint8(17),
  13593. Fbits: uint8(7),
  13594. Fval: uint16(11),
  13595. },
  13596. 201: {
  13597. Fbits: uint8(8),
  13598. Fval: uint16(99),
  13599. },
  13600. 202: {
  13601. Fbits: uint8(8),
  13602. Fval: uint16(35),
  13603. },
  13604. 203: {
  13605. Fbits: uint8(9),
  13606. Fval: uint16(166),
  13607. },
  13608. 204: {
  13609. Fbits: uint8(8),
  13610. Fval: uint16(3),
  13611. },
  13612. 205: {
  13613. Fbits: uint8(8),
  13614. Fval: uint16(131),
  13615. },
  13616. 206: {
  13617. Fbits: uint8(8),
  13618. Fval: uint16(67),
  13619. },
  13620. 207: {
  13621. Fbits: uint8(9),
  13622. Fval: uint16(230),
  13623. },
  13624. 208: {
  13625. Fop: uint8(16),
  13626. Fbits: uint8(7),
  13627. Fval: uint16(7),
  13628. },
  13629. 209: {
  13630. Fbits: uint8(8),
  13631. Fval: uint16(91),
  13632. },
  13633. 210: {
  13634. Fbits: uint8(8),
  13635. Fval: uint16(27),
  13636. },
  13637. 211: {
  13638. Fbits: uint8(9),
  13639. Fval: uint16(150),
  13640. },
  13641. 212: {
  13642. Fop: uint8(20),
  13643. Fbits: uint8(7),
  13644. Fval: uint16(67),
  13645. },
  13646. 213: {
  13647. Fbits: uint8(8),
  13648. Fval: uint16(123),
  13649. },
  13650. 214: {
  13651. Fbits: uint8(8),
  13652. Fval: uint16(59),
  13653. },
  13654. 215: {
  13655. Fbits: uint8(9),
  13656. Fval: uint16(214),
  13657. },
  13658. 216: {
  13659. Fop: uint8(18),
  13660. Fbits: uint8(7),
  13661. Fval: uint16(19),
  13662. },
  13663. 217: {
  13664. Fbits: uint8(8),
  13665. Fval: uint16(107),
  13666. },
  13667. 218: {
  13668. Fbits: uint8(8),
  13669. Fval: uint16(43),
  13670. },
  13671. 219: {
  13672. Fbits: uint8(9),
  13673. Fval: uint16(182),
  13674. },
  13675. 220: {
  13676. Fbits: uint8(8),
  13677. Fval: uint16(11),
  13678. },
  13679. 221: {
  13680. Fbits: uint8(8),
  13681. Fval: uint16(139),
  13682. },
  13683. 222: {
  13684. Fbits: uint8(8),
  13685. Fval: uint16(75),
  13686. },
  13687. 223: {
  13688. Fbits: uint8(9),
  13689. Fval: uint16(246),
  13690. },
  13691. 224: {
  13692. Fop: uint8(16),
  13693. Fbits: uint8(7),
  13694. Fval: uint16(5),
  13695. },
  13696. 225: {
  13697. Fbits: uint8(8),
  13698. Fval: uint16(87),
  13699. },
  13700. 226: {
  13701. Fbits: uint8(8),
  13702. Fval: uint16(23),
  13703. },
  13704. 227: {
  13705. Fop: uint8(64),
  13706. Fbits: uint8(8),
  13707. },
  13708. 228: {
  13709. Fop: uint8(19),
  13710. Fbits: uint8(7),
  13711. Fval: uint16(51),
  13712. },
  13713. 229: {
  13714. Fbits: uint8(8),
  13715. Fval: uint16(119),
  13716. },
  13717. 230: {
  13718. Fbits: uint8(8),
  13719. Fval: uint16(55),
  13720. },
  13721. 231: {
  13722. Fbits: uint8(9),
  13723. Fval: uint16(206),
  13724. },
  13725. 232: {
  13726. Fop: uint8(17),
  13727. Fbits: uint8(7),
  13728. Fval: uint16(15),
  13729. },
  13730. 233: {
  13731. Fbits: uint8(8),
  13732. Fval: uint16(103),
  13733. },
  13734. 234: {
  13735. Fbits: uint8(8),
  13736. Fval: uint16(39),
  13737. },
  13738. 235: {
  13739. Fbits: uint8(9),
  13740. Fval: uint16(174),
  13741. },
  13742. 236: {
  13743. Fbits: uint8(8),
  13744. Fval: uint16(7),
  13745. },
  13746. 237: {
  13747. Fbits: uint8(8),
  13748. Fval: uint16(135),
  13749. },
  13750. 238: {
  13751. Fbits: uint8(8),
  13752. Fval: uint16(71),
  13753. },
  13754. 239: {
  13755. Fbits: uint8(9),
  13756. Fval: uint16(238),
  13757. },
  13758. 240: {
  13759. Fop: uint8(16),
  13760. Fbits: uint8(7),
  13761. Fval: uint16(9),
  13762. },
  13763. 241: {
  13764. Fbits: uint8(8),
  13765. Fval: uint16(95),
  13766. },
  13767. 242: {
  13768. Fbits: uint8(8),
  13769. Fval: uint16(31),
  13770. },
  13771. 243: {
  13772. Fbits: uint8(9),
  13773. Fval: uint16(158),
  13774. },
  13775. 244: {
  13776. Fop: uint8(20),
  13777. Fbits: uint8(7),
  13778. Fval: uint16(99),
  13779. },
  13780. 245: {
  13781. Fbits: uint8(8),
  13782. Fval: uint16(127),
  13783. },
  13784. 246: {
  13785. Fbits: uint8(8),
  13786. Fval: uint16(63),
  13787. },
  13788. 247: {
  13789. Fbits: uint8(9),
  13790. Fval: uint16(222),
  13791. },
  13792. 248: {
  13793. Fop: uint8(18),
  13794. Fbits: uint8(7),
  13795. Fval: uint16(27),
  13796. },
  13797. 249: {
  13798. Fbits: uint8(8),
  13799. Fval: uint16(111),
  13800. },
  13801. 250: {
  13802. Fbits: uint8(8),
  13803. Fval: uint16(47),
  13804. },
  13805. 251: {
  13806. Fbits: uint8(9),
  13807. Fval: uint16(190),
  13808. },
  13809. 252: {
  13810. Fbits: uint8(8),
  13811. Fval: uint16(15),
  13812. },
  13813. 253: {
  13814. Fbits: uint8(8),
  13815. Fval: uint16(143),
  13816. },
  13817. 254: {
  13818. Fbits: uint8(8),
  13819. Fval: uint16(79),
  13820. },
  13821. 255: {
  13822. Fbits: uint8(9),
  13823. Fval: uint16(254),
  13824. },
  13825. 256: {
  13826. Fop: uint8(96),
  13827. Fbits: uint8(7),
  13828. },
  13829. 257: {
  13830. Fbits: uint8(8),
  13831. Fval: uint16(80),
  13832. },
  13833. 258: {
  13834. Fbits: uint8(8),
  13835. Fval: uint16(16),
  13836. },
  13837. 259: {
  13838. Fop: uint8(20),
  13839. Fbits: uint8(8),
  13840. Fval: uint16(115),
  13841. },
  13842. 260: {
  13843. Fop: uint8(18),
  13844. Fbits: uint8(7),
  13845. Fval: uint16(31),
  13846. },
  13847. 261: {
  13848. Fbits: uint8(8),
  13849. Fval: uint16(112),
  13850. },
  13851. 262: {
  13852. Fbits: uint8(8),
  13853. Fval: uint16(48),
  13854. },
  13855. 263: {
  13856. Fbits: uint8(9),
  13857. Fval: uint16(193),
  13858. },
  13859. 264: {
  13860. Fop: uint8(16),
  13861. Fbits: uint8(7),
  13862. Fval: uint16(10),
  13863. },
  13864. 265: {
  13865. Fbits: uint8(8),
  13866. Fval: uint16(96),
  13867. },
  13868. 266: {
  13869. Fbits: uint8(8),
  13870. Fval: uint16(32),
  13871. },
  13872. 267: {
  13873. Fbits: uint8(9),
  13874. Fval: uint16(161),
  13875. },
  13876. 268: {
  13877. Fbits: uint8(8),
  13878. },
  13879. 269: {
  13880. Fbits: uint8(8),
  13881. Fval: uint16(128),
  13882. },
  13883. 270: {
  13884. Fbits: uint8(8),
  13885. Fval: uint16(64),
  13886. },
  13887. 271: {
  13888. Fbits: uint8(9),
  13889. Fval: uint16(225),
  13890. },
  13891. 272: {
  13892. Fop: uint8(16),
  13893. Fbits: uint8(7),
  13894. Fval: uint16(6),
  13895. },
  13896. 273: {
  13897. Fbits: uint8(8),
  13898. Fval: uint16(88),
  13899. },
  13900. 274: {
  13901. Fbits: uint8(8),
  13902. Fval: uint16(24),
  13903. },
  13904. 275: {
  13905. Fbits: uint8(9),
  13906. Fval: uint16(145),
  13907. },
  13908. 276: {
  13909. Fop: uint8(19),
  13910. Fbits: uint8(7),
  13911. Fval: uint16(59),
  13912. },
  13913. 277: {
  13914. Fbits: uint8(8),
  13915. Fval: uint16(120),
  13916. },
  13917. 278: {
  13918. Fbits: uint8(8),
  13919. Fval: uint16(56),
  13920. },
  13921. 279: {
  13922. Fbits: uint8(9),
  13923. Fval: uint16(209),
  13924. },
  13925. 280: {
  13926. Fop: uint8(17),
  13927. Fbits: uint8(7),
  13928. Fval: uint16(17),
  13929. },
  13930. 281: {
  13931. Fbits: uint8(8),
  13932. Fval: uint16(104),
  13933. },
  13934. 282: {
  13935. Fbits: uint8(8),
  13936. Fval: uint16(40),
  13937. },
  13938. 283: {
  13939. Fbits: uint8(9),
  13940. Fval: uint16(177),
  13941. },
  13942. 284: {
  13943. Fbits: uint8(8),
  13944. Fval: uint16(8),
  13945. },
  13946. 285: {
  13947. Fbits: uint8(8),
  13948. Fval: uint16(136),
  13949. },
  13950. 286: {
  13951. Fbits: uint8(8),
  13952. Fval: uint16(72),
  13953. },
  13954. 287: {
  13955. Fbits: uint8(9),
  13956. Fval: uint16(241),
  13957. },
  13958. 288: {
  13959. Fop: uint8(16),
  13960. Fbits: uint8(7),
  13961. Fval: uint16(4),
  13962. },
  13963. 289: {
  13964. Fbits: uint8(8),
  13965. Fval: uint16(84),
  13966. },
  13967. 290: {
  13968. Fbits: uint8(8),
  13969. Fval: uint16(20),
  13970. },
  13971. 291: {
  13972. Fop: uint8(21),
  13973. Fbits: uint8(8),
  13974. Fval: uint16(227),
  13975. },
  13976. 292: {
  13977. Fop: uint8(19),
  13978. Fbits: uint8(7),
  13979. Fval: uint16(43),
  13980. },
  13981. 293: {
  13982. Fbits: uint8(8),
  13983. Fval: uint16(116),
  13984. },
  13985. 294: {
  13986. Fbits: uint8(8),
  13987. Fval: uint16(52),
  13988. },
  13989. 295: {
  13990. Fbits: uint8(9),
  13991. Fval: uint16(201),
  13992. },
  13993. 296: {
  13994. Fop: uint8(17),
  13995. Fbits: uint8(7),
  13996. Fval: uint16(13),
  13997. },
  13998. 297: {
  13999. Fbits: uint8(8),
  14000. Fval: uint16(100),
  14001. },
  14002. 298: {
  14003. Fbits: uint8(8),
  14004. Fval: uint16(36),
  14005. },
  14006. 299: {
  14007. Fbits: uint8(9),
  14008. Fval: uint16(169),
  14009. },
  14010. 300: {
  14011. Fbits: uint8(8),
  14012. Fval: uint16(4),
  14013. },
  14014. 301: {
  14015. Fbits: uint8(8),
  14016. Fval: uint16(132),
  14017. },
  14018. 302: {
  14019. Fbits: uint8(8),
  14020. Fval: uint16(68),
  14021. },
  14022. 303: {
  14023. Fbits: uint8(9),
  14024. Fval: uint16(233),
  14025. },
  14026. 304: {
  14027. Fop: uint8(16),
  14028. Fbits: uint8(7),
  14029. Fval: uint16(8),
  14030. },
  14031. 305: {
  14032. Fbits: uint8(8),
  14033. Fval: uint16(92),
  14034. },
  14035. 306: {
  14036. Fbits: uint8(8),
  14037. Fval: uint16(28),
  14038. },
  14039. 307: {
  14040. Fbits: uint8(9),
  14041. Fval: uint16(153),
  14042. },
  14043. 308: {
  14044. Fop: uint8(20),
  14045. Fbits: uint8(7),
  14046. Fval: uint16(83),
  14047. },
  14048. 309: {
  14049. Fbits: uint8(8),
  14050. Fval: uint16(124),
  14051. },
  14052. 310: {
  14053. Fbits: uint8(8),
  14054. Fval: uint16(60),
  14055. },
  14056. 311: {
  14057. Fbits: uint8(9),
  14058. Fval: uint16(217),
  14059. },
  14060. 312: {
  14061. Fop: uint8(18),
  14062. Fbits: uint8(7),
  14063. Fval: uint16(23),
  14064. },
  14065. 313: {
  14066. Fbits: uint8(8),
  14067. Fval: uint16(108),
  14068. },
  14069. 314: {
  14070. Fbits: uint8(8),
  14071. Fval: uint16(44),
  14072. },
  14073. 315: {
  14074. Fbits: uint8(9),
  14075. Fval: uint16(185),
  14076. },
  14077. 316: {
  14078. Fbits: uint8(8),
  14079. Fval: uint16(12),
  14080. },
  14081. 317: {
  14082. Fbits: uint8(8),
  14083. Fval: uint16(140),
  14084. },
  14085. 318: {
  14086. Fbits: uint8(8),
  14087. Fval: uint16(76),
  14088. },
  14089. 319: {
  14090. Fbits: uint8(9),
  14091. Fval: uint16(249),
  14092. },
  14093. 320: {
  14094. Fop: uint8(16),
  14095. Fbits: uint8(7),
  14096. Fval: uint16(3),
  14097. },
  14098. 321: {
  14099. Fbits: uint8(8),
  14100. Fval: uint16(82),
  14101. },
  14102. 322: {
  14103. Fbits: uint8(8),
  14104. Fval: uint16(18),
  14105. },
  14106. 323: {
  14107. Fop: uint8(21),
  14108. Fbits: uint8(8),
  14109. Fval: uint16(163),
  14110. },
  14111. 324: {
  14112. Fop: uint8(19),
  14113. Fbits: uint8(7),
  14114. Fval: uint16(35),
  14115. },
  14116. 325: {
  14117. Fbits: uint8(8),
  14118. Fval: uint16(114),
  14119. },
  14120. 326: {
  14121. Fbits: uint8(8),
  14122. Fval: uint16(50),
  14123. },
  14124. 327: {
  14125. Fbits: uint8(9),
  14126. Fval: uint16(197),
  14127. },
  14128. 328: {
  14129. Fop: uint8(17),
  14130. Fbits: uint8(7),
  14131. Fval: uint16(11),
  14132. },
  14133. 329: {
  14134. Fbits: uint8(8),
  14135. Fval: uint16(98),
  14136. },
  14137. 330: {
  14138. Fbits: uint8(8),
  14139. Fval: uint16(34),
  14140. },
  14141. 331: {
  14142. Fbits: uint8(9),
  14143. Fval: uint16(165),
  14144. },
  14145. 332: {
  14146. Fbits: uint8(8),
  14147. Fval: uint16(2),
  14148. },
  14149. 333: {
  14150. Fbits: uint8(8),
  14151. Fval: uint16(130),
  14152. },
  14153. 334: {
  14154. Fbits: uint8(8),
  14155. Fval: uint16(66),
  14156. },
  14157. 335: {
  14158. Fbits: uint8(9),
  14159. Fval: uint16(229),
  14160. },
  14161. 336: {
  14162. Fop: uint8(16),
  14163. Fbits: uint8(7),
  14164. Fval: uint16(7),
  14165. },
  14166. 337: {
  14167. Fbits: uint8(8),
  14168. Fval: uint16(90),
  14169. },
  14170. 338: {
  14171. Fbits: uint8(8),
  14172. Fval: uint16(26),
  14173. },
  14174. 339: {
  14175. Fbits: uint8(9),
  14176. Fval: uint16(149),
  14177. },
  14178. 340: {
  14179. Fop: uint8(20),
  14180. Fbits: uint8(7),
  14181. Fval: uint16(67),
  14182. },
  14183. 341: {
  14184. Fbits: uint8(8),
  14185. Fval: uint16(122),
  14186. },
  14187. 342: {
  14188. Fbits: uint8(8),
  14189. Fval: uint16(58),
  14190. },
  14191. 343: {
  14192. Fbits: uint8(9),
  14193. Fval: uint16(213),
  14194. },
  14195. 344: {
  14196. Fop: uint8(18),
  14197. Fbits: uint8(7),
  14198. Fval: uint16(19),
  14199. },
  14200. 345: {
  14201. Fbits: uint8(8),
  14202. Fval: uint16(106),
  14203. },
  14204. 346: {
  14205. Fbits: uint8(8),
  14206. Fval: uint16(42),
  14207. },
  14208. 347: {
  14209. Fbits: uint8(9),
  14210. Fval: uint16(181),
  14211. },
  14212. 348: {
  14213. Fbits: uint8(8),
  14214. Fval: uint16(10),
  14215. },
  14216. 349: {
  14217. Fbits: uint8(8),
  14218. Fval: uint16(138),
  14219. },
  14220. 350: {
  14221. Fbits: uint8(8),
  14222. Fval: uint16(74),
  14223. },
  14224. 351: {
  14225. Fbits: uint8(9),
  14226. Fval: uint16(245),
  14227. },
  14228. 352: {
  14229. Fop: uint8(16),
  14230. Fbits: uint8(7),
  14231. Fval: uint16(5),
  14232. },
  14233. 353: {
  14234. Fbits: uint8(8),
  14235. Fval: uint16(86),
  14236. },
  14237. 354: {
  14238. Fbits: uint8(8),
  14239. Fval: uint16(22),
  14240. },
  14241. 355: {
  14242. Fop: uint8(64),
  14243. Fbits: uint8(8),
  14244. },
  14245. 356: {
  14246. Fop: uint8(19),
  14247. Fbits: uint8(7),
  14248. Fval: uint16(51),
  14249. },
  14250. 357: {
  14251. Fbits: uint8(8),
  14252. Fval: uint16(118),
  14253. },
  14254. 358: {
  14255. Fbits: uint8(8),
  14256. Fval: uint16(54),
  14257. },
  14258. 359: {
  14259. Fbits: uint8(9),
  14260. Fval: uint16(205),
  14261. },
  14262. 360: {
  14263. Fop: uint8(17),
  14264. Fbits: uint8(7),
  14265. Fval: uint16(15),
  14266. },
  14267. 361: {
  14268. Fbits: uint8(8),
  14269. Fval: uint16(102),
  14270. },
  14271. 362: {
  14272. Fbits: uint8(8),
  14273. Fval: uint16(38),
  14274. },
  14275. 363: {
  14276. Fbits: uint8(9),
  14277. Fval: uint16(173),
  14278. },
  14279. 364: {
  14280. Fbits: uint8(8),
  14281. Fval: uint16(6),
  14282. },
  14283. 365: {
  14284. Fbits: uint8(8),
  14285. Fval: uint16(134),
  14286. },
  14287. 366: {
  14288. Fbits: uint8(8),
  14289. Fval: uint16(70),
  14290. },
  14291. 367: {
  14292. Fbits: uint8(9),
  14293. Fval: uint16(237),
  14294. },
  14295. 368: {
  14296. Fop: uint8(16),
  14297. Fbits: uint8(7),
  14298. Fval: uint16(9),
  14299. },
  14300. 369: {
  14301. Fbits: uint8(8),
  14302. Fval: uint16(94),
  14303. },
  14304. 370: {
  14305. Fbits: uint8(8),
  14306. Fval: uint16(30),
  14307. },
  14308. 371: {
  14309. Fbits: uint8(9),
  14310. Fval: uint16(157),
  14311. },
  14312. 372: {
  14313. Fop: uint8(20),
  14314. Fbits: uint8(7),
  14315. Fval: uint16(99),
  14316. },
  14317. 373: {
  14318. Fbits: uint8(8),
  14319. Fval: uint16(126),
  14320. },
  14321. 374: {
  14322. Fbits: uint8(8),
  14323. Fval: uint16(62),
  14324. },
  14325. 375: {
  14326. Fbits: uint8(9),
  14327. Fval: uint16(221),
  14328. },
  14329. 376: {
  14330. Fop: uint8(18),
  14331. Fbits: uint8(7),
  14332. Fval: uint16(27),
  14333. },
  14334. 377: {
  14335. Fbits: uint8(8),
  14336. Fval: uint16(110),
  14337. },
  14338. 378: {
  14339. Fbits: uint8(8),
  14340. Fval: uint16(46),
  14341. },
  14342. 379: {
  14343. Fbits: uint8(9),
  14344. Fval: uint16(189),
  14345. },
  14346. 380: {
  14347. Fbits: uint8(8),
  14348. Fval: uint16(14),
  14349. },
  14350. 381: {
  14351. Fbits: uint8(8),
  14352. Fval: uint16(142),
  14353. },
  14354. 382: {
  14355. Fbits: uint8(8),
  14356. Fval: uint16(78),
  14357. },
  14358. 383: {
  14359. Fbits: uint8(9),
  14360. Fval: uint16(253),
  14361. },
  14362. 384: {
  14363. Fop: uint8(96),
  14364. Fbits: uint8(7),
  14365. },
  14366. 385: {
  14367. Fbits: uint8(8),
  14368. Fval: uint16(81),
  14369. },
  14370. 386: {
  14371. Fbits: uint8(8),
  14372. Fval: uint16(17),
  14373. },
  14374. 387: {
  14375. Fop: uint8(21),
  14376. Fbits: uint8(8),
  14377. Fval: uint16(131),
  14378. },
  14379. 388: {
  14380. Fop: uint8(18),
  14381. Fbits: uint8(7),
  14382. Fval: uint16(31),
  14383. },
  14384. 389: {
  14385. Fbits: uint8(8),
  14386. Fval: uint16(113),
  14387. },
  14388. 390: {
  14389. Fbits: uint8(8),
  14390. Fval: uint16(49),
  14391. },
  14392. 391: {
  14393. Fbits: uint8(9),
  14394. Fval: uint16(195),
  14395. },
  14396. 392: {
  14397. Fop: uint8(16),
  14398. Fbits: uint8(7),
  14399. Fval: uint16(10),
  14400. },
  14401. 393: {
  14402. Fbits: uint8(8),
  14403. Fval: uint16(97),
  14404. },
  14405. 394: {
  14406. Fbits: uint8(8),
  14407. Fval: uint16(33),
  14408. },
  14409. 395: {
  14410. Fbits: uint8(9),
  14411. Fval: uint16(163),
  14412. },
  14413. 396: {
  14414. Fbits: uint8(8),
  14415. Fval: uint16(1),
  14416. },
  14417. 397: {
  14418. Fbits: uint8(8),
  14419. Fval: uint16(129),
  14420. },
  14421. 398: {
  14422. Fbits: uint8(8),
  14423. Fval: uint16(65),
  14424. },
  14425. 399: {
  14426. Fbits: uint8(9),
  14427. Fval: uint16(227),
  14428. },
  14429. 400: {
  14430. Fop: uint8(16),
  14431. Fbits: uint8(7),
  14432. Fval: uint16(6),
  14433. },
  14434. 401: {
  14435. Fbits: uint8(8),
  14436. Fval: uint16(89),
  14437. },
  14438. 402: {
  14439. Fbits: uint8(8),
  14440. Fval: uint16(25),
  14441. },
  14442. 403: {
  14443. Fbits: uint8(9),
  14444. Fval: uint16(147),
  14445. },
  14446. 404: {
  14447. Fop: uint8(19),
  14448. Fbits: uint8(7),
  14449. Fval: uint16(59),
  14450. },
  14451. 405: {
  14452. Fbits: uint8(8),
  14453. Fval: uint16(121),
  14454. },
  14455. 406: {
  14456. Fbits: uint8(8),
  14457. Fval: uint16(57),
  14458. },
  14459. 407: {
  14460. Fbits: uint8(9),
  14461. Fval: uint16(211),
  14462. },
  14463. 408: {
  14464. Fop: uint8(17),
  14465. Fbits: uint8(7),
  14466. Fval: uint16(17),
  14467. },
  14468. 409: {
  14469. Fbits: uint8(8),
  14470. Fval: uint16(105),
  14471. },
  14472. 410: {
  14473. Fbits: uint8(8),
  14474. Fval: uint16(41),
  14475. },
  14476. 411: {
  14477. Fbits: uint8(9),
  14478. Fval: uint16(179),
  14479. },
  14480. 412: {
  14481. Fbits: uint8(8),
  14482. Fval: uint16(9),
  14483. },
  14484. 413: {
  14485. Fbits: uint8(8),
  14486. Fval: uint16(137),
  14487. },
  14488. 414: {
  14489. Fbits: uint8(8),
  14490. Fval: uint16(73),
  14491. },
  14492. 415: {
  14493. Fbits: uint8(9),
  14494. Fval: uint16(243),
  14495. },
  14496. 416: {
  14497. Fop: uint8(16),
  14498. Fbits: uint8(7),
  14499. Fval: uint16(4),
  14500. },
  14501. 417: {
  14502. Fbits: uint8(8),
  14503. Fval: uint16(85),
  14504. },
  14505. 418: {
  14506. Fbits: uint8(8),
  14507. Fval: uint16(21),
  14508. },
  14509. 419: {
  14510. Fop: uint8(16),
  14511. Fbits: uint8(8),
  14512. Fval: uint16(258),
  14513. },
  14514. 420: {
  14515. Fop: uint8(19),
  14516. Fbits: uint8(7),
  14517. Fval: uint16(43),
  14518. },
  14519. 421: {
  14520. Fbits: uint8(8),
  14521. Fval: uint16(117),
  14522. },
  14523. 422: {
  14524. Fbits: uint8(8),
  14525. Fval: uint16(53),
  14526. },
  14527. 423: {
  14528. Fbits: uint8(9),
  14529. Fval: uint16(203),
  14530. },
  14531. 424: {
  14532. Fop: uint8(17),
  14533. Fbits: uint8(7),
  14534. Fval: uint16(13),
  14535. },
  14536. 425: {
  14537. Fbits: uint8(8),
  14538. Fval: uint16(101),
  14539. },
  14540. 426: {
  14541. Fbits: uint8(8),
  14542. Fval: uint16(37),
  14543. },
  14544. 427: {
  14545. Fbits: uint8(9),
  14546. Fval: uint16(171),
  14547. },
  14548. 428: {
  14549. Fbits: uint8(8),
  14550. Fval: uint16(5),
  14551. },
  14552. 429: {
  14553. Fbits: uint8(8),
  14554. Fval: uint16(133),
  14555. },
  14556. 430: {
  14557. Fbits: uint8(8),
  14558. Fval: uint16(69),
  14559. },
  14560. 431: {
  14561. Fbits: uint8(9),
  14562. Fval: uint16(235),
  14563. },
  14564. 432: {
  14565. Fop: uint8(16),
  14566. Fbits: uint8(7),
  14567. Fval: uint16(8),
  14568. },
  14569. 433: {
  14570. Fbits: uint8(8),
  14571. Fval: uint16(93),
  14572. },
  14573. 434: {
  14574. Fbits: uint8(8),
  14575. Fval: uint16(29),
  14576. },
  14577. 435: {
  14578. Fbits: uint8(9),
  14579. Fval: uint16(155),
  14580. },
  14581. 436: {
  14582. Fop: uint8(20),
  14583. Fbits: uint8(7),
  14584. Fval: uint16(83),
  14585. },
  14586. 437: {
  14587. Fbits: uint8(8),
  14588. Fval: uint16(125),
  14589. },
  14590. 438: {
  14591. Fbits: uint8(8),
  14592. Fval: uint16(61),
  14593. },
  14594. 439: {
  14595. Fbits: uint8(9),
  14596. Fval: uint16(219),
  14597. },
  14598. 440: {
  14599. Fop: uint8(18),
  14600. Fbits: uint8(7),
  14601. Fval: uint16(23),
  14602. },
  14603. 441: {
  14604. Fbits: uint8(8),
  14605. Fval: uint16(109),
  14606. },
  14607. 442: {
  14608. Fbits: uint8(8),
  14609. Fval: uint16(45),
  14610. },
  14611. 443: {
  14612. Fbits: uint8(9),
  14613. Fval: uint16(187),
  14614. },
  14615. 444: {
  14616. Fbits: uint8(8),
  14617. Fval: uint16(13),
  14618. },
  14619. 445: {
  14620. Fbits: uint8(8),
  14621. Fval: uint16(141),
  14622. },
  14623. 446: {
  14624. Fbits: uint8(8),
  14625. Fval: uint16(77),
  14626. },
  14627. 447: {
  14628. Fbits: uint8(9),
  14629. Fval: uint16(251),
  14630. },
  14631. 448: {
  14632. Fop: uint8(16),
  14633. Fbits: uint8(7),
  14634. Fval: uint16(3),
  14635. },
  14636. 449: {
  14637. Fbits: uint8(8),
  14638. Fval: uint16(83),
  14639. },
  14640. 450: {
  14641. Fbits: uint8(8),
  14642. Fval: uint16(19),
  14643. },
  14644. 451: {
  14645. Fop: uint8(21),
  14646. Fbits: uint8(8),
  14647. Fval: uint16(195),
  14648. },
  14649. 452: {
  14650. Fop: uint8(19),
  14651. Fbits: uint8(7),
  14652. Fval: uint16(35),
  14653. },
  14654. 453: {
  14655. Fbits: uint8(8),
  14656. Fval: uint16(115),
  14657. },
  14658. 454: {
  14659. Fbits: uint8(8),
  14660. Fval: uint16(51),
  14661. },
  14662. 455: {
  14663. Fbits: uint8(9),
  14664. Fval: uint16(199),
  14665. },
  14666. 456: {
  14667. Fop: uint8(17),
  14668. Fbits: uint8(7),
  14669. Fval: uint16(11),
  14670. },
  14671. 457: {
  14672. Fbits: uint8(8),
  14673. Fval: uint16(99),
  14674. },
  14675. 458: {
  14676. Fbits: uint8(8),
  14677. Fval: uint16(35),
  14678. },
  14679. 459: {
  14680. Fbits: uint8(9),
  14681. Fval: uint16(167),
  14682. },
  14683. 460: {
  14684. Fbits: uint8(8),
  14685. Fval: uint16(3),
  14686. },
  14687. 461: {
  14688. Fbits: uint8(8),
  14689. Fval: uint16(131),
  14690. },
  14691. 462: {
  14692. Fbits: uint8(8),
  14693. Fval: uint16(67),
  14694. },
  14695. 463: {
  14696. Fbits: uint8(9),
  14697. Fval: uint16(231),
  14698. },
  14699. 464: {
  14700. Fop: uint8(16),
  14701. Fbits: uint8(7),
  14702. Fval: uint16(7),
  14703. },
  14704. 465: {
  14705. Fbits: uint8(8),
  14706. Fval: uint16(91),
  14707. },
  14708. 466: {
  14709. Fbits: uint8(8),
  14710. Fval: uint16(27),
  14711. },
  14712. 467: {
  14713. Fbits: uint8(9),
  14714. Fval: uint16(151),
  14715. },
  14716. 468: {
  14717. Fop: uint8(20),
  14718. Fbits: uint8(7),
  14719. Fval: uint16(67),
  14720. },
  14721. 469: {
  14722. Fbits: uint8(8),
  14723. Fval: uint16(123),
  14724. },
  14725. 470: {
  14726. Fbits: uint8(8),
  14727. Fval: uint16(59),
  14728. },
  14729. 471: {
  14730. Fbits: uint8(9),
  14731. Fval: uint16(215),
  14732. },
  14733. 472: {
  14734. Fop: uint8(18),
  14735. Fbits: uint8(7),
  14736. Fval: uint16(19),
  14737. },
  14738. 473: {
  14739. Fbits: uint8(8),
  14740. Fval: uint16(107),
  14741. },
  14742. 474: {
  14743. Fbits: uint8(8),
  14744. Fval: uint16(43),
  14745. },
  14746. 475: {
  14747. Fbits: uint8(9),
  14748. Fval: uint16(183),
  14749. },
  14750. 476: {
  14751. Fbits: uint8(8),
  14752. Fval: uint16(11),
  14753. },
  14754. 477: {
  14755. Fbits: uint8(8),
  14756. Fval: uint16(139),
  14757. },
  14758. 478: {
  14759. Fbits: uint8(8),
  14760. Fval: uint16(75),
  14761. },
  14762. 479: {
  14763. Fbits: uint8(9),
  14764. Fval: uint16(247),
  14765. },
  14766. 480: {
  14767. Fop: uint8(16),
  14768. Fbits: uint8(7),
  14769. Fval: uint16(5),
  14770. },
  14771. 481: {
  14772. Fbits: uint8(8),
  14773. Fval: uint16(87),
  14774. },
  14775. 482: {
  14776. Fbits: uint8(8),
  14777. Fval: uint16(23),
  14778. },
  14779. 483: {
  14780. Fop: uint8(64),
  14781. Fbits: uint8(8),
  14782. },
  14783. 484: {
  14784. Fop: uint8(19),
  14785. Fbits: uint8(7),
  14786. Fval: uint16(51),
  14787. },
  14788. 485: {
  14789. Fbits: uint8(8),
  14790. Fval: uint16(119),
  14791. },
  14792. 486: {
  14793. Fbits: uint8(8),
  14794. Fval: uint16(55),
  14795. },
  14796. 487: {
  14797. Fbits: uint8(9),
  14798. Fval: uint16(207),
  14799. },
  14800. 488: {
  14801. Fop: uint8(17),
  14802. Fbits: uint8(7),
  14803. Fval: uint16(15),
  14804. },
  14805. 489: {
  14806. Fbits: uint8(8),
  14807. Fval: uint16(103),
  14808. },
  14809. 490: {
  14810. Fbits: uint8(8),
  14811. Fval: uint16(39),
  14812. },
  14813. 491: {
  14814. Fbits: uint8(9),
  14815. Fval: uint16(175),
  14816. },
  14817. 492: {
  14818. Fbits: uint8(8),
  14819. Fval: uint16(7),
  14820. },
  14821. 493: {
  14822. Fbits: uint8(8),
  14823. Fval: uint16(135),
  14824. },
  14825. 494: {
  14826. Fbits: uint8(8),
  14827. Fval: uint16(71),
  14828. },
  14829. 495: {
  14830. Fbits: uint8(9),
  14831. Fval: uint16(239),
  14832. },
  14833. 496: {
  14834. Fop: uint8(16),
  14835. Fbits: uint8(7),
  14836. Fval: uint16(9),
  14837. },
  14838. 497: {
  14839. Fbits: uint8(8),
  14840. Fval: uint16(95),
  14841. },
  14842. 498: {
  14843. Fbits: uint8(8),
  14844. Fval: uint16(31),
  14845. },
  14846. 499: {
  14847. Fbits: uint8(9),
  14848. Fval: uint16(159),
  14849. },
  14850. 500: {
  14851. Fop: uint8(20),
  14852. Fbits: uint8(7),
  14853. Fval: uint16(99),
  14854. },
  14855. 501: {
  14856. Fbits: uint8(8),
  14857. Fval: uint16(127),
  14858. },
  14859. 502: {
  14860. Fbits: uint8(8),
  14861. Fval: uint16(63),
  14862. },
  14863. 503: {
  14864. Fbits: uint8(9),
  14865. Fval: uint16(223),
  14866. },
  14867. 504: {
  14868. Fop: uint8(18),
  14869. Fbits: uint8(7),
  14870. Fval: uint16(27),
  14871. },
  14872. 505: {
  14873. Fbits: uint8(8),
  14874. Fval: uint16(111),
  14875. },
  14876. 506: {
  14877. Fbits: uint8(8),
  14878. Fval: uint16(47),
  14879. },
  14880. 507: {
  14881. Fbits: uint8(9),
  14882. Fval: uint16(191),
  14883. },
  14884. 508: {
  14885. Fbits: uint8(8),
  14886. Fval: uint16(15),
  14887. },
  14888. 509: {
  14889. Fbits: uint8(8),
  14890. Fval: uint16(143),
  14891. },
  14892. 510: {
  14893. Fbits: uint8(8),
  14894. Fval: uint16(79),
  14895. },
  14896. 511: {
  14897. Fbits: uint8(9),
  14898. Fval: uint16(255),
  14899. },
  14900. }
  14901. var _distfix1 = [32]Tcode{
  14902. 0: {
  14903. Fop: uint8(16),
  14904. Fbits: uint8(5),
  14905. Fval: uint16(1),
  14906. },
  14907. 1: {
  14908. Fop: uint8(23),
  14909. Fbits: uint8(5),
  14910. Fval: uint16(257),
  14911. },
  14912. 2: {
  14913. Fop: uint8(19),
  14914. Fbits: uint8(5),
  14915. Fval: uint16(17),
  14916. },
  14917. 3: {
  14918. Fop: uint8(27),
  14919. Fbits: uint8(5),
  14920. Fval: uint16(4097),
  14921. },
  14922. 4: {
  14923. Fop: uint8(17),
  14924. Fbits: uint8(5),
  14925. Fval: uint16(5),
  14926. },
  14927. 5: {
  14928. Fop: uint8(25),
  14929. Fbits: uint8(5),
  14930. Fval: uint16(1025),
  14931. },
  14932. 6: {
  14933. Fop: uint8(21),
  14934. Fbits: uint8(5),
  14935. Fval: uint16(65),
  14936. },
  14937. 7: {
  14938. Fop: uint8(29),
  14939. Fbits: uint8(5),
  14940. Fval: uint16(16385),
  14941. },
  14942. 8: {
  14943. Fop: uint8(16),
  14944. Fbits: uint8(5),
  14945. Fval: uint16(3),
  14946. },
  14947. 9: {
  14948. Fop: uint8(24),
  14949. Fbits: uint8(5),
  14950. Fval: uint16(513),
  14951. },
  14952. 10: {
  14953. Fop: uint8(20),
  14954. Fbits: uint8(5),
  14955. Fval: uint16(33),
  14956. },
  14957. 11: {
  14958. Fop: uint8(28),
  14959. Fbits: uint8(5),
  14960. Fval: uint16(8193),
  14961. },
  14962. 12: {
  14963. Fop: uint8(18),
  14964. Fbits: uint8(5),
  14965. Fval: uint16(9),
  14966. },
  14967. 13: {
  14968. Fop: uint8(26),
  14969. Fbits: uint8(5),
  14970. Fval: uint16(2049),
  14971. },
  14972. 14: {
  14973. Fop: uint8(22),
  14974. Fbits: uint8(5),
  14975. Fval: uint16(129),
  14976. },
  14977. 15: {
  14978. Fop: uint8(64),
  14979. Fbits: uint8(5),
  14980. },
  14981. 16: {
  14982. Fop: uint8(16),
  14983. Fbits: uint8(5),
  14984. Fval: uint16(2),
  14985. },
  14986. 17: {
  14987. Fop: uint8(23),
  14988. Fbits: uint8(5),
  14989. Fval: uint16(385),
  14990. },
  14991. 18: {
  14992. Fop: uint8(19),
  14993. Fbits: uint8(5),
  14994. Fval: uint16(25),
  14995. },
  14996. 19: {
  14997. Fop: uint8(27),
  14998. Fbits: uint8(5),
  14999. Fval: uint16(6145),
  15000. },
  15001. 20: {
  15002. Fop: uint8(17),
  15003. Fbits: uint8(5),
  15004. Fval: uint16(7),
  15005. },
  15006. 21: {
  15007. Fop: uint8(25),
  15008. Fbits: uint8(5),
  15009. Fval: uint16(1537),
  15010. },
  15011. 22: {
  15012. Fop: uint8(21),
  15013. Fbits: uint8(5),
  15014. Fval: uint16(97),
  15015. },
  15016. 23: {
  15017. Fop: uint8(29),
  15018. Fbits: uint8(5),
  15019. Fval: uint16(24577),
  15020. },
  15021. 24: {
  15022. Fop: uint8(16),
  15023. Fbits: uint8(5),
  15024. Fval: uint16(4),
  15025. },
  15026. 25: {
  15027. Fop: uint8(24),
  15028. Fbits: uint8(5),
  15029. Fval: uint16(769),
  15030. },
  15031. 26: {
  15032. Fop: uint8(20),
  15033. Fbits: uint8(5),
  15034. Fval: uint16(49),
  15035. },
  15036. 27: {
  15037. Fop: uint8(28),
  15038. Fbits: uint8(5),
  15039. Fval: uint16(12289),
  15040. },
  15041. 28: {
  15042. Fop: uint8(18),
  15043. Fbits: uint8(5),
  15044. Fval: uint16(13),
  15045. },
  15046. 29: {
  15047. Fop: uint8(26),
  15048. Fbits: uint8(5),
  15049. Fval: uint16(3073),
  15050. },
  15051. 30: {
  15052. Fop: uint8(22),
  15053. Fbits: uint8(5),
  15054. Fval: uint16(193),
  15055. },
  15056. 31: {
  15057. Fop: uint8(64),
  15058. Fbits: uint8(5),
  15059. },
  15060. }
  15061. // C documentation
  15062. //
  15063. // /*
  15064. // Update the window with the last wsize (normally 32K) bytes written before
  15065. // returning. If window does not exist yet, create it. This is only called
  15066. // when a window is already in use, or when output has been written during this
  15067. // inflate call, but the end of the deflate stream has not been reached yet.
  15068. // It is also called to create a window for dictionary data when a dictionary
  15069. // is loaded.
  15070. //
  15071. // Providing output buffers larger than 32K to inflate() should provide a speed
  15072. // advantage, since only the last 32K of output is copied to the sliding window
  15073. // upon return from inflate(), and since all distances after the first 32K of
  15074. // output will fall in the output data, making match copies simpler and faster.
  15075. // The advantage may be dependent on the size of the processor's data caches.
  15076. // */
  15077. func _updatewindow(tls *libc.TLS, strm Tz_streamp, end uintptr, copy1 uint32) (r int32) {
  15078. var dist uint32
  15079. var state uintptr
  15080. _, _ = dist, state
  15081. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  15082. /* if it hasn't been done already, allocate space for the window */
  15083. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  15084. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fwbits, uint32(libc.Uint64FromInt64(1)))
  15085. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  15086. return int32(1)
  15087. }
  15088. }
  15089. /* if window not in use yet, initialize */
  15090. if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize == uint32(0) {
  15091. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  15092. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15093. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  15094. }
  15095. /* copy state->wsize or less output bytes into the circular window */
  15096. if copy1 >= (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15097. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwsize))
  15098. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15099. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  15100. } else {
  15101. dist = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  15102. if dist > copy1 {
  15103. dist = copy1
  15104. }
  15105. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), end-uintptr(copy1), uint64(dist))
  15106. copy1 -= dist
  15107. if copy1 != 0 {
  15108. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr(copy1), uint64(copy1))
  15109. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = copy1
  15110. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  15111. } else {
  15112. *(*uint32)(unsafe.Pointer(state + 68)) += dist
  15113. if (*Tinflate_state)(unsafe.Pointer(state)).Fwnext == (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15114. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15115. }
  15116. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15117. *(*uint32)(unsafe.Pointer(state + 64)) += dist
  15118. }
  15119. }
  15120. }
  15121. return 0
  15122. }
  15123. /* Macros for inflate(): */
  15124. /* check function to use adler32() for zlib or crc32() for gzip */
  15125. /* check macros for header crc */
  15126. /* Load registers with state in inflate() for speed */
  15127. /* Restore state from registers in inflate() */
  15128. /* Clear the input bit accumulator */
  15129. /* Get a byte of input into the bit accumulator, or return from inflate()
  15130. if there is no input available. */
  15131. /* Assure that there are at least n bits in the bit accumulator. If there is
  15132. not enough available input to do that, then return from inflate(). */
  15133. /* Return the low n bits of the bit accumulator (n < 16) */
  15134. /* Remove n bits from the bit accumulator */
  15135. /* Remove zero to seven bits as needed to go to a byte boundary */
  15136. /*
  15137. inflate() uses a state machine to process as much input data and generate as
  15138. much output data as possible before returning. The state machine is
  15139. structured roughly as follows:
  15140. for (;;) switch (state) {
  15141. ...
  15142. case STATEn:
  15143. if (not enough input data or output space to make progress)
  15144. return;
  15145. ... make progress ...
  15146. state = STATEm;
  15147. break;
  15148. ...
  15149. }
  15150. so when inflate() is called again, the same case is attempted again, and
  15151. if the appropriate resources are provided, the machine proceeds to the
  15152. next state. The NEEDBITS() macro is usually the way the state evaluates
  15153. whether it can proceed or should return. NEEDBITS() does the return if
  15154. the requested bits are not available. The typical use of the BITS macros
  15155. is:
  15156. NEEDBITS(n);
  15157. ... do something with BITS(n) ...
  15158. DROPBITS(n);
  15159. where NEEDBITS(n) either returns from inflate() if there isn't enough
  15160. input left to load n bits into the accumulator, or it continues. BITS(n)
  15161. gives the low n bits in the accumulator. When done, DROPBITS(n) drops
  15162. the low n bits off the accumulator. INITBITS() clears the accumulator
  15163. and sets the number of available bits to zero. BYTEBITS() discards just
  15164. enough bits to put the accumulator on a byte boundary. After BYTEBITS()
  15165. and a NEEDBITS(8), then BITS(8) would return the next byte in the stream.
  15166. NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return
  15167. if there is no input available. The decoding of variable length codes uses
  15168. PULLBYTE() directly in order to pull just enough bytes to decode the next
  15169. code, and no more.
  15170. Some states loop until they get enough input, making sure that enough
  15171. state information is maintained to continue the loop where it left off
  15172. if NEEDBITS() returns in the loop. For example, want, need, and keep
  15173. would all have to actually be part of the saved state in case NEEDBITS()
  15174. returns:
  15175. case STATEw:
  15176. while (want < need) {
  15177. NEEDBITS(n);
  15178. keep[want++] = BITS(n);
  15179. DROPBITS(n);
  15180. }
  15181. state = STATEx;
  15182. case STATEx:
  15183. As shown above, if the next state is also the next case, then the break
  15184. is omitted.
  15185. A state may also return if there is not enough output space available to
  15186. complete that state. Those states are copying stored data, writing a
  15187. literal byte, and copying a matching string.
  15188. When returning, a "goto inf_leave" is used to update the total counters,
  15189. update the check value, and determine whether any progress has been made
  15190. during that inflate() call in order to return the proper return code.
  15191. Progress is defined as a change in either strm->avail_in or strm->avail_out.
  15192. When there is a window, goto inf_leave will update the window with the last
  15193. output written. If a goto inf_leave occurs in the middle of decompression
  15194. and there is no window currently, goto inf_leave will create one and copy
  15195. output to the window for the next call of inflate().
  15196. In this implementation, the flush parameter of inflate() only affects the
  15197. return code (per zlib.h). inflate() always writes as much as possible to
  15198. strm->next_out, given the space available and the provided input--the effect
  15199. documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers
  15200. the allocation of and copying into a sliding window until necessary, which
  15201. provides the effect documented in zlib.h for Z_FINISH when the entire input
  15202. stream available. So the only thing the flush parameter actually does is:
  15203. when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it
  15204. will return Z_BUF_ERROR if it has not reached the end of the stream.
  15205. */
  15206. func Xinflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  15207. bp := tls.Alloc(16)
  15208. defer tls.Free(16)
  15209. var bits, copy1, have, in, left, len1, out, v46, v48, v49, v50, v52, v53, v64, v66, v70, v75, v76, v90 uint32
  15210. var from, next, put, state, v100, v36, v42, v43, v44, v45, v51, v54, v55, v57, v60, v61, v62, v63, v65, v67, v69, v71, v72, v73, v74, v77, v79, v81, v82, v85, v87, v88, v92, v93, v94, v95, p83, p89 uintptr
  15211. var here, last Tcode
  15212. var hold, v101, v102, v37, v56, v58, v59, v96, v97, v98 uint64
  15213. var ret, v103, v104, v105, v38 int32
  15214. var v47, v99 bool
  15215. var _ /* hbuf at bp+0 */ [4]uint8
  15216. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bits, copy1, from, have, here, hold, in, last, left, len1, next, out, put, ret, state, v100, v101, v102, v103, v104, v105, v36, v37, v38, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v69, v70, v71, v72, v73, v74, v75, v76, v77, v79, v81, v82, v85, v87, v88, v90, v92, v93, v94, v95, v96, v97, v98, v99, p83, p89 /* buffer for gzip header crc calculation */
  15217. if _inflateStateCheck(tls, strm) != 0 || (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(m_Z_NULL) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
  15218. return -int32(2)
  15219. }
  15220. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  15221. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  15222. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  15223. } /* skip check */
  15224. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  15225. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  15226. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  15227. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  15228. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  15229. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  15230. in = have
  15231. out = left
  15232. ret = m_Z_OK
  15233. for {
  15234. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  15235. case int32(_HEAD):
  15236. goto _2
  15237. case int32(_FLAGS):
  15238. goto _3
  15239. case int32(_TIME):
  15240. goto _4
  15241. case int32(_OS):
  15242. goto _5
  15243. case int32(_EXLEN):
  15244. goto _6
  15245. case int32(_EXTRA):
  15246. goto _7
  15247. case int32(_NAME):
  15248. goto _8
  15249. case int32(_COMMENT):
  15250. goto _9
  15251. case int32(_HCRC):
  15252. goto _10
  15253. case int32(_DICTID):
  15254. goto _11
  15255. case int32(_DICT):
  15256. goto _12
  15257. case int32(_TYPE):
  15258. goto _13
  15259. case int32(_TYPEDO):
  15260. goto _14
  15261. case int32(_STORED):
  15262. goto _15
  15263. case int32(_COPY_):
  15264. goto _16
  15265. case int32(_COPY):
  15266. goto _17
  15267. case int32(_TABLE):
  15268. goto _18
  15269. case int32(_LENLENS):
  15270. goto _19
  15271. case int32(_CODELENS):
  15272. goto _20
  15273. case int32(_LEN_):
  15274. goto _21
  15275. case int32(_LEN):
  15276. goto _22
  15277. case int32(_LENEXT):
  15278. goto _23
  15279. case int32(_DIST):
  15280. goto _24
  15281. case int32(_DISTEXT):
  15282. goto _25
  15283. case int32(_MATCH):
  15284. goto _26
  15285. case int32(_LIT):
  15286. goto _27
  15287. case int32(_CHECK):
  15288. goto _28
  15289. case int32(_LENGTH):
  15290. goto _29
  15291. case int32(_DONE):
  15292. goto _30
  15293. case int32(_BAD):
  15294. goto _31
  15295. case int32(_MEM):
  15296. goto _32
  15297. default:
  15298. goto _33
  15299. case int32(_SYNC):
  15300. goto _34
  15301. }
  15302. goto _35
  15303. _2:
  15304. ;
  15305. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap == 0 {
  15306. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  15307. goto _35
  15308. }
  15309. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15310. if have == uint32(0) {
  15311. goto inf_leave
  15312. }
  15313. have--
  15314. v36 = next
  15315. next++
  15316. hold += uint64(*(*uint8)(unsafe.Pointer(v36))) << bits
  15317. bits += uint32(8)
  15318. }
  15319. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) != 0 && hold == uint64(0x8b1f) { /* gzip header */
  15320. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  15321. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = uint32(15)
  15322. }
  15323. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15324. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15325. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15326. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15327. hold = uint64(0)
  15328. bits = uint32(0)
  15329. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_FLAGS)
  15330. goto _35
  15331. }
  15332. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15333. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = -int32(1)
  15334. }
  15335. if !((*Tinflate_state)(unsafe.Pointer(state)).Fwrap&libc.Int32FromInt32(1) != 0) || (uint64(uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(8)-libc.Uint32FromInt32(1))<<libc.Int32FromInt32(8))+hold>>int32(8))%uint64(31) != 0 {
  15336. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 308
  15337. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15338. goto _35
  15339. }
  15340. if uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) != uint32(m_Z_DEFLATED) {
  15341. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  15342. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15343. goto _35
  15344. }
  15345. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  15346. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  15347. len1 = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(8)
  15348. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  15349. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = len1
  15350. }
  15351. if len1 > uint32(15) || len1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwbits {
  15352. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 358
  15353. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15354. goto _35
  15355. }
  15356. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(1) << len1
  15357. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = 0 /* indicate zlib header */
  15358. v37 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15359. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v37
  15360. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v37
  15361. if hold&uint64(0x200) != 0 {
  15362. v38 = int32(_DICTID)
  15363. } else {
  15364. v38 = int32(_TYPE)
  15365. }
  15366. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = v38
  15367. hold = uint64(0)
  15368. bits = uint32(0)
  15369. goto _35
  15370. _3:
  15371. ;
  15372. _41:
  15373. ;
  15374. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15375. if have == uint32(0) {
  15376. goto inf_leave
  15377. }
  15378. have--
  15379. v42 = next
  15380. next++
  15381. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  15382. bits += uint32(8)
  15383. }
  15384. goto _40
  15385. _40:
  15386. ;
  15387. if 0 != 0 {
  15388. goto _41
  15389. }
  15390. goto _39
  15391. _39:
  15392. ;
  15393. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = libc.Int32FromUint64(hold)
  15394. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xff) != int32(m_Z_DEFLATED) {
  15395. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  15396. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15397. goto _35
  15398. }
  15399. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xe000) != 0 {
  15400. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 378
  15401. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15402. goto _35
  15403. }
  15404. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15405. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftext = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(1))
  15406. }
  15407. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15408. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15409. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15410. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15411. }
  15412. hold = uint64(0)
  15413. bits = uint32(0)
  15414. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TIME)
  15415. /* fallthrough */
  15416. _4:
  15417. ;
  15418. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15419. if have == uint32(0) {
  15420. goto inf_leave
  15421. }
  15422. have--
  15423. v43 = next
  15424. next++
  15425. hold += uint64(*(*uint8)(unsafe.Pointer(v43))) << bits
  15426. bits += uint32(8)
  15427. }
  15428. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15429. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftime = hold
  15430. }
  15431. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15432. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15433. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15434. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(2)] = uint8(hold >> libc.Int32FromInt32(16))
  15435. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(3)] = uint8(hold >> libc.Int32FromInt32(24))
  15436. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(4))
  15437. }
  15438. hold = uint64(0)
  15439. bits = uint32(0)
  15440. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_OS)
  15441. /* fallthrough */
  15442. _5:
  15443. ;
  15444. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15445. if have == uint32(0) {
  15446. goto inf_leave
  15447. }
  15448. have--
  15449. v44 = next
  15450. next++
  15451. hold += uint64(*(*uint8)(unsafe.Pointer(v44))) << bits
  15452. bits += uint32(8)
  15453. }
  15454. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15455. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fxflags = libc.Int32FromUint64(hold & libc.Uint64FromInt32(0xff))
  15456. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fos = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8))
  15457. }
  15458. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15459. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15460. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15461. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15462. }
  15463. hold = uint64(0)
  15464. bits = uint32(0)
  15465. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXLEN)
  15466. /* fallthrough */
  15467. _6:
  15468. ;
  15469. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  15470. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15471. if have == uint32(0) {
  15472. goto inf_leave
  15473. }
  15474. have--
  15475. v45 = next
  15476. next++
  15477. hold += uint64(*(*uint8)(unsafe.Pointer(v45))) << bits
  15478. bits += uint32(8)
  15479. }
  15480. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold)
  15481. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15482. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len = uint32(hold)
  15483. }
  15484. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15485. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15486. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15487. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15488. }
  15489. hold = uint64(0)
  15490. bits = uint32(0)
  15491. } else {
  15492. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15493. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra = uintptr(m_Z_NULL)
  15494. }
  15495. }
  15496. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXTRA)
  15497. /* fallthrough */
  15498. _7:
  15499. ;
  15500. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  15501. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15502. if copy1 > have {
  15503. copy1 = have
  15504. }
  15505. if copy1 != 0 {
  15506. if v47 = (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra != uintptr(m_Z_NULL); v47 {
  15507. v46 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15508. len1 = v46
  15509. }
  15510. if v47 && v46 < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  15511. if len1+copy1 > (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  15512. v48 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max - len1
  15513. } else {
  15514. v48 = copy1
  15515. }
  15516. libc.Xmemcpy(tls, (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len1), next, uint64(v48))
  15517. }
  15518. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15519. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15520. }
  15521. have -= copy1
  15522. next += uintptr(copy1)
  15523. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  15524. }
  15525. if (*Tinflate_state)(unsafe.Pointer(state)).Flength != 0 {
  15526. goto inf_leave
  15527. }
  15528. }
  15529. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  15530. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_NAME)
  15531. /* fallthrough */
  15532. _8:
  15533. ;
  15534. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0800) != 0 {
  15535. if have == uint32(0) {
  15536. goto inf_leave
  15537. }
  15538. copy1 = uint32(0)
  15539. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  15540. v49 = copy1
  15541. copy1++
  15542. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v49))))
  15543. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Flength < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname_max {
  15544. v51 = state + 92
  15545. v50 = *(*uint32)(unsafe.Pointer(v51))
  15546. *(*uint32)(unsafe.Pointer(v51))++
  15547. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname + uintptr(v50))) = uint8(len1)
  15548. }
  15549. }
  15550. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15551. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15552. }
  15553. have -= copy1
  15554. next += uintptr(copy1)
  15555. if len1 != 0 {
  15556. goto inf_leave
  15557. }
  15558. } else {
  15559. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15560. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname = uintptr(m_Z_NULL)
  15561. }
  15562. }
  15563. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  15564. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COMMENT)
  15565. /* fallthrough */
  15566. _9:
  15567. ;
  15568. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x1000) != 0 {
  15569. if have == uint32(0) {
  15570. goto inf_leave
  15571. }
  15572. copy1 = uint32(0)
  15573. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  15574. v52 = copy1
  15575. copy1++
  15576. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v52))))
  15577. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Flength < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomm_max {
  15578. v54 = state + 92
  15579. v53 = *(*uint32)(unsafe.Pointer(v54))
  15580. *(*uint32)(unsafe.Pointer(v54))++
  15581. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment + uintptr(v53))) = uint8(len1)
  15582. }
  15583. }
  15584. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15585. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15586. }
  15587. have -= copy1
  15588. next += uintptr(copy1)
  15589. if len1 != 0 {
  15590. goto inf_leave
  15591. }
  15592. } else {
  15593. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15594. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment = uintptr(m_Z_NULL)
  15595. }
  15596. }
  15597. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HCRC)
  15598. /* fallthrough */
  15599. _10:
  15600. ;
  15601. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 {
  15602. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15603. if have == uint32(0) {
  15604. goto inf_leave
  15605. }
  15606. have--
  15607. v55 = next
  15608. next++
  15609. hold += uint64(*(*uint8)(unsafe.Pointer(v55))) << bits
  15610. bits += uint32(8)
  15611. }
  15612. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck&uint64(0xffff) {
  15613. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 403
  15614. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15615. goto _35
  15616. }
  15617. hold = uint64(0)
  15618. bits = uint32(0)
  15619. }
  15620. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15621. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fhcrc = (*Tinflate_state)(unsafe.Pointer(state)).Fflags >> libc.Int32FromInt32(9) & libc.Int32FromInt32(1)
  15622. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = int32(1)
  15623. }
  15624. v56 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15625. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v56
  15626. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v56
  15627. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15628. goto _35
  15629. _11:
  15630. ;
  15631. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15632. if have == uint32(0) {
  15633. goto inf_leave
  15634. }
  15635. have--
  15636. v57 = next
  15637. next++
  15638. hold += uint64(*(*uint8)(unsafe.Pointer(v57))) << bits
  15639. bits += uint32(8)
  15640. }
  15641. v58 = hold>>libc.Int32FromInt32(24)&libc.Uint64FromInt32(0xff) + hold>>libc.Int32FromInt32(8)&libc.Uint64FromInt32(0xff00) + hold&libc.Uint64FromInt32(0xff00)<<libc.Int32FromInt32(8) + hold&libc.Uint64FromInt32(0xff)<<libc.Int32FromInt32(24)
  15642. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v58
  15643. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v58
  15644. hold = uint64(0)
  15645. bits = uint32(0)
  15646. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DICT)
  15647. /* fallthrough */
  15648. _12:
  15649. ;
  15650. if (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict == 0 {
  15651. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  15652. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  15653. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  15654. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  15655. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  15656. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  15657. return int32(m_Z_NEED_DICT)
  15658. }
  15659. v59 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15660. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v59
  15661. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v59
  15662. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15663. /* fallthrough */
  15664. _13:
  15665. ;
  15666. if flush == int32(m_Z_BLOCK) || flush == int32(m_Z_TREES) {
  15667. goto inf_leave
  15668. }
  15669. /* fallthrough */
  15670. _14:
  15671. ;
  15672. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  15673. hold >>= uint64(bits & uint32(7))
  15674. bits -= bits & uint32(7)
  15675. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CHECK)
  15676. goto _35
  15677. }
  15678. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  15679. if have == uint32(0) {
  15680. goto inf_leave
  15681. }
  15682. have--
  15683. v60 = next
  15684. next++
  15685. hold += uint64(*(*uint8)(unsafe.Pointer(v60))) << bits
  15686. bits += uint32(8)
  15687. }
  15688. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  15689. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  15690. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  15691. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  15692. case uint32(0): /* stored block */
  15693. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  15694. case uint32(1): /* fixed block */
  15695. _fixedtables1(tls, state)
  15696. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_) /* decode codes */
  15697. if flush == int32(m_Z_TREES) {
  15698. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  15699. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  15700. goto inf_leave
  15701. }
  15702. case uint32(2): /* dynamic block */
  15703. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  15704. case uint32(3):
  15705. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  15706. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15707. }
  15708. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  15709. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  15710. goto _35
  15711. _15:
  15712. ;
  15713. hold >>= uint64(bits & uint32(7))
  15714. bits -= bits & uint32(7) /* go to byte boundary */
  15715. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15716. if have == uint32(0) {
  15717. goto inf_leave
  15718. }
  15719. have--
  15720. v61 = next
  15721. next++
  15722. hold += uint64(*(*uint8)(unsafe.Pointer(v61))) << bits
  15723. bits += uint32(8)
  15724. }
  15725. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  15726. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  15727. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15728. goto _35
  15729. }
  15730. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  15731. hold = uint64(0)
  15732. bits = uint32(0)
  15733. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY_)
  15734. if flush == int32(m_Z_TREES) {
  15735. goto inf_leave
  15736. }
  15737. /* fallthrough */
  15738. _16:
  15739. ;
  15740. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY)
  15741. /* fallthrough */
  15742. _17:
  15743. ;
  15744. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15745. if copy1 != 0 {
  15746. if copy1 > have {
  15747. copy1 = have
  15748. }
  15749. if copy1 > left {
  15750. copy1 = left
  15751. }
  15752. if copy1 == uint32(0) {
  15753. goto inf_leave
  15754. }
  15755. libc.Xmemcpy(tls, put, next, uint64(copy1))
  15756. have -= copy1
  15757. next += uintptr(copy1)
  15758. left -= copy1
  15759. put += uintptr(copy1)
  15760. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  15761. goto _35
  15762. }
  15763. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15764. goto _35
  15765. _18:
  15766. ;
  15767. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  15768. if have == uint32(0) {
  15769. goto inf_leave
  15770. }
  15771. have--
  15772. v62 = next
  15773. next++
  15774. hold += uint64(*(*uint8)(unsafe.Pointer(v62))) << bits
  15775. bits += uint32(8)
  15776. }
  15777. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  15778. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  15779. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  15780. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  15781. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  15782. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  15783. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  15784. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  15785. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  15786. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  15787. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  15788. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15789. goto _35
  15790. }
  15791. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  15792. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENLENS)
  15793. /* fallthrough */
  15794. _19:
  15795. ;
  15796. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  15797. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  15798. if have == uint32(0) {
  15799. goto inf_leave
  15800. }
  15801. have--
  15802. v63 = next
  15803. next++
  15804. hold += uint64(*(*uint8)(unsafe.Pointer(v63))) << bits
  15805. bits += uint32(8)
  15806. }
  15807. v65 = state + 140
  15808. v64 = *(*uint32)(unsafe.Pointer(v65))
  15809. *(*uint32)(unsafe.Pointer(v65))++
  15810. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v64])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  15811. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  15812. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  15813. }
  15814. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  15815. v67 = state + 140
  15816. v66 = *(*uint32)(unsafe.Pointer(v67))
  15817. *(*uint32)(unsafe.Pointer(v67))++
  15818. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v66])*2)) = uint16(0)
  15819. }
  15820. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  15821. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  15822. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  15823. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  15824. if ret != 0 {
  15825. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  15826. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15827. goto _35
  15828. }
  15829. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  15830. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CODELENS)
  15831. /* fallthrough */
  15832. _20:
  15833. ;
  15834. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  15835. for {
  15836. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  15837. if uint32(here.Fbits) <= bits {
  15838. break
  15839. }
  15840. if have == uint32(0) {
  15841. goto inf_leave
  15842. }
  15843. have--
  15844. v69 = next
  15845. next++
  15846. hold += uint64(*(*uint8)(unsafe.Pointer(v69))) << bits
  15847. bits += uint32(8)
  15848. goto _68
  15849. _68:
  15850. }
  15851. if libc.Int32FromUint16(here.Fval) < int32(16) {
  15852. hold >>= uint64(here.Fbits)
  15853. bits -= uint32(here.Fbits)
  15854. v71 = state + 140
  15855. v70 = *(*uint32)(unsafe.Pointer(v71))
  15856. *(*uint32)(unsafe.Pointer(v71))++
  15857. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v70)*2)) = here.Fval
  15858. } else {
  15859. if libc.Int32FromUint16(here.Fval) == int32(16) {
  15860. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  15861. if have == uint32(0) {
  15862. goto inf_leave
  15863. }
  15864. have--
  15865. v72 = next
  15866. next++
  15867. hold += uint64(*(*uint8)(unsafe.Pointer(v72))) << bits
  15868. bits += uint32(8)
  15869. }
  15870. hold >>= uint64(here.Fbits)
  15871. bits -= uint32(here.Fbits)
  15872. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  15873. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  15874. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15875. break
  15876. }
  15877. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  15878. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  15879. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  15880. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  15881. } else {
  15882. if libc.Int32FromUint16(here.Fval) == int32(17) {
  15883. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  15884. if have == uint32(0) {
  15885. goto inf_leave
  15886. }
  15887. have--
  15888. v73 = next
  15889. next++
  15890. hold += uint64(*(*uint8)(unsafe.Pointer(v73))) << bits
  15891. bits += uint32(8)
  15892. }
  15893. hold >>= uint64(here.Fbits)
  15894. bits -= uint32(here.Fbits)
  15895. len1 = uint32(0)
  15896. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  15897. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  15898. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  15899. } else {
  15900. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  15901. if have == uint32(0) {
  15902. goto inf_leave
  15903. }
  15904. have--
  15905. v74 = next
  15906. next++
  15907. hold += uint64(*(*uint8)(unsafe.Pointer(v74))) << bits
  15908. bits += uint32(8)
  15909. }
  15910. hold >>= uint64(here.Fbits)
  15911. bits -= uint32(here.Fbits)
  15912. len1 = uint32(0)
  15913. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  15914. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  15915. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  15916. }
  15917. }
  15918. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  15919. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  15920. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15921. break
  15922. }
  15923. for {
  15924. v75 = copy1
  15925. copy1--
  15926. if !(v75 != 0) {
  15927. break
  15928. }
  15929. v77 = state + 140
  15930. v76 = *(*uint32)(unsafe.Pointer(v77))
  15931. *(*uint32)(unsafe.Pointer(v77))++
  15932. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v76)*2)) = uint16(len1)
  15933. }
  15934. }
  15935. }
  15936. /* handle error breaks in while */
  15937. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  15938. goto _35
  15939. }
  15940. /* check for end-of-block code (better have one) */
  15941. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  15942. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  15943. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15944. goto _35
  15945. }
  15946. /* build code tables -- note: do not change the lenbits or distbits
  15947. values here (9 and 6) without reading the comments in inftrees.h
  15948. concerning the ENOUGH constants, which depend on those values */
  15949. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  15950. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  15951. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  15952. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  15953. if ret != 0 {
  15954. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  15955. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15956. goto _35
  15957. }
  15958. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  15959. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  15960. ret = Xinflate_table(tls, int32(_DISTS), state+152+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Tinflate_state)(unsafe.Pointer(state)).Fndist, state+144, state+124, state+792)
  15961. if ret != 0 {
  15962. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  15963. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15964. goto _35
  15965. }
  15966. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_)
  15967. if flush == int32(m_Z_TREES) {
  15968. goto inf_leave
  15969. }
  15970. /* fallthrough */
  15971. _21:
  15972. ;
  15973. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  15974. /* fallthrough */
  15975. _22:
  15976. ;
  15977. if have >= uint32(6) && left >= uint32(258) {
  15978. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  15979. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  15980. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  15981. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  15982. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  15983. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  15984. Xinflate_fast(tls, strm, out)
  15985. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  15986. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  15987. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  15988. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  15989. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  15990. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  15991. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  15992. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  15993. }
  15994. goto _35
  15995. }
  15996. (*Tinflate_state)(unsafe.Pointer(state)).Fback = 0
  15997. for {
  15998. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  15999. if uint32(here.Fbits) <= bits {
  16000. break
  16001. }
  16002. if have == uint32(0) {
  16003. goto inf_leave
  16004. }
  16005. have--
  16006. v79 = next
  16007. next++
  16008. hold += uint64(*(*uint8)(unsafe.Pointer(v79))) << bits
  16009. bits += uint32(8)
  16010. goto _78
  16011. _78:
  16012. }
  16013. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  16014. last = here
  16015. for {
  16016. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  16017. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  16018. break
  16019. }
  16020. if have == uint32(0) {
  16021. goto inf_leave
  16022. }
  16023. have--
  16024. v81 = next
  16025. next++
  16026. hold += uint64(*(*uint8)(unsafe.Pointer(v81))) << bits
  16027. bits += uint32(8)
  16028. goto _80
  16029. _80:
  16030. }
  16031. hold >>= uint64(last.Fbits)
  16032. bits -= uint32(last.Fbits)
  16033. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  16034. }
  16035. hold >>= uint64(here.Fbits)
  16036. bits -= uint32(here.Fbits)
  16037. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  16038. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  16039. if libc.Int32FromUint8(here.Fop) == 0 {
  16040. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LIT)
  16041. goto _35
  16042. }
  16043. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  16044. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  16045. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  16046. goto _35
  16047. }
  16048. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  16049. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  16050. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16051. goto _35
  16052. }
  16053. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  16054. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENEXT)
  16055. /* fallthrough */
  16056. _23:
  16057. ;
  16058. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  16059. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  16060. if have == uint32(0) {
  16061. goto inf_leave
  16062. }
  16063. have--
  16064. v82 = next
  16065. next++
  16066. hold += uint64(*(*uint8)(unsafe.Pointer(v82))) << bits
  16067. bits += uint32(8)
  16068. }
  16069. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  16070. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16071. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  16072. p83 = state + 7148
  16073. *(*int32)(unsafe.Pointer(p83)) = int32(uint32(*(*int32)(unsafe.Pointer(p83))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16074. }
  16075. (*Tinflate_state)(unsafe.Pointer(state)).Fwas = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16076. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DIST)
  16077. /* fallthrough */
  16078. _24:
  16079. ;
  16080. for {
  16081. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits-libc.Uint32FromInt32(1)))*4))
  16082. if uint32(here.Fbits) <= bits {
  16083. break
  16084. }
  16085. if have == uint32(0) {
  16086. goto inf_leave
  16087. }
  16088. have--
  16089. v85 = next
  16090. next++
  16091. hold += uint64(*(*uint8)(unsafe.Pointer(v85))) << bits
  16092. bits += uint32(8)
  16093. goto _84
  16094. _84:
  16095. }
  16096. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  16097. last = here
  16098. for {
  16099. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  16100. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  16101. break
  16102. }
  16103. if have == uint32(0) {
  16104. goto inf_leave
  16105. }
  16106. have--
  16107. v87 = next
  16108. next++
  16109. hold += uint64(*(*uint8)(unsafe.Pointer(v87))) << bits
  16110. bits += uint32(8)
  16111. goto _86
  16112. _86:
  16113. }
  16114. hold >>= uint64(last.Fbits)
  16115. bits -= uint32(last.Fbits)
  16116. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  16117. }
  16118. hold >>= uint64(here.Fbits)
  16119. bits -= uint32(here.Fbits)
  16120. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  16121. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  16122. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  16123. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16124. goto _35
  16125. }
  16126. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  16127. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  16128. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DISTEXT)
  16129. /* fallthrough */
  16130. _25:
  16131. ;
  16132. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  16133. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  16134. if have == uint32(0) {
  16135. goto inf_leave
  16136. }
  16137. have--
  16138. v88 = next
  16139. next++
  16140. hold += uint64(*(*uint8)(unsafe.Pointer(v88))) << bits
  16141. bits += uint32(8)
  16142. }
  16143. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  16144. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16145. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  16146. p89 = state + 7148
  16147. *(*int32)(unsafe.Pointer(p89)) = int32(uint32(*(*int32)(unsafe.Pointer(p89))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16148. }
  16149. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MATCH)
  16150. /* fallthrough */
  16151. _26:
  16152. ;
  16153. if left == uint32(0) {
  16154. goto inf_leave
  16155. }
  16156. copy1 = out - left
  16157. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > copy1 { /* copy from window */
  16158. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Foffset - copy1
  16159. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwhave {
  16160. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  16161. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  16162. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16163. goto _35
  16164. }
  16165. }
  16166. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwnext {
  16167. copy1 -= (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  16168. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize-copy1)
  16169. } else {
  16170. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext-copy1)
  16171. }
  16172. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  16173. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16174. }
  16175. } else { /* copy from output */
  16176. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  16177. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16178. }
  16179. if copy1 > left {
  16180. copy1 = left
  16181. }
  16182. left -= copy1
  16183. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  16184. for {
  16185. v92 = put
  16186. put++
  16187. v93 = from
  16188. from++
  16189. *(*uint8)(unsafe.Pointer(v92)) = *(*uint8)(unsafe.Pointer(v93))
  16190. goto _91
  16191. _91:
  16192. ;
  16193. copy1--
  16194. v90 = copy1
  16195. if !(v90 != 0) {
  16196. break
  16197. }
  16198. }
  16199. if (*Tinflate_state)(unsafe.Pointer(state)).Flength == uint32(0) {
  16200. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  16201. }
  16202. goto _35
  16203. _27:
  16204. ;
  16205. if left == uint32(0) {
  16206. goto inf_leave
  16207. }
  16208. v94 = put
  16209. put++
  16210. *(*uint8)(unsafe.Pointer(v94)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  16211. left--
  16212. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  16213. goto _35
  16214. _28:
  16215. ;
  16216. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  16217. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  16218. if have == uint32(0) {
  16219. goto inf_leave
  16220. }
  16221. have--
  16222. v95 = next
  16223. next++
  16224. hold += uint64(*(*uint8)(unsafe.Pointer(v95))) << bits
  16225. bits += uint32(8)
  16226. }
  16227. out -= left
  16228. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  16229. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  16230. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  16231. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16232. v97 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  16233. } else {
  16234. v97 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  16235. }
  16236. v96 = v97
  16237. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v96
  16238. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v96
  16239. }
  16240. out = left
  16241. if v99 = (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0; v99 {
  16242. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16243. v98 = hold
  16244. } else {
  16245. v98 = hold>>int32(24)&uint64(0xff) + hold>>int32(8)&uint64(0xff00) + hold&uint64(0xff00)<<int32(8) + hold&uint64(0xff)<<int32(24)
  16246. }
  16247. }
  16248. if v99 && v98 != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  16249. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 423
  16250. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16251. goto _35
  16252. }
  16253. hold = uint64(0)
  16254. bits = uint32(0)
  16255. }
  16256. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENGTH)
  16257. /* fallthrough */
  16258. _29:
  16259. ;
  16260. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16261. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  16262. if have == uint32(0) {
  16263. goto inf_leave
  16264. }
  16265. have--
  16266. v100 = next
  16267. next++
  16268. hold += uint64(*(*uint8)(unsafe.Pointer(v100))) << bits
  16269. bits += uint32(8)
  16270. }
  16271. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Ftotal&uint64(0xffffffff) {
  16272. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 444
  16273. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16274. goto _35
  16275. }
  16276. hold = uint64(0)
  16277. bits = uint32(0)
  16278. }
  16279. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  16280. /* fallthrough */
  16281. _30:
  16282. ;
  16283. ret = int32(m_Z_STREAM_END)
  16284. goto inf_leave
  16285. _31:
  16286. ;
  16287. ret = -int32(3)
  16288. goto inf_leave
  16289. _32:
  16290. ;
  16291. return -int32(4)
  16292. _34:
  16293. ;
  16294. /* fallthrough */
  16295. _33:
  16296. ;
  16297. return -int32(2)
  16298. _35:
  16299. ;
  16300. goto _1
  16301. _1:
  16302. }
  16303. /*
  16304. Return from inflate(), updating the total counts and the check value.
  16305. If there was no progress during the inflate() call, return a buffer
  16306. error. Call updatewindow() to create and/or update the window state.
  16307. Note: a memory error from inflate() is non-recoverable.
  16308. */
  16309. goto inf_leave
  16310. inf_leave:
  16311. ;
  16312. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  16313. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  16314. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  16315. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  16316. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  16317. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  16318. if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize != 0 || out != (*Tz_stream)(unsafe.Pointer(strm)).Favail_out && (*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_BAD) && ((*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_CHECK) || flush != int32(m_Z_FINISH)) {
  16319. if _updatewindow(tls, strm, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, out-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out) != 0 {
  16320. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  16321. return -int32(4)
  16322. }
  16323. }
  16324. in -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  16325. out -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  16326. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(in)
  16327. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  16328. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  16329. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  16330. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16331. v102 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  16332. } else {
  16333. v102 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  16334. }
  16335. v101 = v102
  16336. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v101
  16337. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v101
  16338. }
  16339. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  16340. v103 = int32(64)
  16341. } else {
  16342. v103 = 0
  16343. }
  16344. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  16345. v104 = int32(128)
  16346. } else {
  16347. v104 = 0
  16348. }
  16349. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_LEN_) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY_) {
  16350. v105 = int32(256)
  16351. } else {
  16352. v105 = 0
  16353. }
  16354. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = libc.Int32FromUint32((*Tinflate_state)(unsafe.Pointer(state)).Fbits) + v103 + v104 + v105
  16355. if (in == uint32(0) && out == uint32(0) || flush == int32(m_Z_FINISH)) && ret == m_Z_OK {
  16356. ret = -int32(5)
  16357. }
  16358. return ret
  16359. }
  16360. var _order1 = [19]uint16{
  16361. 0: uint16(16),
  16362. 1: uint16(17),
  16363. 2: uint16(18),
  16364. 4: uint16(8),
  16365. 5: uint16(7),
  16366. 6: uint16(9),
  16367. 7: uint16(6),
  16368. 8: uint16(10),
  16369. 9: uint16(5),
  16370. 10: uint16(11),
  16371. 11: uint16(4),
  16372. 12: uint16(12),
  16373. 13: uint16(3),
  16374. 14: uint16(13),
  16375. 15: uint16(2),
  16376. 16: uint16(14),
  16377. 17: uint16(1),
  16378. 18: uint16(15),
  16379. }
  16380. func XinflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16381. var state uintptr
  16382. _ = state
  16383. if _inflateStateCheck(tls, strm) != 0 {
  16384. return -int32(2)
  16385. }
  16386. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16387. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  16388. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow)
  16389. }
  16390. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  16391. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  16392. return m_Z_OK
  16393. }
  16394. func XinflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  16395. var state uintptr
  16396. _ = state
  16397. /* check state */
  16398. if _inflateStateCheck(tls, strm) != 0 {
  16399. return -int32(2)
  16400. }
  16401. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16402. /* copy dictionary */
  16403. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave != 0 && dictionary != uintptr(m_Z_NULL) {
  16404. libc.Xmemcpy(tls, dictionary, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwhave-(*Tinflate_state)(unsafe.Pointer(state)).Fwnext))
  16405. libc.Xmemcpy(tls, dictionary+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwhave)-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwnext))
  16406. }
  16407. if dictLength != uintptr(m_Z_NULL) {
  16408. *(*TuInt)(unsafe.Pointer(dictLength)) = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  16409. }
  16410. return m_Z_OK
  16411. }
  16412. func XinflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  16413. var dictid uint64
  16414. var ret int32
  16415. var state uintptr
  16416. _, _, _ = dictid, ret, state
  16417. /* check state */
  16418. if _inflateStateCheck(tls, strm) != 0 {
  16419. return -int32(2)
  16420. }
  16421. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16422. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_DICT) {
  16423. return -int32(2)
  16424. }
  16425. /* check for correct dictionary identifier */
  16426. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_DICT) {
  16427. dictid = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  16428. dictid = Xadler32(tls, dictid, dictionary, dictLength)
  16429. if dictid != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  16430. return -int32(3)
  16431. }
  16432. }
  16433. /* copy dictionary to window using updatewindow(), which will amend the
  16434. existing dictionary if appropriate */
  16435. ret = _updatewindow(tls, strm, dictionary+uintptr(dictLength), dictLength)
  16436. if ret != 0 {
  16437. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  16438. return -int32(4)
  16439. }
  16440. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = int32(1)
  16441. return m_Z_OK
  16442. }
  16443. func XinflateGetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  16444. var state uintptr
  16445. _ = state
  16446. /* check state */
  16447. if _inflateStateCheck(tls, strm) != 0 {
  16448. return -int32(2)
  16449. }
  16450. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16451. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) == 0 {
  16452. return -int32(2)
  16453. }
  16454. /* save header structure */
  16455. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = head
  16456. (*Tgz_header)(unsafe.Pointer(head)).Fdone = 0
  16457. return m_Z_OK
  16458. }
  16459. // C documentation
  16460. //
  16461. // /*
  16462. // Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found
  16463. // or when out of input. When called, *have is the number of pattern bytes
  16464. // found in order so far, in 0..3. On return *have is updated to the new
  16465. // state. If on return *have equals four, then the pattern was found and the
  16466. // return value is how many bytes were read including the last byte of the
  16467. // pattern. If *have is less than four, then the pattern has not been found
  16468. // yet and the return value is len. In the latter case, syncsearch() can be
  16469. // called again with more data and the *have state. *have is initialized to
  16470. // zero for the first call.
  16471. // */
  16472. func _syncsearch(tls *libc.TLS, have uintptr, buf uintptr, len1 uint32) (r uint32) {
  16473. var got, next uint32
  16474. var v1 int32
  16475. _, _, _ = got, next, v1
  16476. got = *(*uint32)(unsafe.Pointer(have))
  16477. next = uint32(0)
  16478. for next < len1 && got < uint32(4) {
  16479. if got < uint32(2) {
  16480. v1 = 0
  16481. } else {
  16482. v1 = int32(0xff)
  16483. }
  16484. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(buf + uintptr(next)))) == v1 {
  16485. got++
  16486. } else {
  16487. if *(*uint8)(unsafe.Pointer(buf + uintptr(next))) != 0 {
  16488. got = uint32(0)
  16489. } else {
  16490. got = uint32(4) - got
  16491. }
  16492. }
  16493. next++
  16494. }
  16495. *(*uint32)(unsafe.Pointer(have)) = got
  16496. return next
  16497. }
  16498. func XinflateSync(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16499. bp := tls.Alloc(16)
  16500. defer tls.Free(16)
  16501. var flags int32
  16502. var in, out uint64
  16503. var len1, v1 uint32
  16504. var state uintptr
  16505. var _ /* buf at bp+0 */ [4]uint8
  16506. _, _, _, _, _, _ = flags, in, len1, out, state, v1
  16507. /* check parameters */
  16508. if _inflateStateCheck(tls, strm) != 0 {
  16509. return -int32(2)
  16510. }
  16511. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16512. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits < uint32(8) {
  16513. return -int32(5)
  16514. }
  16515. /* if first time, start search in bit buffer */
  16516. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_SYNC) {
  16517. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_SYNC)
  16518. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7))
  16519. *(*uint32)(unsafe.Pointer(state + 88)) -= (*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7)
  16520. len1 = uint32(0)
  16521. for (*Tinflate_state)(unsafe.Pointer(state)).Fbits >= uint32(8) {
  16522. v1 = len1
  16523. len1++
  16524. (*(*[4]uint8)(unsafe.Pointer(bp)))[v1] = uint8((*Tinflate_state)(unsafe.Pointer(state)).Fhold)
  16525. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64(8)
  16526. *(*uint32)(unsafe.Pointer(state + 88)) -= uint32(8)
  16527. }
  16528. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  16529. _syncsearch(tls, state+140, bp, len1)
  16530. }
  16531. /* search available input */
  16532. len1 = _syncsearch(tls, state+140, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, (*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
  16533. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  16534. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  16535. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  16536. /* return no joy or set up to restart inflate() on a new block */
  16537. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave != uint32(4) {
  16538. return -int32(3)
  16539. }
  16540. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags == -int32(1) {
  16541. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = 0
  16542. } else {
  16543. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  16544. } /* no point in computing a check value now */
  16545. flags = (*Tinflate_state)(unsafe.Pointer(state)).Fflags
  16546. in = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in
  16547. out = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out
  16548. XinflateReset(tls, strm)
  16549. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = in
  16550. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = out
  16551. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = flags
  16552. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  16553. return m_Z_OK
  16554. }
  16555. // C documentation
  16556. //
  16557. // /*
  16558. // Returns true if inflate is currently at the end of a block generated by
  16559. // Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
  16560. // implementation to provide an additional safety check. PPP uses
  16561. // Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored
  16562. // block. When decompressing, PPP checks that at the end of input packet,
  16563. // inflate is waiting for these length bytes.
  16564. // */
  16565. func XinflateSyncPoint(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16566. var state uintptr
  16567. _ = state
  16568. if _inflateStateCheck(tls, strm) != 0 {
  16569. return -int32(2)
  16570. }
  16571. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16572. return libc.BoolInt32((*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_STORED) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits == uint32(0))
  16573. }
  16574. func XinflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  16575. var copy1, state, window uintptr
  16576. var wsize uint32
  16577. _, _, _, _ = copy1, state, window, wsize
  16578. /* check input */
  16579. if _inflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  16580. return -int32(2)
  16581. }
  16582. state = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  16583. /* allocate space */
  16584. copy1 = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  16585. if copy1 == uintptr(m_Z_NULL) {
  16586. return -int32(4)
  16587. }
  16588. window = uintptr(m_Z_NULL)
  16589. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  16590. window = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fwbits, uint32(libc.Uint64FromInt64(1)))
  16591. if window == uintptr(m_Z_NULL) {
  16592. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, copy1)
  16593. return -int32(4)
  16594. }
  16595. }
  16596. /* copy state */
  16597. libc.Xmemcpy(tls, dest, source, uint64(112))
  16598. libc.Xmemcpy(tls, copy1, state, uint64(7160))
  16599. (*Tinflate_state)(unsafe.Pointer(copy1)).Fstrm = dest
  16600. if (*Tinflate_state)(unsafe.Pointer(state)).Flencode >= state+1368 && (*Tinflate_state)(unsafe.Pointer(state)).Flencode <= state+1368+uintptr(libc.Int32FromInt32(m_ENOUGH_LENS)+libc.Int32FromInt32(m_ENOUGH_DISTS))*4-uintptr(1)*4 {
  16601. (*Tinflate_state)(unsafe.Pointer(copy1)).Flencode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Flencode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16602. (*Tinflate_state)(unsafe.Pointer(copy1)).Fdistcode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16603. }
  16604. (*Tinflate_state)(unsafe.Pointer(copy1)).Fnext = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16605. if window != uintptr(m_Z_NULL) {
  16606. wsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  16607. libc.Xmemcpy(tls, window, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64(wsize))
  16608. }
  16609. (*Tinflate_state)(unsafe.Pointer(copy1)).Fwindow = window
  16610. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = copy1
  16611. return m_Z_OK
  16612. }
  16613. func XinflateUndermine(tls *libc.TLS, strm Tz_streamp, subvert int32) (r int32) {
  16614. var state uintptr
  16615. _ = state
  16616. if _inflateStateCheck(tls, strm) != 0 {
  16617. return -int32(2)
  16618. }
  16619. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16620. _ = subvert
  16621. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  16622. return -int32(3)
  16623. }
  16624. func XinflateValidate(tls *libc.TLS, strm Tz_streamp, check int32) (r int32) {
  16625. var state uintptr
  16626. _ = state
  16627. if _inflateStateCheck(tls, strm) != 0 {
  16628. return -int32(2)
  16629. }
  16630. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16631. if check != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  16632. *(*int32)(unsafe.Pointer(state + 16)) |= int32(4)
  16633. } else {
  16634. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  16635. }
  16636. return m_Z_OK
  16637. }
  16638. func XinflateMark(tls *libc.TLS, strm Tz_streamp) (r int64) {
  16639. var state uintptr
  16640. var v1, v2 uint32
  16641. _, _, _ = state, v1, v2
  16642. if _inflateStateCheck(tls, strm) != 0 {
  16643. return -(libc.Int64FromInt64(1) << libc.Int32FromInt32(16))
  16644. }
  16645. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16646. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY) {
  16647. v1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16648. } else {
  16649. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_MATCH) {
  16650. v2 = (*Tinflate_state)(unsafe.Pointer(state)).Fwas - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16651. } else {
  16652. v2 = uint32(0)
  16653. }
  16654. v1 = v2
  16655. }
  16656. return libc.Int64FromUint64(libc.Uint64FromInt64(int64((*Tinflate_state)(unsafe.Pointer(state)).Fback))<<libc.Int32FromInt32(16)) + libc.Int64FromUint32(v1)
  16657. }
  16658. func XinflateCodesUsed(tls *libc.TLS, strm Tz_streamp) (r uint64) {
  16659. var state uintptr
  16660. _ = state
  16661. if _inflateStateCheck(tls, strm) != 0 {
  16662. return libc.Uint64FromInt32(-libc.Int32FromInt32(1))
  16663. }
  16664. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16665. return libc.Uint64FromInt64((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext) - t__predefined_ptrdiff_t(state+1368)) / 4)
  16666. }
  16667. const m_MAXBITS = 15
  16668. /*
  16669. If you use the zlib library in a product, an acknowledgment is welcome
  16670. in the documentation of your product. If for some reason you cannot
  16671. include such an acknowledgment, I would appreciate that you keep this
  16672. copyright string in the executable of your product.
  16673. */
  16674. // C documentation
  16675. //
  16676. // /*
  16677. // Build a set of tables to decode the provided canonical Huffman code.
  16678. // The code lengths are lens[0..codes-1]. The result starts at *table,
  16679. // whose indices are 0..2^bits-1. work is a writable array of at least
  16680. // lens shorts, which is used as a work area. type is the type of code
  16681. // to be generated, CODES, LENS, or DISTS. On return, zero is success,
  16682. // -1 is an invalid code, and +1 means that ENOUGH isn't enough. table
  16683. // on return points to the next available entry's address. bits is the
  16684. // requested root table index bits, and on return it is the actual root
  16685. // table index bits. It will differ if the request is greater than the
  16686. // longest code or if it is less than the shortest code.
  16687. // */
  16688. func Xinflate_table(tls *libc.TLS, type1 Tcodetype, lens uintptr, codes uint32, table uintptr, bits uintptr, work uintptr) (r int32) {
  16689. bp := tls.Alloc(64)
  16690. defer tls.Free(64)
  16691. var base, extra, next, v13, v14, v17, v4, v5, v6, v7 uintptr
  16692. var curr, drop, fill, huff, incr, len1, low, mask, match, max, min, root, sym, used uint32
  16693. var here Tcode
  16694. var left int32
  16695. var v12, v16 uint16
  16696. var _ /* count at bp+0 */ [16]uint16
  16697. var _ /* offs at bp+32 */ [16]uint16
  16698. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, curr, drop, extra, fill, here, huff, incr, left, len1, low, mask, match, max, min, next, root, sym, used, v12, v13, v14, v16, v17, v4, v5, v6, v7 /* offsets in table for each length */
  16699. /*
  16700. Process a set of code lengths to create a canonical Huffman code. The
  16701. code lengths are lens[0..codes-1]. Each length corresponds to the
  16702. symbols 0..codes-1. The Huffman code is generated by first sorting the
  16703. symbols by length from short to long, and retaining the symbol order
  16704. for codes with equal lengths. Then the code starts with all zero bits
  16705. for the first code of the shortest length, and the codes are integer
  16706. increments for the same length, and zeros are appended as the length
  16707. increases. For the deflate format, these bits are stored backwards
  16708. from their more natural integer increment ordering, and so when the
  16709. decoding tables are built in the large loop below, the integer codes
  16710. are incremented backwards.
  16711. This routine assumes, but does not check, that all of the entries in
  16712. lens[] are in the range 0..MAXBITS. The caller must assure this.
  16713. 1..MAXBITS is interpreted as that code length. zero means that that
  16714. symbol does not occur in this code.
  16715. The codes are sorted by computing a count of codes for each length,
  16716. creating from that a table of starting indices for each length in the
  16717. sorted table, and then entering the symbols in order in the sorted
  16718. table. The sorted table is work[], with that space being provided by
  16719. the caller.
  16720. The length counts are used for other purposes as well, i.e. finding
  16721. the minimum and maximum length codes, determining if there are any
  16722. codes at all, checking for a valid set of lengths, and looking ahead
  16723. at length counts to determine sub-table sizes when building the
  16724. decoding tables.
  16725. */
  16726. /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
  16727. len1 = uint32(0)
  16728. for {
  16729. if !(len1 <= uint32(m_MAXBITS)) {
  16730. break
  16731. }
  16732. (*(*[16]uint16)(unsafe.Pointer(bp)))[len1] = uint16(0)
  16733. goto _1
  16734. _1:
  16735. ;
  16736. len1++
  16737. }
  16738. sym = uint32(0)
  16739. for {
  16740. if !(sym < codes) {
  16741. break
  16742. }
  16743. (*(*[16]uint16)(unsafe.Pointer(bp)))[*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))]++
  16744. goto _2
  16745. _2:
  16746. ;
  16747. sym++
  16748. }
  16749. /* bound code lengths, force root to be within code lengths */
  16750. root = *(*uint32)(unsafe.Pointer(bits))
  16751. max = uint32(m_MAXBITS)
  16752. for {
  16753. if !(max >= uint32(1)) {
  16754. break
  16755. }
  16756. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[max]) != 0 {
  16757. break
  16758. }
  16759. goto _3
  16760. _3:
  16761. ;
  16762. max--
  16763. }
  16764. if root > max {
  16765. root = max
  16766. }
  16767. if max == uint32(0) { /* no symbols to code at all */
  16768. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  16769. here.Fbits = libc.Uint8FromInt32(1)
  16770. here.Fval = libc.Uint16FromInt32(0)
  16771. v5 = table
  16772. v4 = *(*uintptr)(unsafe.Pointer(v5))
  16773. *(*uintptr)(unsafe.Pointer(v5)) += 4
  16774. *(*Tcode)(unsafe.Pointer(v4)) = here /* make a table to force an error */
  16775. v7 = table
  16776. v6 = *(*uintptr)(unsafe.Pointer(v7))
  16777. *(*uintptr)(unsafe.Pointer(v7)) += 4
  16778. *(*Tcode)(unsafe.Pointer(v6)) = here
  16779. *(*uint32)(unsafe.Pointer(bits)) = uint32(1)
  16780. return 0 /* no symbols, but wait for decoding to report error */
  16781. }
  16782. min = uint32(1)
  16783. for {
  16784. if !(min < max) {
  16785. break
  16786. }
  16787. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[min]) != 0 {
  16788. break
  16789. }
  16790. goto _8
  16791. _8:
  16792. ;
  16793. min++
  16794. }
  16795. if root < min {
  16796. root = min
  16797. }
  16798. /* check for an over-subscribed or incomplete set of lengths */
  16799. left = int32(1)
  16800. len1 = uint32(1)
  16801. for {
  16802. if !(len1 <= uint32(m_MAXBITS)) {
  16803. break
  16804. }
  16805. left <<= int32(1)
  16806. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1])
  16807. if left < 0 {
  16808. return -int32(1)
  16809. } /* over-subscribed */
  16810. goto _9
  16811. _9:
  16812. ;
  16813. len1++
  16814. }
  16815. if left > 0 && (type1 == int32(_CODES) || max != uint32(1)) {
  16816. return -int32(1)
  16817. } /* incomplete set */
  16818. /* generate offsets into symbol table for each length for sorting */
  16819. (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[int32(1)] = uint16(0)
  16820. len1 = uint32(1)
  16821. for {
  16822. if !(len1 < uint32(m_MAXBITS)) {
  16823. break
  16824. }
  16825. (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[len1+uint32(1)] = libc.Uint16FromInt32(libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp + 32)))[len1]) + libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1]))
  16826. goto _10
  16827. _10:
  16828. ;
  16829. len1++
  16830. }
  16831. /* sort symbols by length, by symbol order within each length */
  16832. sym = uint32(0)
  16833. for {
  16834. if !(sym < codes) {
  16835. break
  16836. }
  16837. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))) != 0 {
  16838. v13 = bp + 32 + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2
  16839. v12 = *(*uint16)(unsafe.Pointer(v13))
  16840. *(*uint16)(unsafe.Pointer(v13))++
  16841. *(*uint16)(unsafe.Pointer(work + uintptr(v12)*2)) = uint16(sym)
  16842. }
  16843. goto _11
  16844. _11:
  16845. ;
  16846. sym++
  16847. }
  16848. /*
  16849. Create and fill in decoding tables. In this loop, the table being
  16850. filled is at next and has curr index bits. The code being used is huff
  16851. with length len. That code is converted to an index by dropping drop
  16852. bits off of the bottom. For codes where len is less than drop + curr,
  16853. those top drop + curr - len bits are incremented through all values to
  16854. fill the table with replicated entries.
  16855. root is the number of index bits for the root table. When len exceeds
  16856. root, sub-tables are created pointed to by the root entry with an index
  16857. of the low root bits of huff. This is saved in low to check for when a
  16858. new sub-table should be started. drop is zero when the root table is
  16859. being filled, and drop is root when sub-tables are being filled.
  16860. When a new sub-table is needed, it is necessary to look ahead in the
  16861. code lengths to determine what size sub-table is needed. The length
  16862. counts are used for this, and so count[] is decremented as codes are
  16863. entered in the tables.
  16864. used keeps track of how many table entries have been allocated from the
  16865. provided *table space. It is checked for LENS and DIST tables against
  16866. the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
  16867. the initial root table size constants. See the comments in inftrees.h
  16868. for more information.
  16869. sym increments through all symbols, and the loop terminates when
  16870. all codes of length max, i.e. all codes, have been processed. This
  16871. routine permits incomplete codes, so another loop after this one fills
  16872. in the rest of the decoding tables with invalid code markers.
  16873. */
  16874. /* set up for code type */
  16875. switch type1 {
  16876. case int32(_CODES):
  16877. v14 = work
  16878. extra = v14
  16879. base = v14 /* dummy value--not used */
  16880. match = uint32(20)
  16881. case int32(_LENS):
  16882. base = uintptr(unsafe.Pointer(&_lbase))
  16883. extra = uintptr(unsafe.Pointer(&_lext))
  16884. match = uint32(257)
  16885. default: /* DISTS */
  16886. base = uintptr(unsafe.Pointer(&_dbase))
  16887. extra = uintptr(unsafe.Pointer(&_dext))
  16888. match = uint32(0)
  16889. }
  16890. /* initialize state for loop */
  16891. huff = uint32(0) /* starting code */
  16892. sym = uint32(0) /* starting code symbol */
  16893. len1 = min /* starting code length */
  16894. next = *(*uintptr)(unsafe.Pointer(table)) /* current table to fill in */
  16895. curr = root /* current table index bits */
  16896. drop = uint32(0) /* current bits to drop from code for index */
  16897. low = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* trigger new sub-table when len > root */
  16898. used = uint32(1) << root /* use root table entries */
  16899. mask = used - uint32(1) /* mask for comparing low */
  16900. /* check available table space */
  16901. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  16902. return int32(1)
  16903. }
  16904. /* process all codes and make table entries */
  16905. for {
  16906. /* create table entry */
  16907. here.Fbits = uint8(len1 - drop)
  16908. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))+uint32(1) < match {
  16909. here.Fop = libc.Uint8FromInt32(0)
  16910. here.Fval = *(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))
  16911. } else {
  16912. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))) >= match {
  16913. here.Fop = uint8(*(*uint16)(unsafe.Pointer(extra + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2)))
  16914. here.Fval = *(*uint16)(unsafe.Pointer(base + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2))
  16915. } else {
  16916. here.Fop = libc.Uint8FromInt32(libc.Int32FromInt32(32) + libc.Int32FromInt32(64)) /* end of block */
  16917. here.Fval = uint16(0)
  16918. }
  16919. }
  16920. /* replicate for those indices with low len bits equal to huff */
  16921. incr = uint32(1) << (len1 - drop)
  16922. fill = uint32(1) << curr
  16923. min = fill /* save offset to next table */
  16924. for cond := true; cond; cond = fill != uint32(0) {
  16925. fill -= incr
  16926. *(*Tcode)(unsafe.Pointer(next + uintptr(huff>>drop+fill)*4)) = here
  16927. }
  16928. /* backwards increment the len-bit code huff */
  16929. incr = uint32(1) << (len1 - uint32(1))
  16930. for huff&incr != 0 {
  16931. incr >>= uint32(1)
  16932. }
  16933. if incr != uint32(0) {
  16934. huff &= incr - uint32(1)
  16935. huff += incr
  16936. } else {
  16937. huff = uint32(0)
  16938. }
  16939. /* go to next symbol, update count, len */
  16940. sym++
  16941. v17 = bp + uintptr(len1)*2
  16942. *(*uint16)(unsafe.Pointer(v17))--
  16943. v16 = *(*uint16)(unsafe.Pointer(v17))
  16944. if libc.Int32FromUint16(v16) == 0 {
  16945. if len1 == max {
  16946. break
  16947. }
  16948. len1 = uint32(*(*uint16)(unsafe.Pointer(lens + uintptr(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))*2)))
  16949. }
  16950. /* create new sub-table if needed */
  16951. if len1 > root && huff&mask != low {
  16952. /* if first time, transition to sub-tables */
  16953. if drop == uint32(0) {
  16954. drop = root
  16955. }
  16956. /* increment past last table */
  16957. next += uintptr(min) * 4 /* here min is 1 << curr */
  16958. /* determine length of next table */
  16959. curr = len1 - drop
  16960. left = libc.Int32FromInt32(1) << curr
  16961. for curr+drop < max {
  16962. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[curr+drop])
  16963. if left <= 0 {
  16964. break
  16965. }
  16966. curr++
  16967. left <<= int32(1)
  16968. }
  16969. /* check for enough space */
  16970. used += uint32(1) << curr
  16971. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  16972. return int32(1)
  16973. }
  16974. /* point entry in root table to sub-table */
  16975. low = huff & mask
  16976. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fop = uint8(curr)
  16977. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fbits = uint8(root)
  16978. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fval = libc.Uint16FromInt64((int64(next) - int64(*(*uintptr)(unsafe.Pointer(table)))) / 4)
  16979. }
  16980. goto _15
  16981. _15:
  16982. }
  16983. /* fill in remaining table entry if code is incomplete (guaranteed to have
  16984. at most one remaining entry, since if the code is incomplete, the
  16985. maximum code length that was allowed to get this far is one bit) */
  16986. if huff != uint32(0) {
  16987. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  16988. here.Fbits = uint8(len1 - drop)
  16989. here.Fval = libc.Uint16FromInt32(0)
  16990. *(*Tcode)(unsafe.Pointer(next + uintptr(huff)*4)) = here
  16991. }
  16992. /* set return parameters */
  16993. *(*uintptr)(unsafe.Pointer(table)) += uintptr(used) * 4
  16994. *(*uint32)(unsafe.Pointer(bits)) = root
  16995. return 0
  16996. }
  16997. var _lbase = [31]uint16{
  16998. 0: uint16(3),
  16999. 1: uint16(4),
  17000. 2: uint16(5),
  17001. 3: uint16(6),
  17002. 4: uint16(7),
  17003. 5: uint16(8),
  17004. 6: uint16(9),
  17005. 7: uint16(10),
  17006. 8: uint16(11),
  17007. 9: uint16(13),
  17008. 10: uint16(15),
  17009. 11: uint16(17),
  17010. 12: uint16(19),
  17011. 13: uint16(23),
  17012. 14: uint16(27),
  17013. 15: uint16(31),
  17014. 16: uint16(35),
  17015. 17: uint16(43),
  17016. 18: uint16(51),
  17017. 19: uint16(59),
  17018. 20: uint16(67),
  17019. 21: uint16(83),
  17020. 22: uint16(99),
  17021. 23: uint16(115),
  17022. 24: uint16(131),
  17023. 25: uint16(163),
  17024. 26: uint16(195),
  17025. 27: uint16(227),
  17026. 28: uint16(258),
  17027. }
  17028. var _lext = [31]uint16{
  17029. 0: uint16(16),
  17030. 1: uint16(16),
  17031. 2: uint16(16),
  17032. 3: uint16(16),
  17033. 4: uint16(16),
  17034. 5: uint16(16),
  17035. 6: uint16(16),
  17036. 7: uint16(16),
  17037. 8: uint16(17),
  17038. 9: uint16(17),
  17039. 10: uint16(17),
  17040. 11: uint16(17),
  17041. 12: uint16(18),
  17042. 13: uint16(18),
  17043. 14: uint16(18),
  17044. 15: uint16(18),
  17045. 16: uint16(19),
  17046. 17: uint16(19),
  17047. 18: uint16(19),
  17048. 19: uint16(19),
  17049. 20: uint16(20),
  17050. 21: uint16(20),
  17051. 22: uint16(20),
  17052. 23: uint16(20),
  17053. 24: uint16(21),
  17054. 25: uint16(21),
  17055. 26: uint16(21),
  17056. 27: uint16(21),
  17057. 28: uint16(16),
  17058. 29: uint16(203),
  17059. 30: uint16(77),
  17060. }
  17061. var _dbase = [32]uint16{
  17062. 0: uint16(1),
  17063. 1: uint16(2),
  17064. 2: uint16(3),
  17065. 3: uint16(4),
  17066. 4: uint16(5),
  17067. 5: uint16(7),
  17068. 6: uint16(9),
  17069. 7: uint16(13),
  17070. 8: uint16(17),
  17071. 9: uint16(25),
  17072. 10: uint16(33),
  17073. 11: uint16(49),
  17074. 12: uint16(65),
  17075. 13: uint16(97),
  17076. 14: uint16(129),
  17077. 15: uint16(193),
  17078. 16: uint16(257),
  17079. 17: uint16(385),
  17080. 18: uint16(513),
  17081. 19: uint16(769),
  17082. 20: uint16(1025),
  17083. 21: uint16(1537),
  17084. 22: uint16(2049),
  17085. 23: uint16(3073),
  17086. 24: uint16(4097),
  17087. 25: uint16(6145),
  17088. 26: uint16(8193),
  17089. 27: uint16(12289),
  17090. 28: uint16(16385),
  17091. 29: uint16(24577),
  17092. }
  17093. var _dext = [32]uint16{
  17094. 0: uint16(16),
  17095. 1: uint16(16),
  17096. 2: uint16(16),
  17097. 3: uint16(16),
  17098. 4: uint16(17),
  17099. 5: uint16(17),
  17100. 6: uint16(18),
  17101. 7: uint16(18),
  17102. 8: uint16(19),
  17103. 9: uint16(19),
  17104. 10: uint16(20),
  17105. 11: uint16(20),
  17106. 12: uint16(21),
  17107. 13: uint16(21),
  17108. 14: uint16(22),
  17109. 15: uint16(22),
  17110. 16: uint16(23),
  17111. 17: uint16(23),
  17112. 18: uint16(24),
  17113. 19: uint16(24),
  17114. 20: uint16(25),
  17115. 21: uint16(25),
  17116. 22: uint16(26),
  17117. 23: uint16(26),
  17118. 24: uint16(27),
  17119. 25: uint16(27),
  17120. 26: uint16(28),
  17121. 27: uint16(28),
  17122. 28: uint16(29),
  17123. 29: uint16(29),
  17124. 30: uint16(64),
  17125. 31: uint16(64),
  17126. }
  17127. const m_DIST_CODE_LEN = 512
  17128. const m_END_BLOCK = 256
  17129. const m_MAX_BL_BITS = 7
  17130. const m_REPZ_11_138 = 18
  17131. const m_REPZ_3_10 = 17
  17132. const m_REP_3_6 = 16
  17133. const m_SMALLEST = 1
  17134. const m_TCONST = "const"
  17135. type Tstatic_tree_desc = struct {
  17136. Fstatic_tree uintptr
  17137. Fextra_bits uintptr
  17138. Fextra_base int32
  17139. Felems int32
  17140. Fmax_length int32
  17141. }
  17142. type Tstatic_tree_desc_s = Tstatic_tree_desc
  17143. /* ===========================================================================
  17144. * Constants
  17145. */
  17146. /* Bit length codes must not exceed MAX_BL_BITS bits */
  17147. /* end of block literal code */
  17148. /* repeat previous bit length 3-6 times (2 bits of repeat count) */
  17149. /* repeat a zero length 3-10 times (3 bits of repeat count) */
  17150. /* repeat a zero length 11-138 times (7 bits of repeat count) */
  17151. var _extra_lbits = [29]int32{
  17152. 8: int32(1),
  17153. 9: int32(1),
  17154. 10: int32(1),
  17155. 11: int32(1),
  17156. 12: int32(2),
  17157. 13: int32(2),
  17158. 14: int32(2),
  17159. 15: int32(2),
  17160. 16: int32(3),
  17161. 17: int32(3),
  17162. 18: int32(3),
  17163. 19: int32(3),
  17164. 20: int32(4),
  17165. 21: int32(4),
  17166. 22: int32(4),
  17167. 23: int32(4),
  17168. 24: int32(5),
  17169. 25: int32(5),
  17170. 26: int32(5),
  17171. 27: int32(5),
  17172. }
  17173. var _extra_dbits = [30]int32{
  17174. 4: int32(1),
  17175. 5: int32(1),
  17176. 6: int32(2),
  17177. 7: int32(2),
  17178. 8: int32(3),
  17179. 9: int32(3),
  17180. 10: int32(4),
  17181. 11: int32(4),
  17182. 12: int32(5),
  17183. 13: int32(5),
  17184. 14: int32(6),
  17185. 15: int32(6),
  17186. 16: int32(7),
  17187. 17: int32(7),
  17188. 18: int32(8),
  17189. 19: int32(8),
  17190. 20: int32(9),
  17191. 21: int32(9),
  17192. 22: int32(10),
  17193. 23: int32(10),
  17194. 24: int32(11),
  17195. 25: int32(11),
  17196. 26: int32(12),
  17197. 27: int32(12),
  17198. 28: int32(13),
  17199. 29: int32(13),
  17200. }
  17201. var _extra_blbits = [19]int32{
  17202. 16: int32(2),
  17203. 17: int32(3),
  17204. 18: int32(7),
  17205. }
  17206. var _bl_order = [19]Tuch{
  17207. 0: uint8(16),
  17208. 1: uint8(17),
  17209. 2: uint8(18),
  17210. 4: uint8(8),
  17211. 5: uint8(7),
  17212. 6: uint8(9),
  17213. 7: uint8(6),
  17214. 8: uint8(10),
  17215. 9: uint8(5),
  17216. 10: uint8(11),
  17217. 11: uint8(4),
  17218. 12: uint8(12),
  17219. 13: uint8(3),
  17220. 14: uint8(13),
  17221. 15: uint8(2),
  17222. 16: uint8(14),
  17223. 17: uint8(1),
  17224. 18: uint8(15),
  17225. }
  17226. var _static_ltree = [288]Tct_data{
  17227. 0: {
  17228. Ffc: *(*struct {
  17229. Fcode [0]Tush
  17230. Ffreq Tush
  17231. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  17232. Fdl: *(*struct {
  17233. Flen1 [0]Tush
  17234. Fdad Tush
  17235. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17236. },
  17237. 1: {
  17238. Ffc: *(*struct {
  17239. Fcode [0]Tush
  17240. Ffreq Tush
  17241. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(140)})),
  17242. Fdl: *(*struct {
  17243. Flen1 [0]Tush
  17244. Fdad Tush
  17245. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17246. },
  17247. 2: {
  17248. Ffc: *(*struct {
  17249. Fcode [0]Tush
  17250. Ffreq Tush
  17251. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(76)})),
  17252. Fdl: *(*struct {
  17253. Flen1 [0]Tush
  17254. Fdad Tush
  17255. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17256. },
  17257. 3: {
  17258. Ffc: *(*struct {
  17259. Fcode [0]Tush
  17260. Ffreq Tush
  17261. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(204)})),
  17262. Fdl: *(*struct {
  17263. Flen1 [0]Tush
  17264. Fdad Tush
  17265. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17266. },
  17267. 4: {
  17268. Ffc: *(*struct {
  17269. Fcode [0]Tush
  17270. Ffreq Tush
  17271. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(44)})),
  17272. Fdl: *(*struct {
  17273. Flen1 [0]Tush
  17274. Fdad Tush
  17275. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17276. },
  17277. 5: {
  17278. Ffc: *(*struct {
  17279. Fcode [0]Tush
  17280. Ffreq Tush
  17281. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(172)})),
  17282. Fdl: *(*struct {
  17283. Flen1 [0]Tush
  17284. Fdad Tush
  17285. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17286. },
  17287. 6: {
  17288. Ffc: *(*struct {
  17289. Fcode [0]Tush
  17290. Ffreq Tush
  17291. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(108)})),
  17292. Fdl: *(*struct {
  17293. Flen1 [0]Tush
  17294. Fdad Tush
  17295. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17296. },
  17297. 7: {
  17298. Ffc: *(*struct {
  17299. Fcode [0]Tush
  17300. Ffreq Tush
  17301. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(236)})),
  17302. Fdl: *(*struct {
  17303. Flen1 [0]Tush
  17304. Fdad Tush
  17305. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17306. },
  17307. 8: {
  17308. Ffc: *(*struct {
  17309. Fcode [0]Tush
  17310. Ffreq Tush
  17311. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  17312. Fdl: *(*struct {
  17313. Flen1 [0]Tush
  17314. Fdad Tush
  17315. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17316. },
  17317. 9: {
  17318. Ffc: *(*struct {
  17319. Fcode [0]Tush
  17320. Ffreq Tush
  17321. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(156)})),
  17322. Fdl: *(*struct {
  17323. Flen1 [0]Tush
  17324. Fdad Tush
  17325. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17326. },
  17327. 10: {
  17328. Ffc: *(*struct {
  17329. Fcode [0]Tush
  17330. Ffreq Tush
  17331. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(92)})),
  17332. Fdl: *(*struct {
  17333. Flen1 [0]Tush
  17334. Fdad Tush
  17335. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17336. },
  17337. 11: {
  17338. Ffc: *(*struct {
  17339. Fcode [0]Tush
  17340. Ffreq Tush
  17341. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(220)})),
  17342. Fdl: *(*struct {
  17343. Flen1 [0]Tush
  17344. Fdad Tush
  17345. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17346. },
  17347. 12: {
  17348. Ffc: *(*struct {
  17349. Fcode [0]Tush
  17350. Ffreq Tush
  17351. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(60)})),
  17352. Fdl: *(*struct {
  17353. Flen1 [0]Tush
  17354. Fdad Tush
  17355. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17356. },
  17357. 13: {
  17358. Ffc: *(*struct {
  17359. Fcode [0]Tush
  17360. Ffreq Tush
  17361. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(188)})),
  17362. Fdl: *(*struct {
  17363. Flen1 [0]Tush
  17364. Fdad Tush
  17365. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17366. },
  17367. 14: {
  17368. Ffc: *(*struct {
  17369. Fcode [0]Tush
  17370. Ffreq Tush
  17371. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(124)})),
  17372. Fdl: *(*struct {
  17373. Flen1 [0]Tush
  17374. Fdad Tush
  17375. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17376. },
  17377. 15: {
  17378. Ffc: *(*struct {
  17379. Fcode [0]Tush
  17380. Ffreq Tush
  17381. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(252)})),
  17382. Fdl: *(*struct {
  17383. Flen1 [0]Tush
  17384. Fdad Tush
  17385. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17386. },
  17387. 16: {
  17388. Ffc: *(*struct {
  17389. Fcode [0]Tush
  17390. Ffreq Tush
  17391. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  17392. Fdl: *(*struct {
  17393. Flen1 [0]Tush
  17394. Fdad Tush
  17395. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17396. },
  17397. 17: {
  17398. Ffc: *(*struct {
  17399. Fcode [0]Tush
  17400. Ffreq Tush
  17401. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(130)})),
  17402. Fdl: *(*struct {
  17403. Flen1 [0]Tush
  17404. Fdad Tush
  17405. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17406. },
  17407. 18: {
  17408. Ffc: *(*struct {
  17409. Fcode [0]Tush
  17410. Ffreq Tush
  17411. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(66)})),
  17412. Fdl: *(*struct {
  17413. Flen1 [0]Tush
  17414. Fdad Tush
  17415. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17416. },
  17417. 19: {
  17418. Ffc: *(*struct {
  17419. Fcode [0]Tush
  17420. Ffreq Tush
  17421. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(194)})),
  17422. Fdl: *(*struct {
  17423. Flen1 [0]Tush
  17424. Fdad Tush
  17425. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17426. },
  17427. 20: {
  17428. Ffc: *(*struct {
  17429. Fcode [0]Tush
  17430. Ffreq Tush
  17431. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(34)})),
  17432. Fdl: *(*struct {
  17433. Flen1 [0]Tush
  17434. Fdad Tush
  17435. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17436. },
  17437. 21: {
  17438. Ffc: *(*struct {
  17439. Fcode [0]Tush
  17440. Ffreq Tush
  17441. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(162)})),
  17442. Fdl: *(*struct {
  17443. Flen1 [0]Tush
  17444. Fdad Tush
  17445. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17446. },
  17447. 22: {
  17448. Ffc: *(*struct {
  17449. Fcode [0]Tush
  17450. Ffreq Tush
  17451. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(98)})),
  17452. Fdl: *(*struct {
  17453. Flen1 [0]Tush
  17454. Fdad Tush
  17455. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17456. },
  17457. 23: {
  17458. Ffc: *(*struct {
  17459. Fcode [0]Tush
  17460. Ffreq Tush
  17461. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(226)})),
  17462. Fdl: *(*struct {
  17463. Flen1 [0]Tush
  17464. Fdad Tush
  17465. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17466. },
  17467. 24: {
  17468. Ffc: *(*struct {
  17469. Fcode [0]Tush
  17470. Ffreq Tush
  17471. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  17472. Fdl: *(*struct {
  17473. Flen1 [0]Tush
  17474. Fdad Tush
  17475. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17476. },
  17477. 25: {
  17478. Ffc: *(*struct {
  17479. Fcode [0]Tush
  17480. Ffreq Tush
  17481. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(146)})),
  17482. Fdl: *(*struct {
  17483. Flen1 [0]Tush
  17484. Fdad Tush
  17485. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17486. },
  17487. 26: {
  17488. Ffc: *(*struct {
  17489. Fcode [0]Tush
  17490. Ffreq Tush
  17491. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(82)})),
  17492. Fdl: *(*struct {
  17493. Flen1 [0]Tush
  17494. Fdad Tush
  17495. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17496. },
  17497. 27: {
  17498. Ffc: *(*struct {
  17499. Fcode [0]Tush
  17500. Ffreq Tush
  17501. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(210)})),
  17502. Fdl: *(*struct {
  17503. Flen1 [0]Tush
  17504. Fdad Tush
  17505. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17506. },
  17507. 28: {
  17508. Ffc: *(*struct {
  17509. Fcode [0]Tush
  17510. Ffreq Tush
  17511. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(50)})),
  17512. Fdl: *(*struct {
  17513. Flen1 [0]Tush
  17514. Fdad Tush
  17515. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17516. },
  17517. 29: {
  17518. Ffc: *(*struct {
  17519. Fcode [0]Tush
  17520. Ffreq Tush
  17521. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(178)})),
  17522. Fdl: *(*struct {
  17523. Flen1 [0]Tush
  17524. Fdad Tush
  17525. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17526. },
  17527. 30: {
  17528. Ffc: *(*struct {
  17529. Fcode [0]Tush
  17530. Ffreq Tush
  17531. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(114)})),
  17532. Fdl: *(*struct {
  17533. Flen1 [0]Tush
  17534. Fdad Tush
  17535. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17536. },
  17537. 31: {
  17538. Ffc: *(*struct {
  17539. Fcode [0]Tush
  17540. Ffreq Tush
  17541. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(242)})),
  17542. Fdl: *(*struct {
  17543. Flen1 [0]Tush
  17544. Fdad Tush
  17545. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17546. },
  17547. 32: {
  17548. Ffc: *(*struct {
  17549. Fcode [0]Tush
  17550. Ffreq Tush
  17551. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  17552. Fdl: *(*struct {
  17553. Flen1 [0]Tush
  17554. Fdad Tush
  17555. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17556. },
  17557. 33: {
  17558. Ffc: *(*struct {
  17559. Fcode [0]Tush
  17560. Ffreq Tush
  17561. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(138)})),
  17562. Fdl: *(*struct {
  17563. Flen1 [0]Tush
  17564. Fdad Tush
  17565. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17566. },
  17567. 34: {
  17568. Ffc: *(*struct {
  17569. Fcode [0]Tush
  17570. Ffreq Tush
  17571. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(74)})),
  17572. Fdl: *(*struct {
  17573. Flen1 [0]Tush
  17574. Fdad Tush
  17575. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17576. },
  17577. 35: {
  17578. Ffc: *(*struct {
  17579. Fcode [0]Tush
  17580. Ffreq Tush
  17581. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(202)})),
  17582. Fdl: *(*struct {
  17583. Flen1 [0]Tush
  17584. Fdad Tush
  17585. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17586. },
  17587. 36: {
  17588. Ffc: *(*struct {
  17589. Fcode [0]Tush
  17590. Ffreq Tush
  17591. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(42)})),
  17592. Fdl: *(*struct {
  17593. Flen1 [0]Tush
  17594. Fdad Tush
  17595. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17596. },
  17597. 37: {
  17598. Ffc: *(*struct {
  17599. Fcode [0]Tush
  17600. Ffreq Tush
  17601. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(170)})),
  17602. Fdl: *(*struct {
  17603. Flen1 [0]Tush
  17604. Fdad Tush
  17605. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17606. },
  17607. 38: {
  17608. Ffc: *(*struct {
  17609. Fcode [0]Tush
  17610. Ffreq Tush
  17611. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(106)})),
  17612. Fdl: *(*struct {
  17613. Flen1 [0]Tush
  17614. Fdad Tush
  17615. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17616. },
  17617. 39: {
  17618. Ffc: *(*struct {
  17619. Fcode [0]Tush
  17620. Ffreq Tush
  17621. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(234)})),
  17622. Fdl: *(*struct {
  17623. Flen1 [0]Tush
  17624. Fdad Tush
  17625. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17626. },
  17627. 40: {
  17628. Ffc: *(*struct {
  17629. Fcode [0]Tush
  17630. Ffreq Tush
  17631. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  17632. Fdl: *(*struct {
  17633. Flen1 [0]Tush
  17634. Fdad Tush
  17635. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17636. },
  17637. 41: {
  17638. Ffc: *(*struct {
  17639. Fcode [0]Tush
  17640. Ffreq Tush
  17641. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(154)})),
  17642. Fdl: *(*struct {
  17643. Flen1 [0]Tush
  17644. Fdad Tush
  17645. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17646. },
  17647. 42: {
  17648. Ffc: *(*struct {
  17649. Fcode [0]Tush
  17650. Ffreq Tush
  17651. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(90)})),
  17652. Fdl: *(*struct {
  17653. Flen1 [0]Tush
  17654. Fdad Tush
  17655. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17656. },
  17657. 43: {
  17658. Ffc: *(*struct {
  17659. Fcode [0]Tush
  17660. Ffreq Tush
  17661. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(218)})),
  17662. Fdl: *(*struct {
  17663. Flen1 [0]Tush
  17664. Fdad Tush
  17665. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17666. },
  17667. 44: {
  17668. Ffc: *(*struct {
  17669. Fcode [0]Tush
  17670. Ffreq Tush
  17671. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(58)})),
  17672. Fdl: *(*struct {
  17673. Flen1 [0]Tush
  17674. Fdad Tush
  17675. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17676. },
  17677. 45: {
  17678. Ffc: *(*struct {
  17679. Fcode [0]Tush
  17680. Ffreq Tush
  17681. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(186)})),
  17682. Fdl: *(*struct {
  17683. Flen1 [0]Tush
  17684. Fdad Tush
  17685. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17686. },
  17687. 46: {
  17688. Ffc: *(*struct {
  17689. Fcode [0]Tush
  17690. Ffreq Tush
  17691. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(122)})),
  17692. Fdl: *(*struct {
  17693. Flen1 [0]Tush
  17694. Fdad Tush
  17695. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17696. },
  17697. 47: {
  17698. Ffc: *(*struct {
  17699. Fcode [0]Tush
  17700. Ffreq Tush
  17701. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(250)})),
  17702. Fdl: *(*struct {
  17703. Flen1 [0]Tush
  17704. Fdad Tush
  17705. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17706. },
  17707. 48: {
  17708. Ffc: *(*struct {
  17709. Fcode [0]Tush
  17710. Ffreq Tush
  17711. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  17712. Fdl: *(*struct {
  17713. Flen1 [0]Tush
  17714. Fdad Tush
  17715. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17716. },
  17717. 49: {
  17718. Ffc: *(*struct {
  17719. Fcode [0]Tush
  17720. Ffreq Tush
  17721. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(134)})),
  17722. Fdl: *(*struct {
  17723. Flen1 [0]Tush
  17724. Fdad Tush
  17725. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17726. },
  17727. 50: {
  17728. Ffc: *(*struct {
  17729. Fcode [0]Tush
  17730. Ffreq Tush
  17731. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(70)})),
  17732. Fdl: *(*struct {
  17733. Flen1 [0]Tush
  17734. Fdad Tush
  17735. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17736. },
  17737. 51: {
  17738. Ffc: *(*struct {
  17739. Fcode [0]Tush
  17740. Ffreq Tush
  17741. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(198)})),
  17742. Fdl: *(*struct {
  17743. Flen1 [0]Tush
  17744. Fdad Tush
  17745. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17746. },
  17747. 52: {
  17748. Ffc: *(*struct {
  17749. Fcode [0]Tush
  17750. Ffreq Tush
  17751. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(38)})),
  17752. Fdl: *(*struct {
  17753. Flen1 [0]Tush
  17754. Fdad Tush
  17755. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17756. },
  17757. 53: {
  17758. Ffc: *(*struct {
  17759. Fcode [0]Tush
  17760. Ffreq Tush
  17761. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(166)})),
  17762. Fdl: *(*struct {
  17763. Flen1 [0]Tush
  17764. Fdad Tush
  17765. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17766. },
  17767. 54: {
  17768. Ffc: *(*struct {
  17769. Fcode [0]Tush
  17770. Ffreq Tush
  17771. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(102)})),
  17772. Fdl: *(*struct {
  17773. Flen1 [0]Tush
  17774. Fdad Tush
  17775. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17776. },
  17777. 55: {
  17778. Ffc: *(*struct {
  17779. Fcode [0]Tush
  17780. Ffreq Tush
  17781. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(230)})),
  17782. Fdl: *(*struct {
  17783. Flen1 [0]Tush
  17784. Fdad Tush
  17785. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17786. },
  17787. 56: {
  17788. Ffc: *(*struct {
  17789. Fcode [0]Tush
  17790. Ffreq Tush
  17791. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  17792. Fdl: *(*struct {
  17793. Flen1 [0]Tush
  17794. Fdad Tush
  17795. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17796. },
  17797. 57: {
  17798. Ffc: *(*struct {
  17799. Fcode [0]Tush
  17800. Ffreq Tush
  17801. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(150)})),
  17802. Fdl: *(*struct {
  17803. Flen1 [0]Tush
  17804. Fdad Tush
  17805. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17806. },
  17807. 58: {
  17808. Ffc: *(*struct {
  17809. Fcode [0]Tush
  17810. Ffreq Tush
  17811. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(86)})),
  17812. Fdl: *(*struct {
  17813. Flen1 [0]Tush
  17814. Fdad Tush
  17815. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17816. },
  17817. 59: {
  17818. Ffc: *(*struct {
  17819. Fcode [0]Tush
  17820. Ffreq Tush
  17821. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(214)})),
  17822. Fdl: *(*struct {
  17823. Flen1 [0]Tush
  17824. Fdad Tush
  17825. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17826. },
  17827. 60: {
  17828. Ffc: *(*struct {
  17829. Fcode [0]Tush
  17830. Ffreq Tush
  17831. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(54)})),
  17832. Fdl: *(*struct {
  17833. Flen1 [0]Tush
  17834. Fdad Tush
  17835. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17836. },
  17837. 61: {
  17838. Ffc: *(*struct {
  17839. Fcode [0]Tush
  17840. Ffreq Tush
  17841. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(182)})),
  17842. Fdl: *(*struct {
  17843. Flen1 [0]Tush
  17844. Fdad Tush
  17845. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17846. },
  17847. 62: {
  17848. Ffc: *(*struct {
  17849. Fcode [0]Tush
  17850. Ffreq Tush
  17851. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(118)})),
  17852. Fdl: *(*struct {
  17853. Flen1 [0]Tush
  17854. Fdad Tush
  17855. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17856. },
  17857. 63: {
  17858. Ffc: *(*struct {
  17859. Fcode [0]Tush
  17860. Ffreq Tush
  17861. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(246)})),
  17862. Fdl: *(*struct {
  17863. Flen1 [0]Tush
  17864. Fdad Tush
  17865. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17866. },
  17867. 64: {
  17868. Ffc: *(*struct {
  17869. Fcode [0]Tush
  17870. Ffreq Tush
  17871. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  17872. Fdl: *(*struct {
  17873. Flen1 [0]Tush
  17874. Fdad Tush
  17875. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17876. },
  17877. 65: {
  17878. Ffc: *(*struct {
  17879. Fcode [0]Tush
  17880. Ffreq Tush
  17881. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(142)})),
  17882. Fdl: *(*struct {
  17883. Flen1 [0]Tush
  17884. Fdad Tush
  17885. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17886. },
  17887. 66: {
  17888. Ffc: *(*struct {
  17889. Fcode [0]Tush
  17890. Ffreq Tush
  17891. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(78)})),
  17892. Fdl: *(*struct {
  17893. Flen1 [0]Tush
  17894. Fdad Tush
  17895. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17896. },
  17897. 67: {
  17898. Ffc: *(*struct {
  17899. Fcode [0]Tush
  17900. Ffreq Tush
  17901. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(206)})),
  17902. Fdl: *(*struct {
  17903. Flen1 [0]Tush
  17904. Fdad Tush
  17905. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17906. },
  17907. 68: {
  17908. Ffc: *(*struct {
  17909. Fcode [0]Tush
  17910. Ffreq Tush
  17911. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(46)})),
  17912. Fdl: *(*struct {
  17913. Flen1 [0]Tush
  17914. Fdad Tush
  17915. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17916. },
  17917. 69: {
  17918. Ffc: *(*struct {
  17919. Fcode [0]Tush
  17920. Ffreq Tush
  17921. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(174)})),
  17922. Fdl: *(*struct {
  17923. Flen1 [0]Tush
  17924. Fdad Tush
  17925. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17926. },
  17927. 70: {
  17928. Ffc: *(*struct {
  17929. Fcode [0]Tush
  17930. Ffreq Tush
  17931. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(110)})),
  17932. Fdl: *(*struct {
  17933. Flen1 [0]Tush
  17934. Fdad Tush
  17935. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17936. },
  17937. 71: {
  17938. Ffc: *(*struct {
  17939. Fcode [0]Tush
  17940. Ffreq Tush
  17941. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(238)})),
  17942. Fdl: *(*struct {
  17943. Flen1 [0]Tush
  17944. Fdad Tush
  17945. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17946. },
  17947. 72: {
  17948. Ffc: *(*struct {
  17949. Fcode [0]Tush
  17950. Ffreq Tush
  17951. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  17952. Fdl: *(*struct {
  17953. Flen1 [0]Tush
  17954. Fdad Tush
  17955. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17956. },
  17957. 73: {
  17958. Ffc: *(*struct {
  17959. Fcode [0]Tush
  17960. Ffreq Tush
  17961. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(158)})),
  17962. Fdl: *(*struct {
  17963. Flen1 [0]Tush
  17964. Fdad Tush
  17965. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17966. },
  17967. 74: {
  17968. Ffc: *(*struct {
  17969. Fcode [0]Tush
  17970. Ffreq Tush
  17971. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(94)})),
  17972. Fdl: *(*struct {
  17973. Flen1 [0]Tush
  17974. Fdad Tush
  17975. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17976. },
  17977. 75: {
  17978. Ffc: *(*struct {
  17979. Fcode [0]Tush
  17980. Ffreq Tush
  17981. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(222)})),
  17982. Fdl: *(*struct {
  17983. Flen1 [0]Tush
  17984. Fdad Tush
  17985. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17986. },
  17987. 76: {
  17988. Ffc: *(*struct {
  17989. Fcode [0]Tush
  17990. Ffreq Tush
  17991. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(62)})),
  17992. Fdl: *(*struct {
  17993. Flen1 [0]Tush
  17994. Fdad Tush
  17995. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17996. },
  17997. 77: {
  17998. Ffc: *(*struct {
  17999. Fcode [0]Tush
  18000. Ffreq Tush
  18001. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(190)})),
  18002. Fdl: *(*struct {
  18003. Flen1 [0]Tush
  18004. Fdad Tush
  18005. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18006. },
  18007. 78: {
  18008. Ffc: *(*struct {
  18009. Fcode [0]Tush
  18010. Ffreq Tush
  18011. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(126)})),
  18012. Fdl: *(*struct {
  18013. Flen1 [0]Tush
  18014. Fdad Tush
  18015. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18016. },
  18017. 79: {
  18018. Ffc: *(*struct {
  18019. Fcode [0]Tush
  18020. Ffreq Tush
  18021. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(254)})),
  18022. Fdl: *(*struct {
  18023. Flen1 [0]Tush
  18024. Fdad Tush
  18025. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18026. },
  18027. 80: {
  18028. Ffc: *(*struct {
  18029. Fcode [0]Tush
  18030. Ffreq Tush
  18031. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  18032. Fdl: *(*struct {
  18033. Flen1 [0]Tush
  18034. Fdad Tush
  18035. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18036. },
  18037. 81: {
  18038. Ffc: *(*struct {
  18039. Fcode [0]Tush
  18040. Ffreq Tush
  18041. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(129)})),
  18042. Fdl: *(*struct {
  18043. Flen1 [0]Tush
  18044. Fdad Tush
  18045. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18046. },
  18047. 82: {
  18048. Ffc: *(*struct {
  18049. Fcode [0]Tush
  18050. Ffreq Tush
  18051. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(65)})),
  18052. Fdl: *(*struct {
  18053. Flen1 [0]Tush
  18054. Fdad Tush
  18055. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18056. },
  18057. 83: {
  18058. Ffc: *(*struct {
  18059. Fcode [0]Tush
  18060. Ffreq Tush
  18061. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(193)})),
  18062. Fdl: *(*struct {
  18063. Flen1 [0]Tush
  18064. Fdad Tush
  18065. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18066. },
  18067. 84: {
  18068. Ffc: *(*struct {
  18069. Fcode [0]Tush
  18070. Ffreq Tush
  18071. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(33)})),
  18072. Fdl: *(*struct {
  18073. Flen1 [0]Tush
  18074. Fdad Tush
  18075. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18076. },
  18077. 85: {
  18078. Ffc: *(*struct {
  18079. Fcode [0]Tush
  18080. Ffreq Tush
  18081. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(161)})),
  18082. Fdl: *(*struct {
  18083. Flen1 [0]Tush
  18084. Fdad Tush
  18085. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18086. },
  18087. 86: {
  18088. Ffc: *(*struct {
  18089. Fcode [0]Tush
  18090. Ffreq Tush
  18091. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(97)})),
  18092. Fdl: *(*struct {
  18093. Flen1 [0]Tush
  18094. Fdad Tush
  18095. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18096. },
  18097. 87: {
  18098. Ffc: *(*struct {
  18099. Fcode [0]Tush
  18100. Ffreq Tush
  18101. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(225)})),
  18102. Fdl: *(*struct {
  18103. Flen1 [0]Tush
  18104. Fdad Tush
  18105. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18106. },
  18107. 88: {
  18108. Ffc: *(*struct {
  18109. Fcode [0]Tush
  18110. Ffreq Tush
  18111. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  18112. Fdl: *(*struct {
  18113. Flen1 [0]Tush
  18114. Fdad Tush
  18115. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18116. },
  18117. 89: {
  18118. Ffc: *(*struct {
  18119. Fcode [0]Tush
  18120. Ffreq Tush
  18121. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(145)})),
  18122. Fdl: *(*struct {
  18123. Flen1 [0]Tush
  18124. Fdad Tush
  18125. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18126. },
  18127. 90: {
  18128. Ffc: *(*struct {
  18129. Fcode [0]Tush
  18130. Ffreq Tush
  18131. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(81)})),
  18132. Fdl: *(*struct {
  18133. Flen1 [0]Tush
  18134. Fdad Tush
  18135. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18136. },
  18137. 91: {
  18138. Ffc: *(*struct {
  18139. Fcode [0]Tush
  18140. Ffreq Tush
  18141. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(209)})),
  18142. Fdl: *(*struct {
  18143. Flen1 [0]Tush
  18144. Fdad Tush
  18145. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18146. },
  18147. 92: {
  18148. Ffc: *(*struct {
  18149. Fcode [0]Tush
  18150. Ffreq Tush
  18151. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(49)})),
  18152. Fdl: *(*struct {
  18153. Flen1 [0]Tush
  18154. Fdad Tush
  18155. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18156. },
  18157. 93: {
  18158. Ffc: *(*struct {
  18159. Fcode [0]Tush
  18160. Ffreq Tush
  18161. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(177)})),
  18162. Fdl: *(*struct {
  18163. Flen1 [0]Tush
  18164. Fdad Tush
  18165. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18166. },
  18167. 94: {
  18168. Ffc: *(*struct {
  18169. Fcode [0]Tush
  18170. Ffreq Tush
  18171. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(113)})),
  18172. Fdl: *(*struct {
  18173. Flen1 [0]Tush
  18174. Fdad Tush
  18175. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18176. },
  18177. 95: {
  18178. Ffc: *(*struct {
  18179. Fcode [0]Tush
  18180. Ffreq Tush
  18181. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(241)})),
  18182. Fdl: *(*struct {
  18183. Flen1 [0]Tush
  18184. Fdad Tush
  18185. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18186. },
  18187. 96: {
  18188. Ffc: *(*struct {
  18189. Fcode [0]Tush
  18190. Ffreq Tush
  18191. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18192. Fdl: *(*struct {
  18193. Flen1 [0]Tush
  18194. Fdad Tush
  18195. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18196. },
  18197. 97: {
  18198. Ffc: *(*struct {
  18199. Fcode [0]Tush
  18200. Ffreq Tush
  18201. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(137)})),
  18202. Fdl: *(*struct {
  18203. Flen1 [0]Tush
  18204. Fdad Tush
  18205. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18206. },
  18207. 98: {
  18208. Ffc: *(*struct {
  18209. Fcode [0]Tush
  18210. Ffreq Tush
  18211. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(73)})),
  18212. Fdl: *(*struct {
  18213. Flen1 [0]Tush
  18214. Fdad Tush
  18215. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18216. },
  18217. 99: {
  18218. Ffc: *(*struct {
  18219. Fcode [0]Tush
  18220. Ffreq Tush
  18221. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(201)})),
  18222. Fdl: *(*struct {
  18223. Flen1 [0]Tush
  18224. Fdad Tush
  18225. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18226. },
  18227. 100: {
  18228. Ffc: *(*struct {
  18229. Fcode [0]Tush
  18230. Ffreq Tush
  18231. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(41)})),
  18232. Fdl: *(*struct {
  18233. Flen1 [0]Tush
  18234. Fdad Tush
  18235. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18236. },
  18237. 101: {
  18238. Ffc: *(*struct {
  18239. Fcode [0]Tush
  18240. Ffreq Tush
  18241. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(169)})),
  18242. Fdl: *(*struct {
  18243. Flen1 [0]Tush
  18244. Fdad Tush
  18245. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18246. },
  18247. 102: {
  18248. Ffc: *(*struct {
  18249. Fcode [0]Tush
  18250. Ffreq Tush
  18251. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(105)})),
  18252. Fdl: *(*struct {
  18253. Flen1 [0]Tush
  18254. Fdad Tush
  18255. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18256. },
  18257. 103: {
  18258. Ffc: *(*struct {
  18259. Fcode [0]Tush
  18260. Ffreq Tush
  18261. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(233)})),
  18262. Fdl: *(*struct {
  18263. Flen1 [0]Tush
  18264. Fdad Tush
  18265. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18266. },
  18267. 104: {
  18268. Ffc: *(*struct {
  18269. Fcode [0]Tush
  18270. Ffreq Tush
  18271. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  18272. Fdl: *(*struct {
  18273. Flen1 [0]Tush
  18274. Fdad Tush
  18275. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18276. },
  18277. 105: {
  18278. Ffc: *(*struct {
  18279. Fcode [0]Tush
  18280. Ffreq Tush
  18281. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(153)})),
  18282. Fdl: *(*struct {
  18283. Flen1 [0]Tush
  18284. Fdad Tush
  18285. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18286. },
  18287. 106: {
  18288. Ffc: *(*struct {
  18289. Fcode [0]Tush
  18290. Ffreq Tush
  18291. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(89)})),
  18292. Fdl: *(*struct {
  18293. Flen1 [0]Tush
  18294. Fdad Tush
  18295. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18296. },
  18297. 107: {
  18298. Ffc: *(*struct {
  18299. Fcode [0]Tush
  18300. Ffreq Tush
  18301. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(217)})),
  18302. Fdl: *(*struct {
  18303. Flen1 [0]Tush
  18304. Fdad Tush
  18305. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18306. },
  18307. 108: {
  18308. Ffc: *(*struct {
  18309. Fcode [0]Tush
  18310. Ffreq Tush
  18311. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(57)})),
  18312. Fdl: *(*struct {
  18313. Flen1 [0]Tush
  18314. Fdad Tush
  18315. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18316. },
  18317. 109: {
  18318. Ffc: *(*struct {
  18319. Fcode [0]Tush
  18320. Ffreq Tush
  18321. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(185)})),
  18322. Fdl: *(*struct {
  18323. Flen1 [0]Tush
  18324. Fdad Tush
  18325. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18326. },
  18327. 110: {
  18328. Ffc: *(*struct {
  18329. Fcode [0]Tush
  18330. Ffreq Tush
  18331. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(121)})),
  18332. Fdl: *(*struct {
  18333. Flen1 [0]Tush
  18334. Fdad Tush
  18335. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18336. },
  18337. 111: {
  18338. Ffc: *(*struct {
  18339. Fcode [0]Tush
  18340. Ffreq Tush
  18341. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(249)})),
  18342. Fdl: *(*struct {
  18343. Flen1 [0]Tush
  18344. Fdad Tush
  18345. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18346. },
  18347. 112: {
  18348. Ffc: *(*struct {
  18349. Fcode [0]Tush
  18350. Ffreq Tush
  18351. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  18352. Fdl: *(*struct {
  18353. Flen1 [0]Tush
  18354. Fdad Tush
  18355. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18356. },
  18357. 113: {
  18358. Ffc: *(*struct {
  18359. Fcode [0]Tush
  18360. Ffreq Tush
  18361. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(133)})),
  18362. Fdl: *(*struct {
  18363. Flen1 [0]Tush
  18364. Fdad Tush
  18365. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18366. },
  18367. 114: {
  18368. Ffc: *(*struct {
  18369. Fcode [0]Tush
  18370. Ffreq Tush
  18371. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(69)})),
  18372. Fdl: *(*struct {
  18373. Flen1 [0]Tush
  18374. Fdad Tush
  18375. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18376. },
  18377. 115: {
  18378. Ffc: *(*struct {
  18379. Fcode [0]Tush
  18380. Ffreq Tush
  18381. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(197)})),
  18382. Fdl: *(*struct {
  18383. Flen1 [0]Tush
  18384. Fdad Tush
  18385. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18386. },
  18387. 116: {
  18388. Ffc: *(*struct {
  18389. Fcode [0]Tush
  18390. Ffreq Tush
  18391. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(37)})),
  18392. Fdl: *(*struct {
  18393. Flen1 [0]Tush
  18394. Fdad Tush
  18395. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18396. },
  18397. 117: {
  18398. Ffc: *(*struct {
  18399. Fcode [0]Tush
  18400. Ffreq Tush
  18401. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(165)})),
  18402. Fdl: *(*struct {
  18403. Flen1 [0]Tush
  18404. Fdad Tush
  18405. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18406. },
  18407. 118: {
  18408. Ffc: *(*struct {
  18409. Fcode [0]Tush
  18410. Ffreq Tush
  18411. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(101)})),
  18412. Fdl: *(*struct {
  18413. Flen1 [0]Tush
  18414. Fdad Tush
  18415. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18416. },
  18417. 119: {
  18418. Ffc: *(*struct {
  18419. Fcode [0]Tush
  18420. Ffreq Tush
  18421. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(229)})),
  18422. Fdl: *(*struct {
  18423. Flen1 [0]Tush
  18424. Fdad Tush
  18425. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18426. },
  18427. 120: {
  18428. Ffc: *(*struct {
  18429. Fcode [0]Tush
  18430. Ffreq Tush
  18431. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  18432. Fdl: *(*struct {
  18433. Flen1 [0]Tush
  18434. Fdad Tush
  18435. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18436. },
  18437. 121: {
  18438. Ffc: *(*struct {
  18439. Fcode [0]Tush
  18440. Ffreq Tush
  18441. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(149)})),
  18442. Fdl: *(*struct {
  18443. Flen1 [0]Tush
  18444. Fdad Tush
  18445. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18446. },
  18447. 122: {
  18448. Ffc: *(*struct {
  18449. Fcode [0]Tush
  18450. Ffreq Tush
  18451. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(85)})),
  18452. Fdl: *(*struct {
  18453. Flen1 [0]Tush
  18454. Fdad Tush
  18455. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18456. },
  18457. 123: {
  18458. Ffc: *(*struct {
  18459. Fcode [0]Tush
  18460. Ffreq Tush
  18461. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(213)})),
  18462. Fdl: *(*struct {
  18463. Flen1 [0]Tush
  18464. Fdad Tush
  18465. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18466. },
  18467. 124: {
  18468. Ffc: *(*struct {
  18469. Fcode [0]Tush
  18470. Ffreq Tush
  18471. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(53)})),
  18472. Fdl: *(*struct {
  18473. Flen1 [0]Tush
  18474. Fdad Tush
  18475. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18476. },
  18477. 125: {
  18478. Ffc: *(*struct {
  18479. Fcode [0]Tush
  18480. Ffreq Tush
  18481. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(181)})),
  18482. Fdl: *(*struct {
  18483. Flen1 [0]Tush
  18484. Fdad Tush
  18485. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18486. },
  18487. 126: {
  18488. Ffc: *(*struct {
  18489. Fcode [0]Tush
  18490. Ffreq Tush
  18491. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(117)})),
  18492. Fdl: *(*struct {
  18493. Flen1 [0]Tush
  18494. Fdad Tush
  18495. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18496. },
  18497. 127: {
  18498. Ffc: *(*struct {
  18499. Fcode [0]Tush
  18500. Ffreq Tush
  18501. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(245)})),
  18502. Fdl: *(*struct {
  18503. Flen1 [0]Tush
  18504. Fdad Tush
  18505. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18506. },
  18507. 128: {
  18508. Ffc: *(*struct {
  18509. Fcode [0]Tush
  18510. Ffreq Tush
  18511. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  18512. Fdl: *(*struct {
  18513. Flen1 [0]Tush
  18514. Fdad Tush
  18515. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18516. },
  18517. 129: {
  18518. Ffc: *(*struct {
  18519. Fcode [0]Tush
  18520. Ffreq Tush
  18521. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(141)})),
  18522. Fdl: *(*struct {
  18523. Flen1 [0]Tush
  18524. Fdad Tush
  18525. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18526. },
  18527. 130: {
  18528. Ffc: *(*struct {
  18529. Fcode [0]Tush
  18530. Ffreq Tush
  18531. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(77)})),
  18532. Fdl: *(*struct {
  18533. Flen1 [0]Tush
  18534. Fdad Tush
  18535. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18536. },
  18537. 131: {
  18538. Ffc: *(*struct {
  18539. Fcode [0]Tush
  18540. Ffreq Tush
  18541. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(205)})),
  18542. Fdl: *(*struct {
  18543. Flen1 [0]Tush
  18544. Fdad Tush
  18545. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18546. },
  18547. 132: {
  18548. Ffc: *(*struct {
  18549. Fcode [0]Tush
  18550. Ffreq Tush
  18551. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(45)})),
  18552. Fdl: *(*struct {
  18553. Flen1 [0]Tush
  18554. Fdad Tush
  18555. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18556. },
  18557. 133: {
  18558. Ffc: *(*struct {
  18559. Fcode [0]Tush
  18560. Ffreq Tush
  18561. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(173)})),
  18562. Fdl: *(*struct {
  18563. Flen1 [0]Tush
  18564. Fdad Tush
  18565. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18566. },
  18567. 134: {
  18568. Ffc: *(*struct {
  18569. Fcode [0]Tush
  18570. Ffreq Tush
  18571. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(109)})),
  18572. Fdl: *(*struct {
  18573. Flen1 [0]Tush
  18574. Fdad Tush
  18575. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18576. },
  18577. 135: {
  18578. Ffc: *(*struct {
  18579. Fcode [0]Tush
  18580. Ffreq Tush
  18581. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(237)})),
  18582. Fdl: *(*struct {
  18583. Flen1 [0]Tush
  18584. Fdad Tush
  18585. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18586. },
  18587. 136: {
  18588. Ffc: *(*struct {
  18589. Fcode [0]Tush
  18590. Ffreq Tush
  18591. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  18592. Fdl: *(*struct {
  18593. Flen1 [0]Tush
  18594. Fdad Tush
  18595. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18596. },
  18597. 137: {
  18598. Ffc: *(*struct {
  18599. Fcode [0]Tush
  18600. Ffreq Tush
  18601. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(157)})),
  18602. Fdl: *(*struct {
  18603. Flen1 [0]Tush
  18604. Fdad Tush
  18605. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18606. },
  18607. 138: {
  18608. Ffc: *(*struct {
  18609. Fcode [0]Tush
  18610. Ffreq Tush
  18611. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(93)})),
  18612. Fdl: *(*struct {
  18613. Flen1 [0]Tush
  18614. Fdad Tush
  18615. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18616. },
  18617. 139: {
  18618. Ffc: *(*struct {
  18619. Fcode [0]Tush
  18620. Ffreq Tush
  18621. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(221)})),
  18622. Fdl: *(*struct {
  18623. Flen1 [0]Tush
  18624. Fdad Tush
  18625. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18626. },
  18627. 140: {
  18628. Ffc: *(*struct {
  18629. Fcode [0]Tush
  18630. Ffreq Tush
  18631. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(61)})),
  18632. Fdl: *(*struct {
  18633. Flen1 [0]Tush
  18634. Fdad Tush
  18635. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18636. },
  18637. 141: {
  18638. Ffc: *(*struct {
  18639. Fcode [0]Tush
  18640. Ffreq Tush
  18641. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(189)})),
  18642. Fdl: *(*struct {
  18643. Flen1 [0]Tush
  18644. Fdad Tush
  18645. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18646. },
  18647. 142: {
  18648. Ffc: *(*struct {
  18649. Fcode [0]Tush
  18650. Ffreq Tush
  18651. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(125)})),
  18652. Fdl: *(*struct {
  18653. Flen1 [0]Tush
  18654. Fdad Tush
  18655. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18656. },
  18657. 143: {
  18658. Ffc: *(*struct {
  18659. Fcode [0]Tush
  18660. Ffreq Tush
  18661. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(253)})),
  18662. Fdl: *(*struct {
  18663. Flen1 [0]Tush
  18664. Fdad Tush
  18665. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18666. },
  18667. 144: {
  18668. Ffc: *(*struct {
  18669. Fcode [0]Tush
  18670. Ffreq Tush
  18671. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  18672. Fdl: *(*struct {
  18673. Flen1 [0]Tush
  18674. Fdad Tush
  18675. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18676. },
  18677. 145: {
  18678. Ffc: *(*struct {
  18679. Fcode [0]Tush
  18680. Ffreq Tush
  18681. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(275)})),
  18682. Fdl: *(*struct {
  18683. Flen1 [0]Tush
  18684. Fdad Tush
  18685. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18686. },
  18687. 146: {
  18688. Ffc: *(*struct {
  18689. Fcode [0]Tush
  18690. Ffreq Tush
  18691. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(147)})),
  18692. Fdl: *(*struct {
  18693. Flen1 [0]Tush
  18694. Fdad Tush
  18695. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18696. },
  18697. 147: {
  18698. Ffc: *(*struct {
  18699. Fcode [0]Tush
  18700. Ffreq Tush
  18701. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(403)})),
  18702. Fdl: *(*struct {
  18703. Flen1 [0]Tush
  18704. Fdad Tush
  18705. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18706. },
  18707. 148: {
  18708. Ffc: *(*struct {
  18709. Fcode [0]Tush
  18710. Ffreq Tush
  18711. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(83)})),
  18712. Fdl: *(*struct {
  18713. Flen1 [0]Tush
  18714. Fdad Tush
  18715. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18716. },
  18717. 149: {
  18718. Ffc: *(*struct {
  18719. Fcode [0]Tush
  18720. Ffreq Tush
  18721. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(339)})),
  18722. Fdl: *(*struct {
  18723. Flen1 [0]Tush
  18724. Fdad Tush
  18725. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18726. },
  18727. 150: {
  18728. Ffc: *(*struct {
  18729. Fcode [0]Tush
  18730. Ffreq Tush
  18731. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(211)})),
  18732. Fdl: *(*struct {
  18733. Flen1 [0]Tush
  18734. Fdad Tush
  18735. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18736. },
  18737. 151: {
  18738. Ffc: *(*struct {
  18739. Fcode [0]Tush
  18740. Ffreq Tush
  18741. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(467)})),
  18742. Fdl: *(*struct {
  18743. Flen1 [0]Tush
  18744. Fdad Tush
  18745. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18746. },
  18747. 152: {
  18748. Ffc: *(*struct {
  18749. Fcode [0]Tush
  18750. Ffreq Tush
  18751. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(51)})),
  18752. Fdl: *(*struct {
  18753. Flen1 [0]Tush
  18754. Fdad Tush
  18755. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18756. },
  18757. 153: {
  18758. Ffc: *(*struct {
  18759. Fcode [0]Tush
  18760. Ffreq Tush
  18761. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(307)})),
  18762. Fdl: *(*struct {
  18763. Flen1 [0]Tush
  18764. Fdad Tush
  18765. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18766. },
  18767. 154: {
  18768. Ffc: *(*struct {
  18769. Fcode [0]Tush
  18770. Ffreq Tush
  18771. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(179)})),
  18772. Fdl: *(*struct {
  18773. Flen1 [0]Tush
  18774. Fdad Tush
  18775. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18776. },
  18777. 155: {
  18778. Ffc: *(*struct {
  18779. Fcode [0]Tush
  18780. Ffreq Tush
  18781. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(435)})),
  18782. Fdl: *(*struct {
  18783. Flen1 [0]Tush
  18784. Fdad Tush
  18785. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18786. },
  18787. 156: {
  18788. Ffc: *(*struct {
  18789. Fcode [0]Tush
  18790. Ffreq Tush
  18791. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(115)})),
  18792. Fdl: *(*struct {
  18793. Flen1 [0]Tush
  18794. Fdad Tush
  18795. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18796. },
  18797. 157: {
  18798. Ffc: *(*struct {
  18799. Fcode [0]Tush
  18800. Ffreq Tush
  18801. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(371)})),
  18802. Fdl: *(*struct {
  18803. Flen1 [0]Tush
  18804. Fdad Tush
  18805. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18806. },
  18807. 158: {
  18808. Ffc: *(*struct {
  18809. Fcode [0]Tush
  18810. Ffreq Tush
  18811. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(243)})),
  18812. Fdl: *(*struct {
  18813. Flen1 [0]Tush
  18814. Fdad Tush
  18815. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18816. },
  18817. 159: {
  18818. Ffc: *(*struct {
  18819. Fcode [0]Tush
  18820. Ffreq Tush
  18821. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(499)})),
  18822. Fdl: *(*struct {
  18823. Flen1 [0]Tush
  18824. Fdad Tush
  18825. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18826. },
  18827. 160: {
  18828. Ffc: *(*struct {
  18829. Fcode [0]Tush
  18830. Ffreq Tush
  18831. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  18832. Fdl: *(*struct {
  18833. Flen1 [0]Tush
  18834. Fdad Tush
  18835. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18836. },
  18837. 161: {
  18838. Ffc: *(*struct {
  18839. Fcode [0]Tush
  18840. Ffreq Tush
  18841. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(267)})),
  18842. Fdl: *(*struct {
  18843. Flen1 [0]Tush
  18844. Fdad Tush
  18845. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18846. },
  18847. 162: {
  18848. Ffc: *(*struct {
  18849. Fcode [0]Tush
  18850. Ffreq Tush
  18851. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(139)})),
  18852. Fdl: *(*struct {
  18853. Flen1 [0]Tush
  18854. Fdad Tush
  18855. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18856. },
  18857. 163: {
  18858. Ffc: *(*struct {
  18859. Fcode [0]Tush
  18860. Ffreq Tush
  18861. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(395)})),
  18862. Fdl: *(*struct {
  18863. Flen1 [0]Tush
  18864. Fdad Tush
  18865. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18866. },
  18867. 164: {
  18868. Ffc: *(*struct {
  18869. Fcode [0]Tush
  18870. Ffreq Tush
  18871. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(75)})),
  18872. Fdl: *(*struct {
  18873. Flen1 [0]Tush
  18874. Fdad Tush
  18875. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18876. },
  18877. 165: {
  18878. Ffc: *(*struct {
  18879. Fcode [0]Tush
  18880. Ffreq Tush
  18881. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(331)})),
  18882. Fdl: *(*struct {
  18883. Flen1 [0]Tush
  18884. Fdad Tush
  18885. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18886. },
  18887. 166: {
  18888. Ffc: *(*struct {
  18889. Fcode [0]Tush
  18890. Ffreq Tush
  18891. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(203)})),
  18892. Fdl: *(*struct {
  18893. Flen1 [0]Tush
  18894. Fdad Tush
  18895. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18896. },
  18897. 167: {
  18898. Ffc: *(*struct {
  18899. Fcode [0]Tush
  18900. Ffreq Tush
  18901. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(459)})),
  18902. Fdl: *(*struct {
  18903. Flen1 [0]Tush
  18904. Fdad Tush
  18905. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18906. },
  18907. 168: {
  18908. Ffc: *(*struct {
  18909. Fcode [0]Tush
  18910. Ffreq Tush
  18911. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(43)})),
  18912. Fdl: *(*struct {
  18913. Flen1 [0]Tush
  18914. Fdad Tush
  18915. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18916. },
  18917. 169: {
  18918. Ffc: *(*struct {
  18919. Fcode [0]Tush
  18920. Ffreq Tush
  18921. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(299)})),
  18922. Fdl: *(*struct {
  18923. Flen1 [0]Tush
  18924. Fdad Tush
  18925. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18926. },
  18927. 170: {
  18928. Ffc: *(*struct {
  18929. Fcode [0]Tush
  18930. Ffreq Tush
  18931. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(171)})),
  18932. Fdl: *(*struct {
  18933. Flen1 [0]Tush
  18934. Fdad Tush
  18935. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18936. },
  18937. 171: {
  18938. Ffc: *(*struct {
  18939. Fcode [0]Tush
  18940. Ffreq Tush
  18941. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(427)})),
  18942. Fdl: *(*struct {
  18943. Flen1 [0]Tush
  18944. Fdad Tush
  18945. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18946. },
  18947. 172: {
  18948. Ffc: *(*struct {
  18949. Fcode [0]Tush
  18950. Ffreq Tush
  18951. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(107)})),
  18952. Fdl: *(*struct {
  18953. Flen1 [0]Tush
  18954. Fdad Tush
  18955. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18956. },
  18957. 173: {
  18958. Ffc: *(*struct {
  18959. Fcode [0]Tush
  18960. Ffreq Tush
  18961. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(363)})),
  18962. Fdl: *(*struct {
  18963. Flen1 [0]Tush
  18964. Fdad Tush
  18965. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18966. },
  18967. 174: {
  18968. Ffc: *(*struct {
  18969. Fcode [0]Tush
  18970. Ffreq Tush
  18971. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(235)})),
  18972. Fdl: *(*struct {
  18973. Flen1 [0]Tush
  18974. Fdad Tush
  18975. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18976. },
  18977. 175: {
  18978. Ffc: *(*struct {
  18979. Fcode [0]Tush
  18980. Ffreq Tush
  18981. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(491)})),
  18982. Fdl: *(*struct {
  18983. Flen1 [0]Tush
  18984. Fdad Tush
  18985. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18986. },
  18987. 176: {
  18988. Ffc: *(*struct {
  18989. Fcode [0]Tush
  18990. Ffreq Tush
  18991. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  18992. Fdl: *(*struct {
  18993. Flen1 [0]Tush
  18994. Fdad Tush
  18995. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18996. },
  18997. 177: {
  18998. Ffc: *(*struct {
  18999. Fcode [0]Tush
  19000. Ffreq Tush
  19001. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(283)})),
  19002. Fdl: *(*struct {
  19003. Flen1 [0]Tush
  19004. Fdad Tush
  19005. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19006. },
  19007. 178: {
  19008. Ffc: *(*struct {
  19009. Fcode [0]Tush
  19010. Ffreq Tush
  19011. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(155)})),
  19012. Fdl: *(*struct {
  19013. Flen1 [0]Tush
  19014. Fdad Tush
  19015. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19016. },
  19017. 179: {
  19018. Ffc: *(*struct {
  19019. Fcode [0]Tush
  19020. Ffreq Tush
  19021. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(411)})),
  19022. Fdl: *(*struct {
  19023. Flen1 [0]Tush
  19024. Fdad Tush
  19025. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19026. },
  19027. 180: {
  19028. Ffc: *(*struct {
  19029. Fcode [0]Tush
  19030. Ffreq Tush
  19031. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(91)})),
  19032. Fdl: *(*struct {
  19033. Flen1 [0]Tush
  19034. Fdad Tush
  19035. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19036. },
  19037. 181: {
  19038. Ffc: *(*struct {
  19039. Fcode [0]Tush
  19040. Ffreq Tush
  19041. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(347)})),
  19042. Fdl: *(*struct {
  19043. Flen1 [0]Tush
  19044. Fdad Tush
  19045. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19046. },
  19047. 182: {
  19048. Ffc: *(*struct {
  19049. Fcode [0]Tush
  19050. Ffreq Tush
  19051. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(219)})),
  19052. Fdl: *(*struct {
  19053. Flen1 [0]Tush
  19054. Fdad Tush
  19055. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19056. },
  19057. 183: {
  19058. Ffc: *(*struct {
  19059. Fcode [0]Tush
  19060. Ffreq Tush
  19061. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(475)})),
  19062. Fdl: *(*struct {
  19063. Flen1 [0]Tush
  19064. Fdad Tush
  19065. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19066. },
  19067. 184: {
  19068. Ffc: *(*struct {
  19069. Fcode [0]Tush
  19070. Ffreq Tush
  19071. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(59)})),
  19072. Fdl: *(*struct {
  19073. Flen1 [0]Tush
  19074. Fdad Tush
  19075. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19076. },
  19077. 185: {
  19078. Ffc: *(*struct {
  19079. Fcode [0]Tush
  19080. Ffreq Tush
  19081. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(315)})),
  19082. Fdl: *(*struct {
  19083. Flen1 [0]Tush
  19084. Fdad Tush
  19085. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19086. },
  19087. 186: {
  19088. Ffc: *(*struct {
  19089. Fcode [0]Tush
  19090. Ffreq Tush
  19091. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(187)})),
  19092. Fdl: *(*struct {
  19093. Flen1 [0]Tush
  19094. Fdad Tush
  19095. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19096. },
  19097. 187: {
  19098. Ffc: *(*struct {
  19099. Fcode [0]Tush
  19100. Ffreq Tush
  19101. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(443)})),
  19102. Fdl: *(*struct {
  19103. Flen1 [0]Tush
  19104. Fdad Tush
  19105. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19106. },
  19107. 188: {
  19108. Ffc: *(*struct {
  19109. Fcode [0]Tush
  19110. Ffreq Tush
  19111. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(123)})),
  19112. Fdl: *(*struct {
  19113. Flen1 [0]Tush
  19114. Fdad Tush
  19115. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19116. },
  19117. 189: {
  19118. Ffc: *(*struct {
  19119. Fcode [0]Tush
  19120. Ffreq Tush
  19121. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(379)})),
  19122. Fdl: *(*struct {
  19123. Flen1 [0]Tush
  19124. Fdad Tush
  19125. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19126. },
  19127. 190: {
  19128. Ffc: *(*struct {
  19129. Fcode [0]Tush
  19130. Ffreq Tush
  19131. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(251)})),
  19132. Fdl: *(*struct {
  19133. Flen1 [0]Tush
  19134. Fdad Tush
  19135. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19136. },
  19137. 191: {
  19138. Ffc: *(*struct {
  19139. Fcode [0]Tush
  19140. Ffreq Tush
  19141. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(507)})),
  19142. Fdl: *(*struct {
  19143. Flen1 [0]Tush
  19144. Fdad Tush
  19145. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19146. },
  19147. 192: {
  19148. Ffc: *(*struct {
  19149. Fcode [0]Tush
  19150. Ffreq Tush
  19151. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19152. Fdl: *(*struct {
  19153. Flen1 [0]Tush
  19154. Fdad Tush
  19155. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19156. },
  19157. 193: {
  19158. Ffc: *(*struct {
  19159. Fcode [0]Tush
  19160. Ffreq Tush
  19161. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(263)})),
  19162. Fdl: *(*struct {
  19163. Flen1 [0]Tush
  19164. Fdad Tush
  19165. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19166. },
  19167. 194: {
  19168. Ffc: *(*struct {
  19169. Fcode [0]Tush
  19170. Ffreq Tush
  19171. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(135)})),
  19172. Fdl: *(*struct {
  19173. Flen1 [0]Tush
  19174. Fdad Tush
  19175. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19176. },
  19177. 195: {
  19178. Ffc: *(*struct {
  19179. Fcode [0]Tush
  19180. Ffreq Tush
  19181. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(391)})),
  19182. Fdl: *(*struct {
  19183. Flen1 [0]Tush
  19184. Fdad Tush
  19185. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19186. },
  19187. 196: {
  19188. Ffc: *(*struct {
  19189. Fcode [0]Tush
  19190. Ffreq Tush
  19191. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(71)})),
  19192. Fdl: *(*struct {
  19193. Flen1 [0]Tush
  19194. Fdad Tush
  19195. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19196. },
  19197. 197: {
  19198. Ffc: *(*struct {
  19199. Fcode [0]Tush
  19200. Ffreq Tush
  19201. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(327)})),
  19202. Fdl: *(*struct {
  19203. Flen1 [0]Tush
  19204. Fdad Tush
  19205. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19206. },
  19207. 198: {
  19208. Ffc: *(*struct {
  19209. Fcode [0]Tush
  19210. Ffreq Tush
  19211. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(199)})),
  19212. Fdl: *(*struct {
  19213. Flen1 [0]Tush
  19214. Fdad Tush
  19215. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19216. },
  19217. 199: {
  19218. Ffc: *(*struct {
  19219. Fcode [0]Tush
  19220. Ffreq Tush
  19221. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(455)})),
  19222. Fdl: *(*struct {
  19223. Flen1 [0]Tush
  19224. Fdad Tush
  19225. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19226. },
  19227. 200: {
  19228. Ffc: *(*struct {
  19229. Fcode [0]Tush
  19230. Ffreq Tush
  19231. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(39)})),
  19232. Fdl: *(*struct {
  19233. Flen1 [0]Tush
  19234. Fdad Tush
  19235. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19236. },
  19237. 201: {
  19238. Ffc: *(*struct {
  19239. Fcode [0]Tush
  19240. Ffreq Tush
  19241. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(295)})),
  19242. Fdl: *(*struct {
  19243. Flen1 [0]Tush
  19244. Fdad Tush
  19245. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19246. },
  19247. 202: {
  19248. Ffc: *(*struct {
  19249. Fcode [0]Tush
  19250. Ffreq Tush
  19251. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(167)})),
  19252. Fdl: *(*struct {
  19253. Flen1 [0]Tush
  19254. Fdad Tush
  19255. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19256. },
  19257. 203: {
  19258. Ffc: *(*struct {
  19259. Fcode [0]Tush
  19260. Ffreq Tush
  19261. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(423)})),
  19262. Fdl: *(*struct {
  19263. Flen1 [0]Tush
  19264. Fdad Tush
  19265. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19266. },
  19267. 204: {
  19268. Ffc: *(*struct {
  19269. Fcode [0]Tush
  19270. Ffreq Tush
  19271. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(103)})),
  19272. Fdl: *(*struct {
  19273. Flen1 [0]Tush
  19274. Fdad Tush
  19275. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19276. },
  19277. 205: {
  19278. Ffc: *(*struct {
  19279. Fcode [0]Tush
  19280. Ffreq Tush
  19281. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(359)})),
  19282. Fdl: *(*struct {
  19283. Flen1 [0]Tush
  19284. Fdad Tush
  19285. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19286. },
  19287. 206: {
  19288. Ffc: *(*struct {
  19289. Fcode [0]Tush
  19290. Ffreq Tush
  19291. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(231)})),
  19292. Fdl: *(*struct {
  19293. Flen1 [0]Tush
  19294. Fdad Tush
  19295. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19296. },
  19297. 207: {
  19298. Ffc: *(*struct {
  19299. Fcode [0]Tush
  19300. Ffreq Tush
  19301. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(487)})),
  19302. Fdl: *(*struct {
  19303. Flen1 [0]Tush
  19304. Fdad Tush
  19305. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19306. },
  19307. 208: {
  19308. Ffc: *(*struct {
  19309. Fcode [0]Tush
  19310. Ffreq Tush
  19311. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  19312. Fdl: *(*struct {
  19313. Flen1 [0]Tush
  19314. Fdad Tush
  19315. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19316. },
  19317. 209: {
  19318. Ffc: *(*struct {
  19319. Fcode [0]Tush
  19320. Ffreq Tush
  19321. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(279)})),
  19322. Fdl: *(*struct {
  19323. Flen1 [0]Tush
  19324. Fdad Tush
  19325. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19326. },
  19327. 210: {
  19328. Ffc: *(*struct {
  19329. Fcode [0]Tush
  19330. Ffreq Tush
  19331. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(151)})),
  19332. Fdl: *(*struct {
  19333. Flen1 [0]Tush
  19334. Fdad Tush
  19335. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19336. },
  19337. 211: {
  19338. Ffc: *(*struct {
  19339. Fcode [0]Tush
  19340. Ffreq Tush
  19341. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(407)})),
  19342. Fdl: *(*struct {
  19343. Flen1 [0]Tush
  19344. Fdad Tush
  19345. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19346. },
  19347. 212: {
  19348. Ffc: *(*struct {
  19349. Fcode [0]Tush
  19350. Ffreq Tush
  19351. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(87)})),
  19352. Fdl: *(*struct {
  19353. Flen1 [0]Tush
  19354. Fdad Tush
  19355. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19356. },
  19357. 213: {
  19358. Ffc: *(*struct {
  19359. Fcode [0]Tush
  19360. Ffreq Tush
  19361. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(343)})),
  19362. Fdl: *(*struct {
  19363. Flen1 [0]Tush
  19364. Fdad Tush
  19365. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19366. },
  19367. 214: {
  19368. Ffc: *(*struct {
  19369. Fcode [0]Tush
  19370. Ffreq Tush
  19371. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(215)})),
  19372. Fdl: *(*struct {
  19373. Flen1 [0]Tush
  19374. Fdad Tush
  19375. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19376. },
  19377. 215: {
  19378. Ffc: *(*struct {
  19379. Fcode [0]Tush
  19380. Ffreq Tush
  19381. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(471)})),
  19382. Fdl: *(*struct {
  19383. Flen1 [0]Tush
  19384. Fdad Tush
  19385. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19386. },
  19387. 216: {
  19388. Ffc: *(*struct {
  19389. Fcode [0]Tush
  19390. Ffreq Tush
  19391. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(55)})),
  19392. Fdl: *(*struct {
  19393. Flen1 [0]Tush
  19394. Fdad Tush
  19395. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19396. },
  19397. 217: {
  19398. Ffc: *(*struct {
  19399. Fcode [0]Tush
  19400. Ffreq Tush
  19401. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(311)})),
  19402. Fdl: *(*struct {
  19403. Flen1 [0]Tush
  19404. Fdad Tush
  19405. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19406. },
  19407. 218: {
  19408. Ffc: *(*struct {
  19409. Fcode [0]Tush
  19410. Ffreq Tush
  19411. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(183)})),
  19412. Fdl: *(*struct {
  19413. Flen1 [0]Tush
  19414. Fdad Tush
  19415. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19416. },
  19417. 219: {
  19418. Ffc: *(*struct {
  19419. Fcode [0]Tush
  19420. Ffreq Tush
  19421. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(439)})),
  19422. Fdl: *(*struct {
  19423. Flen1 [0]Tush
  19424. Fdad Tush
  19425. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19426. },
  19427. 220: {
  19428. Ffc: *(*struct {
  19429. Fcode [0]Tush
  19430. Ffreq Tush
  19431. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(119)})),
  19432. Fdl: *(*struct {
  19433. Flen1 [0]Tush
  19434. Fdad Tush
  19435. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19436. },
  19437. 221: {
  19438. Ffc: *(*struct {
  19439. Fcode [0]Tush
  19440. Ffreq Tush
  19441. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(375)})),
  19442. Fdl: *(*struct {
  19443. Flen1 [0]Tush
  19444. Fdad Tush
  19445. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19446. },
  19447. 222: {
  19448. Ffc: *(*struct {
  19449. Fcode [0]Tush
  19450. Ffreq Tush
  19451. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(247)})),
  19452. Fdl: *(*struct {
  19453. Flen1 [0]Tush
  19454. Fdad Tush
  19455. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19456. },
  19457. 223: {
  19458. Ffc: *(*struct {
  19459. Fcode [0]Tush
  19460. Ffreq Tush
  19461. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(503)})),
  19462. Fdl: *(*struct {
  19463. Flen1 [0]Tush
  19464. Fdad Tush
  19465. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19466. },
  19467. 224: {
  19468. Ffc: *(*struct {
  19469. Fcode [0]Tush
  19470. Ffreq Tush
  19471. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(15)})),
  19472. Fdl: *(*struct {
  19473. Flen1 [0]Tush
  19474. Fdad Tush
  19475. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19476. },
  19477. 225: {
  19478. Ffc: *(*struct {
  19479. Fcode [0]Tush
  19480. Ffreq Tush
  19481. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(271)})),
  19482. Fdl: *(*struct {
  19483. Flen1 [0]Tush
  19484. Fdad Tush
  19485. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19486. },
  19487. 226: {
  19488. Ffc: *(*struct {
  19489. Fcode [0]Tush
  19490. Ffreq Tush
  19491. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(143)})),
  19492. Fdl: *(*struct {
  19493. Flen1 [0]Tush
  19494. Fdad Tush
  19495. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19496. },
  19497. 227: {
  19498. Ffc: *(*struct {
  19499. Fcode [0]Tush
  19500. Ffreq Tush
  19501. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(399)})),
  19502. Fdl: *(*struct {
  19503. Flen1 [0]Tush
  19504. Fdad Tush
  19505. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19506. },
  19507. 228: {
  19508. Ffc: *(*struct {
  19509. Fcode [0]Tush
  19510. Ffreq Tush
  19511. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(79)})),
  19512. Fdl: *(*struct {
  19513. Flen1 [0]Tush
  19514. Fdad Tush
  19515. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19516. },
  19517. 229: {
  19518. Ffc: *(*struct {
  19519. Fcode [0]Tush
  19520. Ffreq Tush
  19521. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(335)})),
  19522. Fdl: *(*struct {
  19523. Flen1 [0]Tush
  19524. Fdad Tush
  19525. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19526. },
  19527. 230: {
  19528. Ffc: *(*struct {
  19529. Fcode [0]Tush
  19530. Ffreq Tush
  19531. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(207)})),
  19532. Fdl: *(*struct {
  19533. Flen1 [0]Tush
  19534. Fdad Tush
  19535. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19536. },
  19537. 231: {
  19538. Ffc: *(*struct {
  19539. Fcode [0]Tush
  19540. Ffreq Tush
  19541. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(463)})),
  19542. Fdl: *(*struct {
  19543. Flen1 [0]Tush
  19544. Fdad Tush
  19545. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19546. },
  19547. 232: {
  19548. Ffc: *(*struct {
  19549. Fcode [0]Tush
  19550. Ffreq Tush
  19551. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(47)})),
  19552. Fdl: *(*struct {
  19553. Flen1 [0]Tush
  19554. Fdad Tush
  19555. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19556. },
  19557. 233: {
  19558. Ffc: *(*struct {
  19559. Fcode [0]Tush
  19560. Ffreq Tush
  19561. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(303)})),
  19562. Fdl: *(*struct {
  19563. Flen1 [0]Tush
  19564. Fdad Tush
  19565. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19566. },
  19567. 234: {
  19568. Ffc: *(*struct {
  19569. Fcode [0]Tush
  19570. Ffreq Tush
  19571. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(175)})),
  19572. Fdl: *(*struct {
  19573. Flen1 [0]Tush
  19574. Fdad Tush
  19575. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19576. },
  19577. 235: {
  19578. Ffc: *(*struct {
  19579. Fcode [0]Tush
  19580. Ffreq Tush
  19581. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(431)})),
  19582. Fdl: *(*struct {
  19583. Flen1 [0]Tush
  19584. Fdad Tush
  19585. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19586. },
  19587. 236: {
  19588. Ffc: *(*struct {
  19589. Fcode [0]Tush
  19590. Ffreq Tush
  19591. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(111)})),
  19592. Fdl: *(*struct {
  19593. Flen1 [0]Tush
  19594. Fdad Tush
  19595. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19596. },
  19597. 237: {
  19598. Ffc: *(*struct {
  19599. Fcode [0]Tush
  19600. Ffreq Tush
  19601. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(367)})),
  19602. Fdl: *(*struct {
  19603. Flen1 [0]Tush
  19604. Fdad Tush
  19605. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19606. },
  19607. 238: {
  19608. Ffc: *(*struct {
  19609. Fcode [0]Tush
  19610. Ffreq Tush
  19611. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(239)})),
  19612. Fdl: *(*struct {
  19613. Flen1 [0]Tush
  19614. Fdad Tush
  19615. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19616. },
  19617. 239: {
  19618. Ffc: *(*struct {
  19619. Fcode [0]Tush
  19620. Ffreq Tush
  19621. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(495)})),
  19622. Fdl: *(*struct {
  19623. Flen1 [0]Tush
  19624. Fdad Tush
  19625. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19626. },
  19627. 240: {
  19628. Ffc: *(*struct {
  19629. Fcode [0]Tush
  19630. Ffreq Tush
  19631. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(31)})),
  19632. Fdl: *(*struct {
  19633. Flen1 [0]Tush
  19634. Fdad Tush
  19635. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19636. },
  19637. 241: {
  19638. Ffc: *(*struct {
  19639. Fcode [0]Tush
  19640. Ffreq Tush
  19641. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(287)})),
  19642. Fdl: *(*struct {
  19643. Flen1 [0]Tush
  19644. Fdad Tush
  19645. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19646. },
  19647. 242: {
  19648. Ffc: *(*struct {
  19649. Fcode [0]Tush
  19650. Ffreq Tush
  19651. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(159)})),
  19652. Fdl: *(*struct {
  19653. Flen1 [0]Tush
  19654. Fdad Tush
  19655. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19656. },
  19657. 243: {
  19658. Ffc: *(*struct {
  19659. Fcode [0]Tush
  19660. Ffreq Tush
  19661. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(415)})),
  19662. Fdl: *(*struct {
  19663. Flen1 [0]Tush
  19664. Fdad Tush
  19665. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19666. },
  19667. 244: {
  19668. Ffc: *(*struct {
  19669. Fcode [0]Tush
  19670. Ffreq Tush
  19671. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(95)})),
  19672. Fdl: *(*struct {
  19673. Flen1 [0]Tush
  19674. Fdad Tush
  19675. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19676. },
  19677. 245: {
  19678. Ffc: *(*struct {
  19679. Fcode [0]Tush
  19680. Ffreq Tush
  19681. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(351)})),
  19682. Fdl: *(*struct {
  19683. Flen1 [0]Tush
  19684. Fdad Tush
  19685. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19686. },
  19687. 246: {
  19688. Ffc: *(*struct {
  19689. Fcode [0]Tush
  19690. Ffreq Tush
  19691. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(223)})),
  19692. Fdl: *(*struct {
  19693. Flen1 [0]Tush
  19694. Fdad Tush
  19695. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19696. },
  19697. 247: {
  19698. Ffc: *(*struct {
  19699. Fcode [0]Tush
  19700. Ffreq Tush
  19701. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(479)})),
  19702. Fdl: *(*struct {
  19703. Flen1 [0]Tush
  19704. Fdad Tush
  19705. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19706. },
  19707. 248: {
  19708. Ffc: *(*struct {
  19709. Fcode [0]Tush
  19710. Ffreq Tush
  19711. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(63)})),
  19712. Fdl: *(*struct {
  19713. Flen1 [0]Tush
  19714. Fdad Tush
  19715. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19716. },
  19717. 249: {
  19718. Ffc: *(*struct {
  19719. Fcode [0]Tush
  19720. Ffreq Tush
  19721. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(319)})),
  19722. Fdl: *(*struct {
  19723. Flen1 [0]Tush
  19724. Fdad Tush
  19725. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19726. },
  19727. 250: {
  19728. Ffc: *(*struct {
  19729. Fcode [0]Tush
  19730. Ffreq Tush
  19731. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(191)})),
  19732. Fdl: *(*struct {
  19733. Flen1 [0]Tush
  19734. Fdad Tush
  19735. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19736. },
  19737. 251: {
  19738. Ffc: *(*struct {
  19739. Fcode [0]Tush
  19740. Ffreq Tush
  19741. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(447)})),
  19742. Fdl: *(*struct {
  19743. Flen1 [0]Tush
  19744. Fdad Tush
  19745. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19746. },
  19747. 252: {
  19748. Ffc: *(*struct {
  19749. Fcode [0]Tush
  19750. Ffreq Tush
  19751. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(127)})),
  19752. Fdl: *(*struct {
  19753. Flen1 [0]Tush
  19754. Fdad Tush
  19755. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19756. },
  19757. 253: {
  19758. Ffc: *(*struct {
  19759. Fcode [0]Tush
  19760. Ffreq Tush
  19761. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(383)})),
  19762. Fdl: *(*struct {
  19763. Flen1 [0]Tush
  19764. Fdad Tush
  19765. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19766. },
  19767. 254: {
  19768. Ffc: *(*struct {
  19769. Fcode [0]Tush
  19770. Ffreq Tush
  19771. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(255)})),
  19772. Fdl: *(*struct {
  19773. Flen1 [0]Tush
  19774. Fdad Tush
  19775. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19776. },
  19777. 255: {
  19778. Ffc: *(*struct {
  19779. Fcode [0]Tush
  19780. Ffreq Tush
  19781. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(511)})),
  19782. Fdl: *(*struct {
  19783. Flen1 [0]Tush
  19784. Fdad Tush
  19785. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19786. },
  19787. 256: {
  19788. Fdl: *(*struct {
  19789. Flen1 [0]Tush
  19790. Fdad Tush
  19791. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19792. },
  19793. 257: {
  19794. Ffc: *(*struct {
  19795. Fcode [0]Tush
  19796. Ffreq Tush
  19797. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(64)})),
  19798. Fdl: *(*struct {
  19799. Flen1 [0]Tush
  19800. Fdad Tush
  19801. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19802. },
  19803. 258: {
  19804. Ffc: *(*struct {
  19805. Fcode [0]Tush
  19806. Ffreq Tush
  19807. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(32)})),
  19808. Fdl: *(*struct {
  19809. Flen1 [0]Tush
  19810. Fdad Tush
  19811. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19812. },
  19813. 259: {
  19814. Ffc: *(*struct {
  19815. Fcode [0]Tush
  19816. Ffreq Tush
  19817. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(96)})),
  19818. Fdl: *(*struct {
  19819. Flen1 [0]Tush
  19820. Fdad Tush
  19821. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19822. },
  19823. 260: {
  19824. Ffc: *(*struct {
  19825. Fcode [0]Tush
  19826. Ffreq Tush
  19827. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  19828. Fdl: *(*struct {
  19829. Flen1 [0]Tush
  19830. Fdad Tush
  19831. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19832. },
  19833. 261: {
  19834. Ffc: *(*struct {
  19835. Fcode [0]Tush
  19836. Ffreq Tush
  19837. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(80)})),
  19838. Fdl: *(*struct {
  19839. Flen1 [0]Tush
  19840. Fdad Tush
  19841. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19842. },
  19843. 262: {
  19844. Ffc: *(*struct {
  19845. Fcode [0]Tush
  19846. Ffreq Tush
  19847. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(48)})),
  19848. Fdl: *(*struct {
  19849. Flen1 [0]Tush
  19850. Fdad Tush
  19851. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19852. },
  19853. 263: {
  19854. Ffc: *(*struct {
  19855. Fcode [0]Tush
  19856. Ffreq Tush
  19857. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(112)})),
  19858. Fdl: *(*struct {
  19859. Flen1 [0]Tush
  19860. Fdad Tush
  19861. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19862. },
  19863. 264: {
  19864. Ffc: *(*struct {
  19865. Fcode [0]Tush
  19866. Ffreq Tush
  19867. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19868. Fdl: *(*struct {
  19869. Flen1 [0]Tush
  19870. Fdad Tush
  19871. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19872. },
  19873. 265: {
  19874. Ffc: *(*struct {
  19875. Fcode [0]Tush
  19876. Ffreq Tush
  19877. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(72)})),
  19878. Fdl: *(*struct {
  19879. Flen1 [0]Tush
  19880. Fdad Tush
  19881. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19882. },
  19883. 266: {
  19884. Ffc: *(*struct {
  19885. Fcode [0]Tush
  19886. Ffreq Tush
  19887. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(40)})),
  19888. Fdl: *(*struct {
  19889. Flen1 [0]Tush
  19890. Fdad Tush
  19891. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19892. },
  19893. 267: {
  19894. Ffc: *(*struct {
  19895. Fcode [0]Tush
  19896. Ffreq Tush
  19897. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(104)})),
  19898. Fdl: *(*struct {
  19899. Flen1 [0]Tush
  19900. Fdad Tush
  19901. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19902. },
  19903. 268: {
  19904. Ffc: *(*struct {
  19905. Fcode [0]Tush
  19906. Ffreq Tush
  19907. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  19908. Fdl: *(*struct {
  19909. Flen1 [0]Tush
  19910. Fdad Tush
  19911. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19912. },
  19913. 269: {
  19914. Ffc: *(*struct {
  19915. Fcode [0]Tush
  19916. Ffreq Tush
  19917. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(88)})),
  19918. Fdl: *(*struct {
  19919. Flen1 [0]Tush
  19920. Fdad Tush
  19921. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19922. },
  19923. 270: {
  19924. Ffc: *(*struct {
  19925. Fcode [0]Tush
  19926. Ffreq Tush
  19927. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(56)})),
  19928. Fdl: *(*struct {
  19929. Flen1 [0]Tush
  19930. Fdad Tush
  19931. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19932. },
  19933. 271: {
  19934. Ffc: *(*struct {
  19935. Fcode [0]Tush
  19936. Ffreq Tush
  19937. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(120)})),
  19938. Fdl: *(*struct {
  19939. Flen1 [0]Tush
  19940. Fdad Tush
  19941. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19942. },
  19943. 272: {
  19944. Ffc: *(*struct {
  19945. Fcode [0]Tush
  19946. Ffreq Tush
  19947. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  19948. Fdl: *(*struct {
  19949. Flen1 [0]Tush
  19950. Fdad Tush
  19951. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19952. },
  19953. 273: {
  19954. Ffc: *(*struct {
  19955. Fcode [0]Tush
  19956. Ffreq Tush
  19957. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(68)})),
  19958. Fdl: *(*struct {
  19959. Flen1 [0]Tush
  19960. Fdad Tush
  19961. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19962. },
  19963. 274: {
  19964. Ffc: *(*struct {
  19965. Fcode [0]Tush
  19966. Ffreq Tush
  19967. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(36)})),
  19968. Fdl: *(*struct {
  19969. Flen1 [0]Tush
  19970. Fdad Tush
  19971. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19972. },
  19973. 275: {
  19974. Ffc: *(*struct {
  19975. Fcode [0]Tush
  19976. Ffreq Tush
  19977. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(100)})),
  19978. Fdl: *(*struct {
  19979. Flen1 [0]Tush
  19980. Fdad Tush
  19981. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19982. },
  19983. 276: {
  19984. Ffc: *(*struct {
  19985. Fcode [0]Tush
  19986. Ffreq Tush
  19987. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  19988. Fdl: *(*struct {
  19989. Flen1 [0]Tush
  19990. Fdad Tush
  19991. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19992. },
  19993. 277: {
  19994. Ffc: *(*struct {
  19995. Fcode [0]Tush
  19996. Ffreq Tush
  19997. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(84)})),
  19998. Fdl: *(*struct {
  19999. Flen1 [0]Tush
  20000. Fdad Tush
  20001. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20002. },
  20003. 278: {
  20004. Ffc: *(*struct {
  20005. Fcode [0]Tush
  20006. Ffreq Tush
  20007. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(52)})),
  20008. Fdl: *(*struct {
  20009. Flen1 [0]Tush
  20010. Fdad Tush
  20011. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20012. },
  20013. 279: {
  20014. Ffc: *(*struct {
  20015. Fcode [0]Tush
  20016. Ffreq Tush
  20017. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(116)})),
  20018. Fdl: *(*struct {
  20019. Flen1 [0]Tush
  20020. Fdad Tush
  20021. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20022. },
  20023. 280: {
  20024. Ffc: *(*struct {
  20025. Fcode [0]Tush
  20026. Ffreq Tush
  20027. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  20028. Fdl: *(*struct {
  20029. Flen1 [0]Tush
  20030. Fdad Tush
  20031. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20032. },
  20033. 281: {
  20034. Ffc: *(*struct {
  20035. Fcode [0]Tush
  20036. Ffreq Tush
  20037. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(131)})),
  20038. Fdl: *(*struct {
  20039. Flen1 [0]Tush
  20040. Fdad Tush
  20041. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20042. },
  20043. 282: {
  20044. Ffc: *(*struct {
  20045. Fcode [0]Tush
  20046. Ffreq Tush
  20047. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(67)})),
  20048. Fdl: *(*struct {
  20049. Flen1 [0]Tush
  20050. Fdad Tush
  20051. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20052. },
  20053. 283: {
  20054. Ffc: *(*struct {
  20055. Fcode [0]Tush
  20056. Ffreq Tush
  20057. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(195)})),
  20058. Fdl: *(*struct {
  20059. Flen1 [0]Tush
  20060. Fdad Tush
  20061. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20062. },
  20063. 284: {
  20064. Ffc: *(*struct {
  20065. Fcode [0]Tush
  20066. Ffreq Tush
  20067. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(35)})),
  20068. Fdl: *(*struct {
  20069. Flen1 [0]Tush
  20070. Fdad Tush
  20071. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20072. },
  20073. 285: {
  20074. Ffc: *(*struct {
  20075. Fcode [0]Tush
  20076. Ffreq Tush
  20077. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(163)})),
  20078. Fdl: *(*struct {
  20079. Flen1 [0]Tush
  20080. Fdad Tush
  20081. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20082. },
  20083. 286: {
  20084. Ffc: *(*struct {
  20085. Fcode [0]Tush
  20086. Ffreq Tush
  20087. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(99)})),
  20088. Fdl: *(*struct {
  20089. Flen1 [0]Tush
  20090. Fdad Tush
  20091. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20092. },
  20093. 287: {
  20094. Ffc: *(*struct {
  20095. Fcode [0]Tush
  20096. Ffreq Tush
  20097. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(227)})),
  20098. Fdl: *(*struct {
  20099. Flen1 [0]Tush
  20100. Fdad Tush
  20101. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20102. },
  20103. }
  20104. var _static_dtree = [30]Tct_data{
  20105. 0: {
  20106. Fdl: *(*struct {
  20107. Flen1 [0]Tush
  20108. Fdad Tush
  20109. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20110. },
  20111. 1: {
  20112. Ffc: *(*struct {
  20113. Fcode [0]Tush
  20114. Ffreq Tush
  20115. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  20116. Fdl: *(*struct {
  20117. Flen1 [0]Tush
  20118. Fdad Tush
  20119. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20120. },
  20121. 2: {
  20122. Ffc: *(*struct {
  20123. Fcode [0]Tush
  20124. Ffreq Tush
  20125. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20126. Fdl: *(*struct {
  20127. Flen1 [0]Tush
  20128. Fdad Tush
  20129. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20130. },
  20131. 3: {
  20132. Ffc: *(*struct {
  20133. Fcode [0]Tush
  20134. Ffreq Tush
  20135. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  20136. Fdl: *(*struct {
  20137. Flen1 [0]Tush
  20138. Fdad Tush
  20139. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20140. },
  20141. 4: {
  20142. Ffc: *(*struct {
  20143. Fcode [0]Tush
  20144. Ffreq Tush
  20145. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  20146. Fdl: *(*struct {
  20147. Flen1 [0]Tush
  20148. Fdad Tush
  20149. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20150. },
  20151. 5: {
  20152. Ffc: *(*struct {
  20153. Fcode [0]Tush
  20154. Ffreq Tush
  20155. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  20156. Fdl: *(*struct {
  20157. Flen1 [0]Tush
  20158. Fdad Tush
  20159. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20160. },
  20161. 6: {
  20162. Ffc: *(*struct {
  20163. Fcode [0]Tush
  20164. Ffreq Tush
  20165. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  20166. Fdl: *(*struct {
  20167. Flen1 [0]Tush
  20168. Fdad Tush
  20169. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20170. },
  20171. 7: {
  20172. Ffc: *(*struct {
  20173. Fcode [0]Tush
  20174. Ffreq Tush
  20175. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  20176. Fdl: *(*struct {
  20177. Flen1 [0]Tush
  20178. Fdad Tush
  20179. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20180. },
  20181. 8: {
  20182. Ffc: *(*struct {
  20183. Fcode [0]Tush
  20184. Ffreq Tush
  20185. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  20186. Fdl: *(*struct {
  20187. Flen1 [0]Tush
  20188. Fdad Tush
  20189. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20190. },
  20191. 9: {
  20192. Ffc: *(*struct {
  20193. Fcode [0]Tush
  20194. Ffreq Tush
  20195. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  20196. Fdl: *(*struct {
  20197. Flen1 [0]Tush
  20198. Fdad Tush
  20199. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20200. },
  20201. 10: {
  20202. Ffc: *(*struct {
  20203. Fcode [0]Tush
  20204. Ffreq Tush
  20205. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  20206. Fdl: *(*struct {
  20207. Flen1 [0]Tush
  20208. Fdad Tush
  20209. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20210. },
  20211. 11: {
  20212. Ffc: *(*struct {
  20213. Fcode [0]Tush
  20214. Ffreq Tush
  20215. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  20216. Fdl: *(*struct {
  20217. Flen1 [0]Tush
  20218. Fdad Tush
  20219. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20220. },
  20221. 12: {
  20222. Ffc: *(*struct {
  20223. Fcode [0]Tush
  20224. Ffreq Tush
  20225. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  20226. Fdl: *(*struct {
  20227. Flen1 [0]Tush
  20228. Fdad Tush
  20229. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20230. },
  20231. 13: {
  20232. Ffc: *(*struct {
  20233. Fcode [0]Tush
  20234. Ffreq Tush
  20235. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  20236. Fdl: *(*struct {
  20237. Flen1 [0]Tush
  20238. Fdad Tush
  20239. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20240. },
  20241. 14: {
  20242. Ffc: *(*struct {
  20243. Fcode [0]Tush
  20244. Ffreq Tush
  20245. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  20246. Fdl: *(*struct {
  20247. Flen1 [0]Tush
  20248. Fdad Tush
  20249. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20250. },
  20251. 15: {
  20252. Ffc: *(*struct {
  20253. Fcode [0]Tush
  20254. Ffreq Tush
  20255. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  20256. Fdl: *(*struct {
  20257. Flen1 [0]Tush
  20258. Fdad Tush
  20259. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20260. },
  20261. 16: {
  20262. Ffc: *(*struct {
  20263. Fcode [0]Tush
  20264. Ffreq Tush
  20265. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  20266. Fdl: *(*struct {
  20267. Flen1 [0]Tush
  20268. Fdad Tush
  20269. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20270. },
  20271. 17: {
  20272. Ffc: *(*struct {
  20273. Fcode [0]Tush
  20274. Ffreq Tush
  20275. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  20276. Fdl: *(*struct {
  20277. Flen1 [0]Tush
  20278. Fdad Tush
  20279. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20280. },
  20281. 18: {
  20282. Ffc: *(*struct {
  20283. Fcode [0]Tush
  20284. Ffreq Tush
  20285. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20286. Fdl: *(*struct {
  20287. Flen1 [0]Tush
  20288. Fdad Tush
  20289. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20290. },
  20291. 19: {
  20292. Ffc: *(*struct {
  20293. Fcode [0]Tush
  20294. Ffreq Tush
  20295. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  20296. Fdl: *(*struct {
  20297. Flen1 [0]Tush
  20298. Fdad Tush
  20299. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20300. },
  20301. 20: {
  20302. Ffc: *(*struct {
  20303. Fcode [0]Tush
  20304. Ffreq Tush
  20305. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20306. Fdl: *(*struct {
  20307. Flen1 [0]Tush
  20308. Fdad Tush
  20309. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20310. },
  20311. 21: {
  20312. Ffc: *(*struct {
  20313. Fcode [0]Tush
  20314. Ffreq Tush
  20315. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  20316. Fdl: *(*struct {
  20317. Flen1 [0]Tush
  20318. Fdad Tush
  20319. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20320. },
  20321. 22: {
  20322. Ffc: *(*struct {
  20323. Fcode [0]Tush
  20324. Ffreq Tush
  20325. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  20326. Fdl: *(*struct {
  20327. Flen1 [0]Tush
  20328. Fdad Tush
  20329. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20330. },
  20331. 23: {
  20332. Ffc: *(*struct {
  20333. Fcode [0]Tush
  20334. Ffreq Tush
  20335. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  20336. Fdl: *(*struct {
  20337. Flen1 [0]Tush
  20338. Fdad Tush
  20339. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20340. },
  20341. 24: {
  20342. Ffc: *(*struct {
  20343. Fcode [0]Tush
  20344. Ffreq Tush
  20345. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  20346. Fdl: *(*struct {
  20347. Flen1 [0]Tush
  20348. Fdad Tush
  20349. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20350. },
  20351. 25: {
  20352. Ffc: *(*struct {
  20353. Fcode [0]Tush
  20354. Ffreq Tush
  20355. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  20356. Fdl: *(*struct {
  20357. Flen1 [0]Tush
  20358. Fdad Tush
  20359. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20360. },
  20361. 26: {
  20362. Ffc: *(*struct {
  20363. Fcode [0]Tush
  20364. Ffreq Tush
  20365. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  20366. Fdl: *(*struct {
  20367. Flen1 [0]Tush
  20368. Fdad Tush
  20369. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20370. },
  20371. 27: {
  20372. Ffc: *(*struct {
  20373. Fcode [0]Tush
  20374. Ffreq Tush
  20375. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  20376. Fdl: *(*struct {
  20377. Flen1 [0]Tush
  20378. Fdad Tush
  20379. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20380. },
  20381. 28: {
  20382. Ffc: *(*struct {
  20383. Fcode [0]Tush
  20384. Ffreq Tush
  20385. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20386. Fdl: *(*struct {
  20387. Flen1 [0]Tush
  20388. Fdad Tush
  20389. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20390. },
  20391. 29: {
  20392. Ffc: *(*struct {
  20393. Fcode [0]Tush
  20394. Ffreq Tush
  20395. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  20396. Fdl: *(*struct {
  20397. Flen1 [0]Tush
  20398. Fdad Tush
  20399. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20400. },
  20401. }
  20402. var _base_length = [29]int32{
  20403. 1: int32(1),
  20404. 2: int32(2),
  20405. 3: int32(3),
  20406. 4: int32(4),
  20407. 5: int32(5),
  20408. 6: int32(6),
  20409. 7: int32(7),
  20410. 8: int32(8),
  20411. 9: int32(10),
  20412. 10: int32(12),
  20413. 11: int32(14),
  20414. 12: int32(16),
  20415. 13: int32(20),
  20416. 14: int32(24),
  20417. 15: int32(28),
  20418. 16: int32(32),
  20419. 17: int32(40),
  20420. 18: int32(48),
  20421. 19: int32(56),
  20422. 20: int32(64),
  20423. 21: int32(80),
  20424. 22: int32(96),
  20425. 23: int32(112),
  20426. 24: int32(128),
  20427. 25: int32(160),
  20428. 26: int32(192),
  20429. 27: int32(224),
  20430. }
  20431. var _base_dist = [30]int32{
  20432. 1: int32(1),
  20433. 2: int32(2),
  20434. 3: int32(3),
  20435. 4: int32(4),
  20436. 5: int32(6),
  20437. 6: int32(8),
  20438. 7: int32(12),
  20439. 8: int32(16),
  20440. 9: int32(24),
  20441. 10: int32(32),
  20442. 11: int32(48),
  20443. 12: int32(64),
  20444. 13: int32(96),
  20445. 14: int32(128),
  20446. 15: int32(192),
  20447. 16: int32(256),
  20448. 17: int32(384),
  20449. 18: int32(512),
  20450. 19: int32(768),
  20451. 20: int32(1024),
  20452. 21: int32(1536),
  20453. 22: int32(2048),
  20454. 23: int32(3072),
  20455. 24: int32(4096),
  20456. 25: int32(6144),
  20457. 26: int32(8192),
  20458. 27: int32(12288),
  20459. 28: int32(16384),
  20460. 29: int32(24576),
  20461. }
  20462. var _static_l_desc = Tstatic_tree_desc{
  20463. Fstatic_tree: uintptr(unsafe.Pointer(&_static_ltree)),
  20464. Fextra_bits: uintptr(unsafe.Pointer(&_extra_lbits)),
  20465. Fextra_base: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1),
  20466. Felems: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1) + libc.Int32FromInt32(m_LENGTH_CODES),
  20467. Fmax_length: int32(m_MAX_BITS),
  20468. }
  20469. var _static_d_desc = Tstatic_tree_desc{
  20470. Fstatic_tree: uintptr(unsafe.Pointer(&_static_dtree)),
  20471. Fextra_bits: uintptr(unsafe.Pointer(&_extra_dbits)),
  20472. Felems: int32(m_D_CODES),
  20473. Fmax_length: int32(m_MAX_BITS),
  20474. }
  20475. var _static_bl_desc = Tstatic_tree_desc{
  20476. Fextra_bits: uintptr(unsafe.Pointer(&_extra_blbits)),
  20477. Felems: int32(m_BL_CODES),
  20478. Fmax_length: int32(m_MAX_BL_BITS),
  20479. }
  20480. /* ===========================================================================
  20481. * Output a short LSB first on the stream.
  20482. * IN assertion: there is enough room in pendingBuf.
  20483. */
  20484. // C documentation
  20485. //
  20486. // /* ===========================================================================
  20487. // * Reverse the first len bits of a code, using straightforward code (a faster
  20488. // * method would use a table)
  20489. // * IN assertion: 1 <= len <= 15
  20490. // */
  20491. func _bi_reverse(tls *libc.TLS, code uint32, len1 int32) (r uint32) {
  20492. var res uint32
  20493. var v1 int32
  20494. _, _ = res, v1
  20495. res = uint32(0)
  20496. for {
  20497. res |= code & uint32(1)
  20498. code >>= uint32(1)
  20499. res <<= uint32(1)
  20500. goto _2
  20501. _2:
  20502. ;
  20503. len1--
  20504. v1 = len1
  20505. if !(v1 > 0) {
  20506. break
  20507. }
  20508. }
  20509. return res >> int32(1)
  20510. }
  20511. // C documentation
  20512. //
  20513. // /* ===========================================================================
  20514. // * Flush the bit buffer, keeping at most 7 bits in it.
  20515. // */
  20516. func _bi_flush(tls *libc.TLS, s uintptr) {
  20517. var v1, v3, v5 Tulg
  20518. var v2, v4, v6, p7 uintptr
  20519. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, p7
  20520. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid == int32(16) {
  20521. v2 = s + 40
  20522. v1 = *(*Tulg)(unsafe.Pointer(v2))
  20523. *(*Tulg)(unsafe.Pointer(v2))++
  20524. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  20525. v4 = s + 40
  20526. v3 = *(*Tulg)(unsafe.Pointer(v4))
  20527. *(*Tulg)(unsafe.Pointer(v4))++
  20528. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  20529. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20530. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20531. } else {
  20532. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid >= int32(8) {
  20533. v6 = s + 40
  20534. v5 = *(*Tulg)(unsafe.Pointer(v6))
  20535. *(*Tulg)(unsafe.Pointer(v6))++
  20536. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  20537. p7 = s + 5936
  20538. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) >> libc.Int32FromInt32(8))
  20539. *(*int32)(unsafe.Pointer(s + 5940)) -= int32(8)
  20540. }
  20541. }
  20542. }
  20543. // C documentation
  20544. //
  20545. // /* ===========================================================================
  20546. // * Flush the bit buffer and align the output on a byte boundary
  20547. // */
  20548. func _bi_windup(tls *libc.TLS, s uintptr) {
  20549. var v1, v3, v5 Tulg
  20550. var v2, v4, v6 uintptr
  20551. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  20552. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > int32(8) {
  20553. v2 = s + 40
  20554. v1 = *(*Tulg)(unsafe.Pointer(v2))
  20555. *(*Tulg)(unsafe.Pointer(v2))++
  20556. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  20557. v4 = s + 40
  20558. v3 = *(*Tulg)(unsafe.Pointer(v4))
  20559. *(*Tulg)(unsafe.Pointer(v4))++
  20560. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  20561. } else {
  20562. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > 0 {
  20563. v6 = s + 40
  20564. v5 = *(*Tulg)(unsafe.Pointer(v6))
  20565. *(*Tulg)(unsafe.Pointer(v6))++
  20566. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  20567. }
  20568. }
  20569. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20570. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20571. }
  20572. // C documentation
  20573. //
  20574. // /* ===========================================================================
  20575. // * Generate the codes for a given tree and bit counts (which need not be
  20576. // * optimal).
  20577. // * IN assertion: the array bl_count contains the bit length statistics for
  20578. // * the given tree and the field len is set for all tree elements.
  20579. // * OUT assertion: the field code is set for all tree elements of non
  20580. // * zero code length.
  20581. // */
  20582. func _gen_codes(tls *libc.TLS, tree uintptr, max_code int32, bl_count uintptr) {
  20583. bp := tls.Alloc(32)
  20584. defer tls.Free(32)
  20585. var bits, len1, n int32
  20586. var code uint32
  20587. var v3 Tush
  20588. var v4 uintptr
  20589. var _ /* next_code at bp+0 */ [16]Tush
  20590. _, _, _, _, _, _ = bits, code, len1, n, v3, v4 /* next code value for each bit length */
  20591. code = uint32(0) /* code index */
  20592. /* The distribution counts are first used to generate the code values
  20593. * without bit reversal.
  20594. */
  20595. bits = int32(1)
  20596. for {
  20597. if !(bits <= int32(m_MAX_BITS)) {
  20598. break
  20599. }
  20600. code = (code + uint32(*(*Tushf)(unsafe.Pointer(bl_count + uintptr(bits-int32(1))*2)))) << int32(1)
  20601. (*(*[16]Tush)(unsafe.Pointer(bp)))[bits] = uint16(code)
  20602. goto _1
  20603. _1:
  20604. ;
  20605. bits++
  20606. }
  20607. /* Check that the bit counts in bl_count are consistent. The last code
  20608. * must be all ones.
  20609. */
  20610. n = 0
  20611. for {
  20612. if !(n <= max_code) {
  20613. break
  20614. }
  20615. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))
  20616. if len1 == 0 {
  20617. goto _2
  20618. }
  20619. /* Now reverse the bits */
  20620. v4 = bp + uintptr(len1)*2
  20621. v3 = *(*Tush)(unsafe.Pointer(v4))
  20622. *(*Tush)(unsafe.Pointer(v4))++
  20623. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4)) = uint16(_bi_reverse(tls, uint32(v3), len1))
  20624. goto _2
  20625. _2:
  20626. ;
  20627. n++
  20628. }
  20629. }
  20630. /* Send a code of the given tree. c and tree must not have side effects */
  20631. /* ===========================================================================
  20632. * Send a value on a given number of bits.
  20633. * IN assertion: length <= 16 and value fits in length bits.
  20634. */
  20635. /* the arguments must not have side effects */
  20636. // C documentation
  20637. //
  20638. // /* ===========================================================================
  20639. // * Initialize the various 'constant' tables.
  20640. // */
  20641. func _tr_static_init(tls *libc.TLS) {
  20642. }
  20643. /* ===========================================================================
  20644. * Generate the file trees.h describing the static trees.
  20645. */
  20646. // C documentation
  20647. //
  20648. // /* ===========================================================================
  20649. // * Initialize a new block.
  20650. // */
  20651. func _init_block(tls *libc.TLS, s uintptr) {
  20652. var n int32
  20653. var v4 Tulg
  20654. var v5 TuInt
  20655. _, _, _ = n, v4, v5 /* iterates over tree elements */
  20656. /* Initialize the trees. */
  20657. n = 0
  20658. for {
  20659. if !(n < libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) {
  20660. break
  20661. }
  20662. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4)) = uint16(0)
  20663. goto _1
  20664. _1:
  20665. ;
  20666. n++
  20667. }
  20668. n = 0
  20669. for {
  20670. if !(n < int32(m_D_CODES)) {
  20671. break
  20672. }
  20673. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(n)*4)) = uint16(0)
  20674. goto _2
  20675. _2:
  20676. ;
  20677. n++
  20678. }
  20679. n = 0
  20680. for {
  20681. if !(n < int32(m_BL_CODES)) {
  20682. break
  20683. }
  20684. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(n)*4)) = uint16(0)
  20685. goto _3
  20686. _3:
  20687. ;
  20688. n++
  20689. }
  20690. *(*Tush)(unsafe.Pointer(s + 212 + 256*4)) = uint16(1)
  20691. v4 = libc.Uint64FromInt64(0)
  20692. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len = v4
  20693. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len = v4
  20694. v5 = libc.Uint32FromInt32(0)
  20695. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = v5
  20696. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next = v5
  20697. }
  20698. // C documentation
  20699. //
  20700. // /* ===========================================================================
  20701. // * Initialize the tree data structures for a new zlib stream.
  20702. // */
  20703. func x__tr_init(tls *libc.TLS, s uintptr) {
  20704. _tr_static_init(tls)
  20705. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fdyn_tree = s + 212
  20706. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_l_desc))
  20707. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fdyn_tree = s + 2504
  20708. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_d_desc))
  20709. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fdyn_tree = s + 2748
  20710. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_bl_desc))
  20711. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20712. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20713. /* Initialize the first block of the first file: */
  20714. _init_block(tls, s)
  20715. }
  20716. /* Index within the heap array of least frequent node in the Huffman tree */
  20717. /* ===========================================================================
  20718. * Remove the smallest element from the heap and recreate the heap with
  20719. * one less element. Updates heap and heap_len.
  20720. */
  20721. /* ===========================================================================
  20722. * Compares to subtrees, using the tree depth as tie breaker when
  20723. * the subtrees have equal frequency. This minimizes the worst case length.
  20724. */
  20725. // C documentation
  20726. //
  20727. // /* ===========================================================================
  20728. // * Restore the heap property by moving down the tree starting at node k,
  20729. // * exchanging a node with the smallest of its two sons if necessary, stopping
  20730. // * when the heap property is re-established (each father smaller than its
  20731. // * two sons).
  20732. // */
  20733. func _pqdownheap(tls *libc.TLS, s uintptr, tree uintptr, k int32) {
  20734. var j, v int32
  20735. _, _ = j, v
  20736. v = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4))
  20737. j = k << int32(1) /* left son of k */
  20738. for j <= (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len {
  20739. /* Set j to the smallest of the two sons: */
  20740. if j < (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len && (libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))*4))) < libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))*4))) == libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))))) <= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))))))) {
  20741. j++
  20742. }
  20743. /* Exit if v is smaller than both sons */
  20744. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(v)*4))) < libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(v)*4))) == libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(v)))) <= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))))) {
  20745. break
  20746. }
  20747. /* Exchange v with the smallest son */
  20748. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))
  20749. k = j
  20750. /* And continue down the tree, setting j to the left son of k */
  20751. j <<= int32(1)
  20752. }
  20753. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = v
  20754. }
  20755. // C documentation
  20756. //
  20757. // /* ===========================================================================
  20758. // * Compute the optimal bit lengths for a tree and update the total bit length
  20759. // * for the current block.
  20760. // * IN assertion: the fields freq and dad are set, heap[heap_max] and
  20761. // * above are the tree nodes sorted by increasing frequency.
  20762. // * OUT assertions: the field len is set to the optimal bit length, the
  20763. // * array bl_count contains the frequencies for each bit length.
  20764. // * The length opt_len is updated; static_len is also updated if stree is
  20765. // * not null.
  20766. // */
  20767. func _gen_bitlen(tls *libc.TLS, s uintptr, desc uintptr) {
  20768. var base, bits, h, m, max_code, max_length, n, overflow, xbits, v5 int32
  20769. var extra, stree, tree, p3 uintptr
  20770. var f Tush
  20771. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, bits, extra, f, h, m, max_code, max_length, n, overflow, stree, tree, xbits, v5, p3
  20772. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  20773. max_code = (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code
  20774. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  20775. extra = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_bits
  20776. base = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_base
  20777. max_length = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fmax_length /* frequency */
  20778. overflow = 0 /* number of elements with bit length too large */
  20779. bits = 0
  20780. for {
  20781. if !(bits <= int32(m_MAX_BITS)) {
  20782. break
  20783. }
  20784. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)) = uint16(0)
  20785. goto _1
  20786. _1:
  20787. ;
  20788. bits++
  20789. }
  20790. /* In a first pass, compute the optimal bit lengths (which may
  20791. * overflow in the case of the bit length tree).
  20792. */
  20793. *(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max)*4)))*4 + 2)) = uint16(0) /* root of the heap */
  20794. h = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max + int32(1)
  20795. for {
  20796. if !(h < libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES))+libc.Int32FromInt32(1)) {
  20797. break
  20798. }
  20799. n = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(h)*4))
  20800. bits = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))*4 + 2))) + int32(1)
  20801. if bits > max_length {
  20802. bits = max_length
  20803. overflow++
  20804. }
  20805. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = libc.Uint16FromInt32(bits)
  20806. /* We overwrite tree[n].Dad which is no longer needed */
  20807. if n > max_code {
  20808. goto _2
  20809. } /* not a leaf node */
  20810. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))++
  20811. xbits = 0
  20812. if n >= base {
  20813. xbits = *(*Tintf)(unsafe.Pointer(extra + uintptr(n-base)*4))
  20814. }
  20815. f = *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))
  20816. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(f) * uint64(libc.Uint32FromInt32(bits+xbits))
  20817. if stree != 0 {
  20818. *(*Tulg)(unsafe.Pointer(s + 5920)) += uint64(f) * uint64(libc.Uint32FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(stree + uintptr(n)*4 + 2)))+xbits))
  20819. }
  20820. goto _2
  20821. _2:
  20822. ;
  20823. h++
  20824. }
  20825. if overflow == 0 {
  20826. return
  20827. }
  20828. /* This happens for example on obj2 and pic of the Calgary corpus */
  20829. /* Find the first bit length which could increase: */
  20830. for cond := true; cond; cond = overflow > 0 {
  20831. bits = max_length - int32(1)
  20832. for libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))) == 0 {
  20833. bits--
  20834. }
  20835. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))-- /* move one leaf down the tree */
  20836. p3 = s + 2976 + uintptr(bits+int32(1))*2
  20837. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + libc.Int32FromInt32(2)) /* move one overflow item as its brother */
  20838. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(max_length)*2))--
  20839. /* The brother of the overflow item also moves one step up,
  20840. * but this does not affect bl_count[max_length]
  20841. */
  20842. overflow -= int32(2)
  20843. }
  20844. /* Now recompute all bit lengths, scanning in increasing frequency.
  20845. * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
  20846. * lengths instead of fixing only the wrong ones. This idea is taken
  20847. * from 'ar' written by Haruhiko Okumura.)
  20848. */
  20849. bits = max_length
  20850. for {
  20851. if !(bits != 0) {
  20852. break
  20853. }
  20854. n = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)))
  20855. for n != 0 {
  20856. h--
  20857. v5 = h
  20858. m = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v5)*4))
  20859. if m > max_code {
  20860. continue
  20861. }
  20862. if uint32(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2))) != libc.Uint32FromInt32(bits) {
  20863. *(*Tulg)(unsafe.Pointer(s + 5912)) += (libc.Uint64FromInt32(bits) - uint64(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)))) * uint64(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4)))
  20864. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = libc.Uint16FromInt32(bits)
  20865. }
  20866. n--
  20867. }
  20868. goto _4
  20869. _4:
  20870. ;
  20871. bits--
  20872. }
  20873. }
  20874. // C documentation
  20875. //
  20876. // /* ===========================================================================
  20877. // * Construct one Huffman tree and assigns the code bit strings and lengths.
  20878. // * Update the total bit length for the current block.
  20879. // * IN assertion: the field freq is set for all tree elements.
  20880. // * OUT assertions: the fields len and code are set to the optimal bit length
  20881. // * and corresponding code. The length opt_len is updated; static_len is
  20882. // * also updated if stree is not null. The field max_code is set.
  20883. // */
  20884. func _build_tree(tls *libc.TLS, s uintptr, desc uintptr) {
  20885. var elems, m, max_code, n, node, v11, v13, v15, v17, v19, v2, v20, v4, v5, v6, v7, v8 int32
  20886. var stree, tree, v12, v14, v16, v21, v3, v9 uintptr
  20887. var v18 Tush
  20888. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = elems, m, max_code, n, node, stree, tree, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v3, v4, v5, v6, v7, v8, v9
  20889. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  20890. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  20891. elems = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Felems /* iterate over heap elements */
  20892. max_code = -int32(1) /* new node being created */
  20893. /* Construct the initial heap, with least frequent element in
  20894. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  20895. * heap[0] is not used.
  20896. */
  20897. (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len = 0 /* new node being created */
  20898. /* Construct the initial heap, with least frequent element in
  20899. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  20900. * heap[0] is not used.
  20901. */
  20902. (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max = libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) + libc.Int32FromInt32(1)
  20903. n = 0
  20904. for {
  20905. if !(n < elems) {
  20906. break
  20907. }
  20908. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) != 0 {
  20909. v3 = s + 5300
  20910. *(*int32)(unsafe.Pointer(v3))++
  20911. v2 = *(*int32)(unsafe.Pointer(v3))
  20912. v4 = n
  20913. max_code = v4
  20914. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v2)*4)) = v4
  20915. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))) = uint8(0)
  20916. } else {
  20917. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = uint16(0)
  20918. }
  20919. goto _1
  20920. _1:
  20921. ;
  20922. n++
  20923. }
  20924. /* The pkzip format requires that at least one distance code exists,
  20925. * and that at least one bit should be sent even if there is only one
  20926. * possible code. So to avoid special checks later on we force at least
  20927. * two codes of non zero frequency.
  20928. */
  20929. for (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len < int32(2) {
  20930. if max_code < int32(2) {
  20931. max_code++
  20932. v7 = max_code
  20933. v6 = v7
  20934. } else {
  20935. v6 = 0
  20936. }
  20937. v5 = v6
  20938. v9 = s + 5300
  20939. *(*int32)(unsafe.Pointer(v9))++
  20940. v8 = *(*int32)(unsafe.Pointer(v9))
  20941. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v8)*4)) = v5
  20942. node = v5
  20943. *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = uint16(1)
  20944. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = uint8(0)
  20945. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len--
  20946. if stree != 0 {
  20947. *(*Tulg)(unsafe.Pointer(s + 5920)) -= uint64(*(*Tush)(unsafe.Pointer(stree + uintptr(node)*4 + 2)))
  20948. }
  20949. /* node is 0 or 1 so it does not have extra bits */
  20950. }
  20951. (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code = max_code
  20952. /* The elements heap[heap_len/2 + 1 .. heap_len] are leaves of the tree,
  20953. * establish sub-heaps of increasing lengths:
  20954. */
  20955. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len / int32(2)
  20956. for {
  20957. if !(n >= int32(1)) {
  20958. break
  20959. }
  20960. _pqdownheap(tls, s, tree, n)
  20961. goto _10
  20962. _10:
  20963. ;
  20964. n--
  20965. }
  20966. /* Construct the Huffman tree by repeatedly combining the least two
  20967. * frequent nodes.
  20968. */
  20969. node = elems /* next internal node of the tree */
  20970. for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len >= int32(2) {
  20971. n = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  20972. v12 = s + 5300
  20973. v11 = *(*int32)(unsafe.Pointer(v12))
  20974. *(*int32)(unsafe.Pointer(v12))--
  20975. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v11)*4))
  20976. _pqdownheap(tls, s, tree, int32(m_SMALLEST)) /* n = node of least frequency */
  20977. m = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) /* m = node of next least frequency */
  20978. v14 = s + 5304
  20979. *(*int32)(unsafe.Pointer(v14))--
  20980. v13 = *(*int32)(unsafe.Pointer(v14))
  20981. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v13)*4)) = n /* keep the nodes sorted by frequency */
  20982. v16 = s + 5304
  20983. *(*int32)(unsafe.Pointer(v16))--
  20984. v15 = *(*int32)(unsafe.Pointer(v16))
  20985. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v15)*4)) = m
  20986. /* Create a new node father of n and m */
  20987. *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = libc.Uint16FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) + libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4))))
  20988. if libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n)))) >= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m)))) {
  20989. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))))
  20990. } else {
  20991. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m))))
  20992. }
  20993. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = libc.Uint8FromInt32(v17 + libc.Int32FromInt32(1))
  20994. v18 = libc.Uint16FromInt32(node)
  20995. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = v18
  20996. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = v18
  20997. /* and insert the new node in the heap */
  20998. v19 = node
  20999. node++
  21000. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = v19
  21001. _pqdownheap(tls, s, tree, int32(m_SMALLEST))
  21002. }
  21003. v21 = s + 5304
  21004. *(*int32)(unsafe.Pointer(v21))--
  21005. v20 = *(*int32)(unsafe.Pointer(v21))
  21006. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v20)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  21007. /* At this point, the fields freq and dad are set. We can now
  21008. * generate the bit lengths.
  21009. */
  21010. _gen_bitlen(tls, s, desc)
  21011. /* The field len is now set, we can generate the bit codes */
  21012. _gen_codes(tls, tree, max_code, s+2976)
  21013. }
  21014. // C documentation
  21015. //
  21016. // /* ===========================================================================
  21017. // * Scan a literal or distance tree to determine the frequencies of the codes
  21018. // * in the bit length tree.
  21019. // */
  21020. func _scan_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  21021. var count, curlen, max_count, min_count, n, nextlen, prevlen, v2 int32
  21022. var p3 uintptr
  21023. _, _, _, _, _, _, _, _, _ = count, curlen, max_count, min_count, n, nextlen, prevlen, v2, p3 /* iterates over all tree elements */
  21024. prevlen = -int32(1) /* length of current code */
  21025. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  21026. count = 0 /* repeat count of the current code */
  21027. max_count = int32(7) /* max repeat count */
  21028. min_count = int32(4) /* min repeat count */
  21029. if nextlen == 0 {
  21030. max_count = int32(138)
  21031. min_count = libc.Int32FromInt32(3)
  21032. }
  21033. *(*Tush)(unsafe.Pointer(tree + uintptr(max_code+int32(1))*4 + 2)) = libc.Uint16FromInt32(0xffff) /* guard */
  21034. n = 0
  21035. for {
  21036. if !(n <= max_code) {
  21037. break
  21038. }
  21039. curlen = nextlen
  21040. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  21041. count++
  21042. v2 = count
  21043. if v2 < max_count && curlen == nextlen {
  21044. goto _1
  21045. } else {
  21046. if count < min_count {
  21047. p3 = s + 2748 + uintptr(curlen)*4
  21048. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + count)
  21049. } else {
  21050. if curlen != 0 {
  21051. if curlen != prevlen {
  21052. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))++
  21053. }
  21054. *(*Tush)(unsafe.Pointer(s + 2748 + 16*4))++
  21055. } else {
  21056. if count <= int32(10) {
  21057. *(*Tush)(unsafe.Pointer(s + 2748 + 17*4))++
  21058. } else {
  21059. *(*Tush)(unsafe.Pointer(s + 2748 + 18*4))++
  21060. }
  21061. }
  21062. }
  21063. }
  21064. count = 0
  21065. prevlen = curlen
  21066. if nextlen == 0 {
  21067. max_count = int32(138)
  21068. min_count = libc.Int32FromInt32(3)
  21069. } else {
  21070. if curlen == nextlen {
  21071. max_count = int32(6)
  21072. min_count = libc.Int32FromInt32(3)
  21073. } else {
  21074. max_count = int32(7)
  21075. min_count = libc.Int32FromInt32(4)
  21076. }
  21077. }
  21078. goto _1
  21079. _1:
  21080. ;
  21081. n++
  21082. }
  21083. }
  21084. // C documentation
  21085. //
  21086. // /* ===========================================================================
  21087. // * Send a literal or distance tree in compressed form, using the codes in
  21088. // * bl_tree.
  21089. // */
  21090. func _send_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  21091. var count, curlen, len1, len11, len2, len3, len4, len5, len6, len7, max_count, min_count, n, nextlen, prevlen, val, val1, val2, val3, val4, val5, val6, val7, v2, v3 int32
  21092. var v12, v14, v18, v20, v24, v26, v30, v32, v36, v38, v42, v44, v48, v50, v6, v8 Tulg
  21093. var v13, v15, v19, v21, v25, v27, v31, v33, v37, v39, v43, v45, v49, v51, v7, v9, p10, p11, p16, p17, p22, p23, p28, p29, p34, p35, p40, p41, p46, p47, p5, p52 uintptr
  21094. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = count, curlen, len1, len11, len2, len3, len4, len5, len6, len7, max_count, min_count, n, nextlen, prevlen, val, val1, val2, val3, val4, val5, val6, val7, v12, v13, v14, v15, v18, v19, v2, v20, v21, v24, v25, v26, v27, v3, v30, v31, v32, v33, v36, v37, v38, v39, v42, v43, v44, v45, v48, v49, v50, v51, v6, v7, v8, v9, p10, p11, p16, p17, p22, p23, p28, p29, p34, p35, p40, p41, p46, p47, p5, p52 /* iterates over all tree elements */
  21095. prevlen = -int32(1) /* length of current code */
  21096. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  21097. count = 0 /* repeat count of the current code */
  21098. max_count = int32(7) /* max repeat count */
  21099. min_count = int32(4) /* min repeat count */
  21100. /* tree[max_code + 1].Len = -1; */ /* guard already set */
  21101. if nextlen == 0 {
  21102. max_count = int32(138)
  21103. min_count = libc.Int32FromInt32(3)
  21104. }
  21105. n = 0
  21106. for {
  21107. if !(n <= max_code) {
  21108. break
  21109. }
  21110. curlen = nextlen
  21111. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  21112. count++
  21113. v2 = count
  21114. if v2 < max_count && curlen == nextlen {
  21115. goto _1
  21116. } else {
  21117. if count < min_count {
  21118. for {
  21119. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  21120. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21121. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  21122. p5 = s + 5936
  21123. *(*Tush)(unsafe.Pointer(p5)) = Tush(int32(*(*Tush)(unsafe.Pointer(p5))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21124. v7 = s + 40
  21125. v6 = *(*Tulg)(unsafe.Pointer(v7))
  21126. *(*Tulg)(unsafe.Pointer(v7))++
  21127. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21128. v9 = s + 40
  21129. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21130. *(*Tulg)(unsafe.Pointer(v9))++
  21131. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21132. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21133. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21134. } else {
  21135. p10 = s + 5936
  21136. *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21137. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21138. }
  21139. goto _4
  21140. _4:
  21141. ;
  21142. count--
  21143. v3 = count
  21144. if !(v3 != 0) {
  21145. break
  21146. }
  21147. }
  21148. } else {
  21149. if curlen != 0 {
  21150. if curlen != prevlen {
  21151. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  21152. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21153. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  21154. p11 = s + 5936
  21155. *(*Tush)(unsafe.Pointer(p11)) = Tush(int32(*(*Tush)(unsafe.Pointer(p11))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21156. v13 = s + 40
  21157. v12 = *(*Tulg)(unsafe.Pointer(v13))
  21158. *(*Tulg)(unsafe.Pointer(v13))++
  21159. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21160. v15 = s + 40
  21161. v14 = *(*Tulg)(unsafe.Pointer(v15))
  21162. *(*Tulg)(unsafe.Pointer(v15))++
  21163. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21164. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21165. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21166. } else {
  21167. p16 = s + 5936
  21168. *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21169. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21170. }
  21171. count--
  21172. }
  21173. len2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4 + 2)))
  21174. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21175. val2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))
  21176. p17 = s + 5936
  21177. *(*Tush)(unsafe.Pointer(p17)) = Tush(int32(*(*Tush)(unsafe.Pointer(p17))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21178. v19 = s + 40
  21179. v18 = *(*Tulg)(unsafe.Pointer(v19))
  21180. *(*Tulg)(unsafe.Pointer(v19))++
  21181. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21182. v21 = s + 40
  21183. v20 = *(*Tulg)(unsafe.Pointer(v21))
  21184. *(*Tulg)(unsafe.Pointer(v21))++
  21185. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21186. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21187. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21188. } else {
  21189. p22 = s + 5936
  21190. *(*Tush)(unsafe.Pointer(p22)) = Tush(int32(*(*Tush)(unsafe.Pointer(p22))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21191. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21192. }
  21193. len3 = int32(2)
  21194. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21195. val3 = count - int32(3)
  21196. p23 = s + 5936
  21197. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21198. v25 = s + 40
  21199. v24 = *(*Tulg)(unsafe.Pointer(v25))
  21200. *(*Tulg)(unsafe.Pointer(v25))++
  21201. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21202. v27 = s + 40
  21203. v26 = *(*Tulg)(unsafe.Pointer(v27))
  21204. *(*Tulg)(unsafe.Pointer(v27))++
  21205. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21206. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21207. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21208. } else {
  21209. p28 = s + 5936
  21210. *(*Tush)(unsafe.Pointer(p28)) = Tush(int32(*(*Tush)(unsafe.Pointer(p28))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(3)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21211. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21212. }
  21213. } else {
  21214. if count <= int32(10) {
  21215. len4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4 + 2)))
  21216. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  21217. val4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))
  21218. p29 = s + 5936
  21219. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21220. v31 = s + 40
  21221. v30 = *(*Tulg)(unsafe.Pointer(v31))
  21222. *(*Tulg)(unsafe.Pointer(v31))++
  21223. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v30))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21224. v33 = s + 40
  21225. v32 = *(*Tulg)(unsafe.Pointer(v33))
  21226. *(*Tulg)(unsafe.Pointer(v33))++
  21227. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v32))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21228. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val4)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21229. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  21230. } else {
  21231. p34 = s + 5936
  21232. *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21233. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  21234. }
  21235. len5 = int32(3)
  21236. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  21237. val5 = count - int32(3)
  21238. p35 = s + 5936
  21239. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21240. v37 = s + 40
  21241. v36 = *(*Tulg)(unsafe.Pointer(v37))
  21242. *(*Tulg)(unsafe.Pointer(v37))++
  21243. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v36))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21244. v39 = s + 40
  21245. v38 = *(*Tulg)(unsafe.Pointer(v39))
  21246. *(*Tulg)(unsafe.Pointer(v39))++
  21247. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v38))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21248. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val5)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21249. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  21250. } else {
  21251. p40 = s + 5936
  21252. *(*Tush)(unsafe.Pointer(p40)) = Tush(int32(*(*Tush)(unsafe.Pointer(p40))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(3)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21253. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  21254. }
  21255. } else {
  21256. len6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4 + 2)))
  21257. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len6 {
  21258. val6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))
  21259. p41 = s + 5936
  21260. *(*Tush)(unsafe.Pointer(p41)) = Tush(int32(*(*Tush)(unsafe.Pointer(p41))) | libc.Int32FromUint16(libc.Uint16FromInt32(val6))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21261. v43 = s + 40
  21262. v42 = *(*Tulg)(unsafe.Pointer(v43))
  21263. *(*Tulg)(unsafe.Pointer(v43))++
  21264. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v42))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21265. v45 = s + 40
  21266. v44 = *(*Tulg)(unsafe.Pointer(v45))
  21267. *(*Tulg)(unsafe.Pointer(v45))++
  21268. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v44))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21269. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val6)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21270. *(*int32)(unsafe.Pointer(s + 5940)) += len6 - int32(m_Buf_size)
  21271. } else {
  21272. p46 = s + 5936
  21273. *(*Tush)(unsafe.Pointer(p46)) = Tush(int32(*(*Tush)(unsafe.Pointer(p46))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21274. *(*int32)(unsafe.Pointer(s + 5940)) += len6
  21275. }
  21276. len7 = int32(7)
  21277. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len7 {
  21278. val7 = count - int32(11)
  21279. p47 = s + 5936
  21280. *(*Tush)(unsafe.Pointer(p47)) = Tush(int32(*(*Tush)(unsafe.Pointer(p47))) | libc.Int32FromUint16(libc.Uint16FromInt32(val7))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21281. v49 = s + 40
  21282. v48 = *(*Tulg)(unsafe.Pointer(v49))
  21283. *(*Tulg)(unsafe.Pointer(v49))++
  21284. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v48))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21285. v51 = s + 40
  21286. v50 = *(*Tulg)(unsafe.Pointer(v51))
  21287. *(*Tulg)(unsafe.Pointer(v51))++
  21288. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v50))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21289. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val7)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21290. *(*int32)(unsafe.Pointer(s + 5940)) += len7 - int32(m_Buf_size)
  21291. } else {
  21292. p52 = s + 5936
  21293. *(*Tush)(unsafe.Pointer(p52)) = Tush(int32(*(*Tush)(unsafe.Pointer(p52))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(11)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21294. *(*int32)(unsafe.Pointer(s + 5940)) += len7
  21295. }
  21296. }
  21297. }
  21298. }
  21299. }
  21300. count = 0
  21301. prevlen = curlen
  21302. if nextlen == 0 {
  21303. max_count = int32(138)
  21304. min_count = libc.Int32FromInt32(3)
  21305. } else {
  21306. if curlen == nextlen {
  21307. max_count = int32(6)
  21308. min_count = libc.Int32FromInt32(3)
  21309. } else {
  21310. max_count = int32(7)
  21311. min_count = libc.Int32FromInt32(4)
  21312. }
  21313. }
  21314. goto _1
  21315. _1:
  21316. ;
  21317. n++
  21318. }
  21319. }
  21320. // C documentation
  21321. //
  21322. // /* ===========================================================================
  21323. // * Construct the Huffman tree for the bit lengths and return the index in
  21324. // * bl_order of the last bit length code to send.
  21325. // */
  21326. func _build_bl_tree(tls *libc.TLS, s uintptr) (r int32) {
  21327. var max_blindex int32
  21328. _ = max_blindex /* index of last bit length code of non zero freq */
  21329. /* Determine the bit length frequencies for literal and distance trees */
  21330. _scan_tree(tls, s, s+212, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code)
  21331. _scan_tree(tls, s, s+2504, (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code)
  21332. /* Build the bit length tree: */
  21333. _build_tree(tls, s, s+2952)
  21334. /* opt_len now includes the length of the tree representations, except the
  21335. * lengths of the bit lengths codes and the 5 + 5 + 4 bits for the counts.
  21336. */
  21337. /* Determine the number of bit length codes to send. The pkzip format
  21338. * requires that at least 4 bit length codes be sent. (appnote.txt says
  21339. * 3 but the actual value used is 4.)
  21340. */
  21341. max_blindex = libc.Int32FromInt32(m_BL_CODES) - libc.Int32FromInt32(1)
  21342. for {
  21343. if !(max_blindex >= int32(3)) {
  21344. break
  21345. }
  21346. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[max_blindex])*4 + 2))) != 0 {
  21347. break
  21348. }
  21349. goto _1
  21350. _1:
  21351. ;
  21352. max_blindex--
  21353. }
  21354. /* Update opt_len to include the bit length tree and counts */
  21355. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(3)*(libc.Uint64FromInt32(max_blindex)+uint64(1)) + uint64(5) + uint64(5) + uint64(4)
  21356. return max_blindex
  21357. }
  21358. // C documentation
  21359. //
  21360. // /* ===========================================================================
  21361. // * Send the header for a block using dynamic Huffman trees: the counts, the
  21362. // * lengths of the bit length codes, the literal tree and the distance tree.
  21363. // * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
  21364. // */
  21365. func _send_all_trees(tls *libc.TLS, s uintptr, lcodes int32, dcodes int32, blcodes int32) {
  21366. var len1, len11, len2, len3, rank, val, val1, val2, val3 int32
  21367. var v10, v14, v16, v2, v21, v23, v4, v8 Tulg
  21368. var v11, v15, v17, v22, v24, v3, v5, v9, p1, p12, p13, p18, p20, p25, p6, p7 uintptr
  21369. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, len2, len3, rank, val, val1, val2, val3, v10, v11, v14, v15, v16, v17, v2, v21, v22, v23, v24, v3, v4, v5, v8, v9, p1, p12, p13, p18, p20, p25, p6, p7 /* index in bl_order */
  21370. len1 = int32(5)
  21371. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21372. val = lcodes - int32(257)
  21373. p1 = s + 5936
  21374. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21375. v3 = s + 40
  21376. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21377. *(*Tulg)(unsafe.Pointer(v3))++
  21378. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21379. v5 = s + 40
  21380. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21381. *(*Tulg)(unsafe.Pointer(v5))++
  21382. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21383. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21384. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21385. } else {
  21386. p6 = s + 5936
  21387. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(lcodes-libc.Int32FromInt32(257)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21388. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21389. } /* not +255 as stated in appnote.txt */
  21390. len11 = int32(5)
  21391. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21392. val1 = dcodes - int32(1)
  21393. p7 = s + 5936
  21394. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21395. v9 = s + 40
  21396. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21397. *(*Tulg)(unsafe.Pointer(v9))++
  21398. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21399. v11 = s + 40
  21400. v10 = *(*Tulg)(unsafe.Pointer(v11))
  21401. *(*Tulg)(unsafe.Pointer(v11))++
  21402. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21403. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21404. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21405. } else {
  21406. p12 = s + 5936
  21407. *(*Tush)(unsafe.Pointer(p12)) = Tush(int32(*(*Tush)(unsafe.Pointer(p12))) | libc.Int32FromUint16(libc.Uint16FromInt32(dcodes-libc.Int32FromInt32(1)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21408. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21409. }
  21410. len2 = int32(4)
  21411. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21412. val2 = blcodes - int32(4)
  21413. p13 = s + 5936
  21414. *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21415. v15 = s + 40
  21416. v14 = *(*Tulg)(unsafe.Pointer(v15))
  21417. *(*Tulg)(unsafe.Pointer(v15))++
  21418. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21419. v17 = s + 40
  21420. v16 = *(*Tulg)(unsafe.Pointer(v17))
  21421. *(*Tulg)(unsafe.Pointer(v17))++
  21422. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21423. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21424. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21425. } else {
  21426. p18 = s + 5936
  21427. *(*Tush)(unsafe.Pointer(p18)) = Tush(int32(*(*Tush)(unsafe.Pointer(p18))) | libc.Int32FromUint16(libc.Uint16FromInt32(blcodes-libc.Int32FromInt32(4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21428. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21429. } /* not -3 as stated in appnote.txt */
  21430. rank = 0
  21431. for {
  21432. if !(rank < blcodes) {
  21433. break
  21434. }
  21435. len3 = int32(3)
  21436. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21437. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))
  21438. p20 = s + 5936
  21439. *(*Tush)(unsafe.Pointer(p20)) = Tush(int32(*(*Tush)(unsafe.Pointer(p20))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21440. v22 = s + 40
  21441. v21 = *(*Tulg)(unsafe.Pointer(v22))
  21442. *(*Tulg)(unsafe.Pointer(v22))++
  21443. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v21))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21444. v24 = s + 40
  21445. v23 = *(*Tulg)(unsafe.Pointer(v24))
  21446. *(*Tulg)(unsafe.Pointer(v24))++
  21447. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v23))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21448. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21449. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21450. } else {
  21451. p25 = s + 5936
  21452. *(*Tush)(unsafe.Pointer(p25)) = Tush(int32(*(*Tush)(unsafe.Pointer(p25))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21453. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21454. }
  21455. goto _19
  21456. _19:
  21457. ;
  21458. rank++
  21459. }
  21460. _send_tree(tls, s, s+212, lcodes-int32(1)) /* literal tree */
  21461. _send_tree(tls, s, s+2504, dcodes-int32(1)) /* distance tree */
  21462. }
  21463. // C documentation
  21464. //
  21465. // /* ===========================================================================
  21466. // * Send a stored block
  21467. // */
  21468. func x__tr_stored_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  21469. var len1, val int32
  21470. var v10, v12, v14, v3, v5, v8, p1, p6 uintptr
  21471. var v11, v13, v2, v4, v7, v9 Tulg
  21472. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, val, v10, v11, v12, v13, v14, v2, v3, v4, v5, v7, v8, v9, p1, p6
  21473. len1 = int32(3)
  21474. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21475. val = libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1) + last
  21476. p1 = s + 5936
  21477. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21478. v3 = s + 40
  21479. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21480. *(*Tulg)(unsafe.Pointer(v3))++
  21481. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21482. v5 = s + 40
  21483. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21484. *(*Tulg)(unsafe.Pointer(v5))++
  21485. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21486. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21487. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21488. } else {
  21489. p6 = s + 5936
  21490. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21491. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21492. } /* send block type */
  21493. _bi_windup(tls, s) /* align on byte boundary */
  21494. v8 = s + 40
  21495. v7 = *(*Tulg)(unsafe.Pointer(v8))
  21496. *(*Tulg)(unsafe.Pointer(v8))++
  21497. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) & libc.Int32FromInt32(0xff))
  21498. v10 = s + 40
  21499. v9 = *(*Tulg)(unsafe.Pointer(v10))
  21500. *(*Tulg)(unsafe.Pointer(v10))++
  21501. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) >> libc.Int32FromInt32(8))
  21502. v12 = s + 40
  21503. v11 = *(*Tulg)(unsafe.Pointer(v12))
  21504. *(*Tulg)(unsafe.Pointer(v12))++
  21505. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) & libc.Int32FromInt32(0xff))
  21506. v14 = s + 40
  21507. v13 = *(*Tulg)(unsafe.Pointer(v14))
  21508. *(*Tulg)(unsafe.Pointer(v14))++
  21509. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) >> libc.Int32FromInt32(8))
  21510. if stored_len != 0 {
  21511. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), buf, stored_len)
  21512. }
  21513. *(*Tulg)(unsafe.Pointer(s + 40)) += stored_len
  21514. }
  21515. // C documentation
  21516. //
  21517. // /* ===========================================================================
  21518. // * Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
  21519. // */
  21520. func x__tr_flush_bits(tls *libc.TLS, s uintptr) {
  21521. _bi_flush(tls, s)
  21522. }
  21523. // C documentation
  21524. //
  21525. // /* ===========================================================================
  21526. // * Send one empty static block to give enough lookahead for inflate.
  21527. // * This takes 10 bits, of which 7 may remain in the bit buffer.
  21528. // */
  21529. func x__tr_align(tls *libc.TLS, s uintptr) {
  21530. var len1, len11, val, val1 int32
  21531. var v10, v2, v4, v8 Tulg
  21532. var v11, v3, v5, v9, p1, p12, p6, p7 uintptr
  21533. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, val, val1, v10, v11, v2, v3, v4, v5, v8, v9, p1, p12, p6, p7
  21534. len1 = int32(3)
  21535. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21536. val = libc.Int32FromInt32(m_STATIC_TREES) << libc.Int32FromInt32(1)
  21537. p1 = s + 5936
  21538. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21539. v3 = s + 40
  21540. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21541. *(*Tulg)(unsafe.Pointer(v3))++
  21542. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21543. v5 = s + 40
  21544. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21545. *(*Tulg)(unsafe.Pointer(v5))++
  21546. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21547. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21548. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21549. } else {
  21550. p6 = s + 5936
  21551. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21552. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21553. }
  21554. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4 + 2)))
  21555. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21556. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))
  21557. p7 = s + 5936
  21558. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21559. v9 = s + 40
  21560. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21561. *(*Tulg)(unsafe.Pointer(v9))++
  21562. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21563. v11 = s + 40
  21564. v10 = *(*Tulg)(unsafe.Pointer(v11))
  21565. *(*Tulg)(unsafe.Pointer(v11))++
  21566. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21567. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21568. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21569. } else {
  21570. p12 = s + 5936
  21571. *(*Tush)(unsafe.Pointer(p12)) = Tush(int32(*(*Tush)(unsafe.Pointer(p12))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21572. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21573. }
  21574. _bi_flush(tls, s)
  21575. }
  21576. // C documentation
  21577. //
  21578. // /* ===========================================================================
  21579. // * Send the block data compressed using the given Huffman trees
  21580. // */
  21581. func _compress_block(tls *libc.TLS, s uintptr, ltree uintptr, dtree uintptr) {
  21582. var code, dist, sx, v1, v2, v3 uint32
  21583. var extra, lc, len1, len11, len2, len3, len4, len5, val, val1, val2, val3, val4, val5, v22 int32
  21584. var v11, v13, v17, v19, v24, v26, v30, v32, v36, v38, v5, v7 Tulg
  21585. var v12, v14, v18, v20, v25, v27, v31, v33, v37, v39, v6, v8, p10, p15, p16, p21, p23, p28, p29, p34, p35, p4, p40, p9 uintptr
  21586. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = code, dist, extra, lc, len1, len11, len2, len3, len4, len5, sx, val, val1, val2, val3, val4, val5, v1, v11, v12, v13, v14, v17, v18, v19, v2, v20, v22, v24, v25, v26, v27, v3, v30, v31, v32, v33, v36, v37, v38, v39, v5, v6, v7, v8, p10, p15, p16, p21, p23, p28, p29, p34, p35, p4, p40, p9 /* match length or unmatched char (if dist == 0) */
  21587. sx = uint32(0) /* number of extra bits to send */
  21588. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != uint32(0) {
  21589. for cond := true; cond; cond = sx < (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next {
  21590. v1 = sx
  21591. sx++
  21592. dist = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1)))) & int32(0xff))
  21593. v2 = sx
  21594. sx++
  21595. dist += libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))))&libc.Int32FromInt32(0xff)) << int32(8)
  21596. v3 = sx
  21597. sx++
  21598. lc = libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))))
  21599. if dist == uint32(0) {
  21600. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4 + 2)))
  21601. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21602. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))
  21603. p4 = s + 5936
  21604. *(*Tush)(unsafe.Pointer(p4)) = Tush(int32(*(*Tush)(unsafe.Pointer(p4))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21605. v6 = s + 40
  21606. v5 = *(*Tulg)(unsafe.Pointer(v6))
  21607. *(*Tulg)(unsafe.Pointer(v6))++
  21608. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21609. v8 = s + 40
  21610. v7 = *(*Tulg)(unsafe.Pointer(v8))
  21611. *(*Tulg)(unsafe.Pointer(v8))++
  21612. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21613. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21614. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21615. } else {
  21616. p9 = s + 5936
  21617. *(*Tush)(unsafe.Pointer(p9)) = Tush(int32(*(*Tush)(unsafe.Pointer(p9))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21618. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21619. } /* send a literal byte */
  21620. } else {
  21621. /* Here, lc is the match length - MIN_MATCH */
  21622. code = uint32(x__length_code[lc])
  21623. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4 + 2)))
  21624. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21625. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))
  21626. p10 = s + 5936
  21627. *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21628. v12 = s + 40
  21629. v11 = *(*Tulg)(unsafe.Pointer(v12))
  21630. *(*Tulg)(unsafe.Pointer(v12))++
  21631. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21632. v14 = s + 40
  21633. v13 = *(*Tulg)(unsafe.Pointer(v14))
  21634. *(*Tulg)(unsafe.Pointer(v14))++
  21635. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21636. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21637. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21638. } else {
  21639. p15 = s + 5936
  21640. *(*Tush)(unsafe.Pointer(p15)) = Tush(int32(*(*Tush)(unsafe.Pointer(p15))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21641. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21642. } /* send length code */
  21643. extra = _extra_lbits[code]
  21644. if extra != 0 {
  21645. lc -= _base_length[code]
  21646. len2 = extra
  21647. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21648. val2 = lc
  21649. p16 = s + 5936
  21650. *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21651. v18 = s + 40
  21652. v17 = *(*Tulg)(unsafe.Pointer(v18))
  21653. *(*Tulg)(unsafe.Pointer(v18))++
  21654. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v17))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21655. v20 = s + 40
  21656. v19 = *(*Tulg)(unsafe.Pointer(v20))
  21657. *(*Tulg)(unsafe.Pointer(v20))++
  21658. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v19))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21659. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21660. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21661. } else {
  21662. p21 = s + 5936
  21663. *(*Tush)(unsafe.Pointer(p21)) = Tush(int32(*(*Tush)(unsafe.Pointer(p21))) | libc.Int32FromUint16(libc.Uint16FromInt32(lc))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21664. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21665. } /* send the extra length bits */
  21666. }
  21667. dist-- /* dist is now the match distance - 1 */
  21668. if dist < uint32(256) {
  21669. v22 = libc.Int32FromUint8(x__dist_code[dist])
  21670. } else {
  21671. v22 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  21672. }
  21673. code = libc.Uint32FromInt32(v22)
  21674. len3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4 + 2)))
  21675. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21676. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))
  21677. p23 = s + 5936
  21678. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21679. v25 = s + 40
  21680. v24 = *(*Tulg)(unsafe.Pointer(v25))
  21681. *(*Tulg)(unsafe.Pointer(v25))++
  21682. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21683. v27 = s + 40
  21684. v26 = *(*Tulg)(unsafe.Pointer(v27))
  21685. *(*Tulg)(unsafe.Pointer(v27))++
  21686. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21687. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21688. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21689. } else {
  21690. p28 = s + 5936
  21691. *(*Tush)(unsafe.Pointer(p28)) = Tush(int32(*(*Tush)(unsafe.Pointer(p28))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21692. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21693. } /* send the distance code */
  21694. extra = _extra_dbits[code]
  21695. if extra != 0 {
  21696. dist -= libc.Uint32FromInt32(_base_dist[code])
  21697. len4 = extra
  21698. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  21699. val4 = libc.Int32FromUint32(dist)
  21700. p29 = s + 5936
  21701. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21702. v31 = s + 40
  21703. v30 = *(*Tulg)(unsafe.Pointer(v31))
  21704. *(*Tulg)(unsafe.Pointer(v31))++
  21705. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v30))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21706. v33 = s + 40
  21707. v32 = *(*Tulg)(unsafe.Pointer(v33))
  21708. *(*Tulg)(unsafe.Pointer(v33))++
  21709. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v32))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21710. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val4)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21711. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  21712. } else {
  21713. p34 = s + 5936
  21714. *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(uint16(dist))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21715. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  21716. } /* send the extra distance bits */
  21717. }
  21718. } /* literal or match pair ? */
  21719. /* Check for no overlay of pending_buf on needed symbols */
  21720. }
  21721. }
  21722. len5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4 + 2)))
  21723. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  21724. val5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))
  21725. p35 = s + 5936
  21726. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21727. v37 = s + 40
  21728. v36 = *(*Tulg)(unsafe.Pointer(v37))
  21729. *(*Tulg)(unsafe.Pointer(v37))++
  21730. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v36))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21731. v39 = s + 40
  21732. v38 = *(*Tulg)(unsafe.Pointer(v39))
  21733. *(*Tulg)(unsafe.Pointer(v39))++
  21734. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v38))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21735. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val5)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21736. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  21737. } else {
  21738. p40 = s + 5936
  21739. *(*Tush)(unsafe.Pointer(p40)) = Tush(int32(*(*Tush)(unsafe.Pointer(p40))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21740. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  21741. }
  21742. }
  21743. // C documentation
  21744. //
  21745. // /* ===========================================================================
  21746. // * Check if the data type is TEXT or BINARY, using the following algorithm:
  21747. // * - TEXT if the two conditions below are satisfied:
  21748. // * a) There are no non-portable control characters belonging to the
  21749. // * "block list" (0..6, 14..25, 28..31).
  21750. // * b) There is at least one printable character belonging to the
  21751. // * "allow list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
  21752. // * - BINARY otherwise.
  21753. // * - The following partially-portable control characters form a
  21754. // * "gray list" that is ignored in this detection algorithm:
  21755. // * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
  21756. // * IN assertion: the fields Freq of dyn_ltree are set.
  21757. // */
  21758. func _detect_data_type(tls *libc.TLS, s uintptr) (r int32) {
  21759. var block_mask uint64
  21760. var n int32
  21761. _, _ = block_mask, n
  21762. /* block_mask is the bit mask of block-listed bytes
  21763. * set bits 0..6, 14..25, and 28..31
  21764. * 0xf3ffc07f = binary 11110011111111111100000001111111
  21765. */
  21766. block_mask = uint64(0xf3ffc07f)
  21767. /* Check for non-textual ("block-listed") bytes. */
  21768. n = 0
  21769. for {
  21770. if !(n <= int32(31)) {
  21771. break
  21772. }
  21773. if block_mask&uint64(1) != 0 && libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  21774. return m_Z_BINARY
  21775. }
  21776. goto _1
  21777. _1:
  21778. ;
  21779. n++
  21780. block_mask >>= uint64(1)
  21781. }
  21782. /* Check for textual ("allow-listed") bytes. */
  21783. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 9*4))) != 0 || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 10*4))) != 0 || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 13*4))) != 0 {
  21784. return int32(m_Z_TEXT)
  21785. }
  21786. n = int32(32)
  21787. for {
  21788. if !(n < int32(m_LITERALS)) {
  21789. break
  21790. }
  21791. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  21792. return int32(m_Z_TEXT)
  21793. }
  21794. goto _2
  21795. _2:
  21796. ;
  21797. n++
  21798. }
  21799. /* There are no "block-listed" or "allow-listed" bytes:
  21800. * this stream either is empty or has tolerated ("gray-listed") bytes only.
  21801. */
  21802. return m_Z_BINARY
  21803. }
  21804. // C documentation
  21805. //
  21806. // /* ===========================================================================
  21807. // * Determine the best encoding for the current block: dynamic trees, static
  21808. // * trees or store, and write out the encoded block.
  21809. // */
  21810. func x__tr_flush_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  21811. var len1, len11, max_blindex, val, val1 int32
  21812. var opt_lenb, static_lenb, v1, v11, v3, v5, v9 Tulg
  21813. var v10, v12, v4, v6, p13, p2, p7, p8 uintptr
  21814. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, max_blindex, opt_lenb, static_lenb, val, val1, v1, v10, v11, v12, v3, v4, v5, v6, v9, p13, p2, p7, p8 /* opt_len and static_len in bytes */
  21815. max_blindex = 0 /* index of last bit length code of non zero freq */
  21816. /* Build the Huffman trees unless a stored block is forced */
  21817. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel > 0 {
  21818. /* Check if the file is binary or text */
  21819. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type == int32(m_Z_UNKNOWN) {
  21820. (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type = _detect_data_type(tls, s)
  21821. }
  21822. /* Construct the literal and distance trees */
  21823. _build_tree(tls, s, s+2904)
  21824. _build_tree(tls, s, s+2928)
  21825. /* At this point, opt_len and static_len are the total bit lengths of
  21826. * the compressed block data, excluding the tree representations.
  21827. */
  21828. /* Build the bit length tree for the above two trees, and get the index
  21829. * in bl_order of the last bit length code to send.
  21830. */
  21831. max_blindex = _build_bl_tree(tls, s)
  21832. /* Determine the best encoding. Compute the block lengths in bytes. */
  21833. opt_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len + uint64(3) + uint64(7)) >> int32(3)
  21834. static_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len + uint64(3) + uint64(7)) >> int32(3)
  21835. if static_lenb <= opt_lenb || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FIXED) {
  21836. opt_lenb = static_lenb
  21837. }
  21838. } else {
  21839. v1 = stored_len + libc.Uint64FromInt32(5)
  21840. static_lenb = v1
  21841. opt_lenb = v1 /* force a stored block */
  21842. }
  21843. if stored_len+uint64(4) <= opt_lenb && buf != libc.UintptrFromInt32(0) {
  21844. /* 4: two words for the lengths */
  21845. /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
  21846. * Otherwise we can't have processed more than WSIZE input bytes since
  21847. * the last block flush, because compression would have been
  21848. * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
  21849. * transform a block into a stored block.
  21850. */
  21851. x__tr_stored_block(tls, s, buf, stored_len, last)
  21852. } else {
  21853. if static_lenb == opt_lenb {
  21854. len1 = int32(3)
  21855. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21856. val = libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1) + last
  21857. p2 = s + 5936
  21858. *(*Tush)(unsafe.Pointer(p2)) = Tush(int32(*(*Tush)(unsafe.Pointer(p2))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21859. v4 = s + 40
  21860. v3 = *(*Tulg)(unsafe.Pointer(v4))
  21861. *(*Tulg)(unsafe.Pointer(v4))++
  21862. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21863. v6 = s + 40
  21864. v5 = *(*Tulg)(unsafe.Pointer(v6))
  21865. *(*Tulg)(unsafe.Pointer(v6))++
  21866. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21867. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21868. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21869. } else {
  21870. p7 = s + 5936
  21871. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21872. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21873. }
  21874. _compress_block(tls, s, uintptr(unsafe.Pointer(&_static_ltree)), uintptr(unsafe.Pointer(&_static_dtree)))
  21875. } else {
  21876. len11 = int32(3)
  21877. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21878. val1 = libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1) + last
  21879. p8 = s + 5936
  21880. *(*Tush)(unsafe.Pointer(p8)) = Tush(int32(*(*Tush)(unsafe.Pointer(p8))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21881. v10 = s + 40
  21882. v9 = *(*Tulg)(unsafe.Pointer(v10))
  21883. *(*Tulg)(unsafe.Pointer(v10))++
  21884. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21885. v12 = s + 40
  21886. v11 = *(*Tulg)(unsafe.Pointer(v12))
  21887. *(*Tulg)(unsafe.Pointer(v12))++
  21888. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21889. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21890. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21891. } else {
  21892. p13 = s + 5936
  21893. *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21894. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21895. }
  21896. _send_all_trees(tls, s, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code+int32(1), (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code+int32(1), max_blindex+int32(1))
  21897. _compress_block(tls, s, s+212, s+2504)
  21898. }
  21899. }
  21900. /* The above check is made mod 2^32, for files larger than 512 MB
  21901. * and uLong implemented on 32 bits.
  21902. */
  21903. _init_block(tls, s)
  21904. if last != 0 {
  21905. _bi_windup(tls, s)
  21906. }
  21907. }
  21908. // C documentation
  21909. //
  21910. // /* ===========================================================================
  21911. // * Save the match info and tally the frequency counts. Return true if
  21912. // * the current block must be flushed.
  21913. // */
  21914. func x__tr_tally(tls *libc.TLS, s uintptr, dist uint32, lc uint32) (r int32) {
  21915. var v1, v3, v5 TuInt
  21916. var v2, v4, v6 uintptr
  21917. var v7 int32
  21918. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, v7
  21919. v2 = s + 5900
  21920. v1 = *(*TuInt)(unsafe.Pointer(v2))
  21921. *(*TuInt)(unsafe.Pointer(v2))++
  21922. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1))) = uint8(dist)
  21923. v4 = s + 5900
  21924. v3 = *(*TuInt)(unsafe.Pointer(v4))
  21925. *(*TuInt)(unsafe.Pointer(v4))++
  21926. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist >> libc.Int32FromInt32(8))
  21927. v6 = s + 5900
  21928. v5 = *(*TuInt)(unsafe.Pointer(v6))
  21929. *(*TuInt)(unsafe.Pointer(v6))++
  21930. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = uint8(lc)
  21931. if dist == uint32(0) {
  21932. /* lc is the unmatched char */
  21933. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(lc)*4))++
  21934. } else {
  21935. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  21936. /* Here, lc is the match length - MIN_MATCH */
  21937. dist-- /* dist = match distance - 1 */
  21938. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[lc])+int32(m_LITERALS)+int32(1))*4))++
  21939. if dist < uint32(256) {
  21940. v7 = libc.Int32FromUint8(x__dist_code[dist])
  21941. } else {
  21942. v7 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  21943. }
  21944. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v7)*4))++
  21945. }
  21946. return libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  21947. }
  21948. const m_AT_EACCESS = 0x200
  21949. const m_AT_EMPTY_PATH = 0x1000
  21950. const m_AT_NO_AUTOMOUNT = 0x800
  21951. const m_AT_RECURSIVE = 0x8000
  21952. const m_AT_REMOVEDIR = 0x200
  21953. const m_AT_STATX_DONT_SYNC = 0x4000
  21954. const m_AT_STATX_FORCE_SYNC = 0x2000
  21955. const m_AT_STATX_SYNC_AS_STAT = 0x0000
  21956. const m_AT_STATX_SYNC_TYPE = 0x6000
  21957. const m_AT_SYMLINK_FOLLOW = 0x400
  21958. const m_AT_SYMLINK_NOFOLLOW = 0x100
  21959. const m_BUFSIZ = 1024
  21960. const m_COPY = 1
  21961. const m_DN_ACCESS = 0x00000001
  21962. const m_DN_ATTRIB = 0x00000020
  21963. const m_DN_CREATE = 0x00000004
  21964. const m_DN_DELETE = 0x00000008
  21965. const m_DN_MODIFY = 0x00000002
  21966. const m_DN_MULTISHOT = 0x80000000
  21967. const m_DN_RENAME = 0x00000010
  21968. const m_E2BIG = 7
  21969. const m_EACCES = 13
  21970. const m_EADDRINUSE = 98
  21971. const m_EADDRNOTAVAIL = 99
  21972. const m_EADV = 68
  21973. const m_EAFNOSUPPORT = 97
  21974. const m_EAGAIN = 11
  21975. const m_EALREADY = 114
  21976. const m_EBADE = 52
  21977. const m_EBADF = 9
  21978. const m_EBADFD = 77
  21979. const m_EBADMSG = 74
  21980. const m_EBADR = 53
  21981. const m_EBADRQC = 56
  21982. const m_EBADSLT = 57
  21983. const m_EBFONT = 59
  21984. const m_EBUSY = 16
  21985. const m_ECANCELED = 125
  21986. const m_ECHILD = 10
  21987. const m_ECHRNG = 44
  21988. const m_ECOMM = 70
  21989. const m_ECONNABORTED = 103
  21990. const m_ECONNREFUSED = 111
  21991. const m_ECONNRESET = 104
  21992. const m_EDEADLK = 35
  21993. const m_EDEADLOCK = "EDEADLK"
  21994. const m_EDESTADDRREQ = 89
  21995. const m_EDOM = 33
  21996. const m_EDOTDOT = 73
  21997. const m_EDQUOT = 122
  21998. const m_EEXIST = 17
  21999. const m_EFAULT = 14
  22000. const m_EFBIG = 27
  22001. const m_EHOSTDOWN = 112
  22002. const m_EHOSTUNREACH = 113
  22003. const m_EHWPOISON = 133
  22004. const m_EIDRM = 43
  22005. const m_EILSEQ = 84
  22006. const m_EINPROGRESS = 115
  22007. const m_EINTR = 4
  22008. const m_EINVAL = 22
  22009. const m_EIO = 5
  22010. const m_EISCONN = 106
  22011. const m_EISDIR = 21
  22012. const m_EISNAM = 120
  22013. const m_EKEYEXPIRED = 127
  22014. const m_EKEYREJECTED = 129
  22015. const m_EKEYREVOKED = 128
  22016. const m_EL2HLT = 51
  22017. const m_EL2NSYNC = 45
  22018. const m_EL3HLT = 46
  22019. const m_EL3RST = 47
  22020. const m_ELIBACC = 79
  22021. const m_ELIBBAD = 80
  22022. const m_ELIBEXEC = 83
  22023. const m_ELIBMAX = 82
  22024. const m_ELIBSCN = 81
  22025. const m_ELNRNG = 48
  22026. const m_ELOOP = 40
  22027. const m_EMEDIUMTYPE = 124
  22028. const m_EMFILE = 24
  22029. const m_EMLINK = 31
  22030. const m_EMSGSIZE = 90
  22031. const m_EMULTIHOP = 72
  22032. const m_ENAMETOOLONG = 36
  22033. const m_ENAVAIL = 119
  22034. const m_ENETDOWN = 100
  22035. const m_ENETRESET = 102
  22036. const m_ENETUNREACH = 101
  22037. const m_ENFILE = 23
  22038. const m_ENOANO = 55
  22039. const m_ENOBUFS = 105
  22040. const m_ENOCSI = 50
  22041. const m_ENODATA = 61
  22042. const m_ENODEV = 19
  22043. const m_ENOENT = 2
  22044. const m_ENOEXEC = 8
  22045. const m_ENOKEY = 126
  22046. const m_ENOLCK = 37
  22047. const m_ENOLINK = 67
  22048. const m_ENOMEDIUM = 123
  22049. const m_ENOMEM = 12
  22050. const m_ENOMSG = 42
  22051. const m_ENONET = 64
  22052. const m_ENOPKG = 65
  22053. const m_ENOPROTOOPT = 92
  22054. const m_ENOSPC = 28
  22055. const m_ENOSR = 63
  22056. const m_ENOSTR = 60
  22057. const m_ENOSYS = 38
  22058. const m_ENOTBLK = 15
  22059. const m_ENOTCONN = 107
  22060. const m_ENOTDIR = 20
  22061. const m_ENOTEMPTY = 39
  22062. const m_ENOTNAM = 118
  22063. const m_ENOTRECOVERABLE = 131
  22064. const m_ENOTSOCK = 88
  22065. const m_ENOTSUP = "EOPNOTSUPP"
  22066. const m_ENOTTY = 25
  22067. const m_ENOTUNIQ = 76
  22068. const m_ENXIO = 6
  22069. const m_EOPNOTSUPP = 95
  22070. const m_EOVERFLOW = 75
  22071. const m_EOWNERDEAD = 130
  22072. const m_EPERM = 1
  22073. const m_EPFNOSUPPORT = 96
  22074. const m_EPIPE = 32
  22075. const m_EPROTO = 71
  22076. const m_EPROTONOSUPPORT = 93
  22077. const m_EPROTOTYPE = 91
  22078. const m_ERANGE = 34
  22079. const m_EREMCHG = 78
  22080. const m_EREMOTE = 66
  22081. const m_EREMOTEIO = 121
  22082. const m_ERESTART = 85
  22083. const m_ERFKILL = 132
  22084. const m_EROFS = 30
  22085. const m_ESHUTDOWN = 108
  22086. const m_ESOCKTNOSUPPORT = 94
  22087. const m_ESPIPE = 29
  22088. const m_ESRCH = 3
  22089. const m_ESRMNT = 69
  22090. const m_ESTALE = 116
  22091. const m_ESTRPIPE = 86
  22092. const m_ETIME = 62
  22093. const m_ETIMEDOUT = 110
  22094. const m_ETOOMANYREFS = 109
  22095. const m_ETXTBSY = 26
  22096. const m_EUCLEAN = 117
  22097. const m_EUNATCH = 49
  22098. const m_EUSERS = 87
  22099. const m_EWOULDBLOCK = "EAGAIN"
  22100. const m_EXDEV = 18
  22101. const m_EXFULL = 54
  22102. const m_FALLOC_FL_KEEP_SIZE = 1
  22103. const m_FALLOC_FL_PUNCH_HOLE = 2
  22104. const m_FAPPEND = "O_APPEND"
  22105. const m_FASYNC = "O_ASYNC"
  22106. const m_FD_CLOEXEC = 1
  22107. const m_FFSYNC = "O_SYNC"
  22108. const m_FILENAME_MAX = 4096
  22109. const m_FNDELAY = "O_NDELAY"
  22110. const m_FNONBLOCK = "O_NONBLOCK"
  22111. const m_FOPEN_MAX = 1000
  22112. const m_F_ADD_SEALS = 1033
  22113. const m_F_CANCELLK = 1029
  22114. const m_F_DUPFD = 0
  22115. const m_F_DUPFD_CLOEXEC = 1030
  22116. const m_F_GETFD = 1
  22117. const m_F_GETFL = 3
  22118. const m_F_GETLEASE = 1025
  22119. const m_F_GETLK = 5
  22120. const m_F_GETLK64 = "F_GETLK"
  22121. const m_F_GETOWN = 9
  22122. const m_F_GETOWNER_UIDS = 17
  22123. const m_F_GETOWN_EX = 16
  22124. const m_F_GETPIPE_SZ = 1032
  22125. const m_F_GETSIG = 11
  22126. const m_F_GET_FILE_RW_HINT = 1037
  22127. const m_F_GET_RW_HINT = 1035
  22128. const m_F_GET_SEALS = 1034
  22129. const m_F_NOTIFY = 1026
  22130. const m_F_OFD_GETLK = 36
  22131. const m_F_OFD_SETLK = 37
  22132. const m_F_OFD_SETLKW = 38
  22133. const m_F_OWNER_GID = 2
  22134. const m_F_OWNER_PGRP = 2
  22135. const m_F_OWNER_PID = 1
  22136. const m_F_OWNER_TID = 0
  22137. const m_F_RDLCK = 0
  22138. const m_F_SEAL_FUTURE_WRITE = 0x0010
  22139. const m_F_SEAL_GROW = 0x0004
  22140. const m_F_SEAL_SEAL = 0x0001
  22141. const m_F_SEAL_SHRINK = 0x0002
  22142. const m_F_SEAL_WRITE = 0x0008
  22143. const m_F_SETFD = 2
  22144. const m_F_SETFL = 4
  22145. const m_F_SETLEASE = 1024
  22146. const m_F_SETLK = 6
  22147. const m_F_SETLK64 = "F_SETLK"
  22148. const m_F_SETLKW = 7
  22149. const m_F_SETLKW64 = "F_SETLKW"
  22150. const m_F_SETOWN = 8
  22151. const m_F_SETOWN_EX = 15
  22152. const m_F_SETPIPE_SZ = 1031
  22153. const m_F_SETSIG = 10
  22154. const m_F_SET_FILE_RW_HINT = 1038
  22155. const m_F_SET_RW_HINT = 1036
  22156. const m_F_UNLCK = 2
  22157. const m_F_WRLCK = 1
  22158. const m_GZBUFSIZE = 8192
  22159. const m_GZIP = 2
  22160. const m_GZ_APPEND = 1
  22161. const m_GZ_NONE = 0
  22162. const m_GZ_READ = 7247
  22163. const m_GZ_WRITE = 31153
  22164. const m_LOOK = 0
  22165. const m_L_ctermid = 20
  22166. const m_L_cuserid = 20
  22167. const m_L_tmpnam = 20
  22168. const m_MAX_HANDLE_SZ = 128
  22169. const m_O_APPEND = 02000
  22170. const m_O_ASYNC = 020000
  22171. const m_O_CLOEXEC = 02000000
  22172. const m_O_CREAT = 0100
  22173. const m_O_DIRECT = 040000
  22174. const m_O_DIRECTORY = 0200000
  22175. const m_O_DSYNC = 010000
  22176. const m_O_EXCL = 0200
  22177. const m_O_EXEC = "O_PATH"
  22178. const m_O_LARGEFILE = 0100000
  22179. const m_O_NDELAY = "O_NONBLOCK"
  22180. const m_O_NOATIME = 01000000
  22181. const m_O_NOCTTY = 0400
  22182. const m_O_NOFOLLOW = 0400000
  22183. const m_O_NONBLOCK = 04000
  22184. const m_O_PATH = 010000000
  22185. const m_O_RDONLY = 00
  22186. const m_O_RDWR = 02
  22187. const m_O_RSYNC = 04010000
  22188. const m_O_SEARCH = "O_PATH"
  22189. const m_O_SYNC = 04010000
  22190. const m_O_TMPFILE = 020200000
  22191. const m_O_TRUNC = 01000
  22192. const m_O_TTY_INIT = 0
  22193. const m_O_WRONLY = 01
  22194. const m_POSIX_FADV_DONTNEED = 4
  22195. const m_POSIX_FADV_NOREUSE = 5
  22196. const m_POSIX_FADV_NORMAL = 0
  22197. const m_POSIX_FADV_RANDOM = 1
  22198. const m_POSIX_FADV_SEQUENTIAL = 2
  22199. const m_POSIX_FADV_WILLNEED = 3
  22200. const m_P_tmpdir = "/tmp"
  22201. const m_RWF_WRITE_LIFE_NOT_SET = 0
  22202. const m_RWH_WRITE_LIFE_EXTREME = 5
  22203. const m_RWH_WRITE_LIFE_LONG = 4
  22204. const m_RWH_WRITE_LIFE_MEDIUM = 3
  22205. const m_RWH_WRITE_LIFE_NONE = 1
  22206. const m_RWH_WRITE_LIFE_SHORT = 2
  22207. const m_SPLICE_F_GIFT = 8
  22208. const m_SPLICE_F_MORE = 4
  22209. const m_SPLICE_F_MOVE = 1
  22210. const m_SPLICE_F_NONBLOCK = 2
  22211. const m_SYNC_FILE_RANGE_WAIT_AFTER = 4
  22212. const m_SYNC_FILE_RANGE_WAIT_BEFORE = 1
  22213. const m_SYNC_FILE_RANGE_WRITE = 2
  22214. const m_S_IRGRP = 0040
  22215. const m_S_IROTH = 0004
  22216. const m_S_IRUSR = 0400
  22217. const m_S_IRWXG = 0070
  22218. const m_S_IRWXO = 0007
  22219. const m_S_IRWXU = 0700
  22220. const m_S_ISGID = 02000
  22221. const m_S_ISUID = 04000
  22222. const m_S_ISVTX = 01000
  22223. const m_S_IWGRP = 0020
  22224. const m_S_IWOTH = 0002
  22225. const m_S_IWUSR = 0200
  22226. const m_S_IXGRP = 0010
  22227. const m_S_IXOTH = 0001
  22228. const m_S_IXUSR = 0100
  22229. const m_TMP_MAX = 10000
  22230. const m__IOFBF = 0
  22231. const m__IOLBF = 1
  22232. const m__IONBF = 2
  22233. const m__LARGEFILE_SOURCE = 1
  22234. const m_creat64 = "creat"
  22235. const m_fallocate64 = "fallocate"
  22236. const m_fgetpos64 = "fgetpos"
  22237. const m_flock64 = "flock"
  22238. const m_fopen64 = "fopen"
  22239. const m_fpos64_t = "fpos_t"
  22240. const m_freopen64 = "freopen"
  22241. const m_fseeko64 = "fseeko"
  22242. const m_fsetpos64 = "fsetpos"
  22243. const m_ftello64 = "ftello"
  22244. const m_loff_t = "off_t"
  22245. const m_open64 = "open"
  22246. const m_openat64 = "openat"
  22247. const m_posix_fadvise64 = "posix_fadvise"
  22248. const m_posix_fallocate64 = "posix_fallocate"
  22249. const m_tmpfile64 = "tmpfile"
  22250. type t__isoc_va_list = uintptr
  22251. type Tfpos_t = struct {
  22252. F__lldata [0]int64
  22253. F__align [0]float64
  22254. F__opaque [16]int8
  22255. }
  22256. type T_G_fpos64_t = Tfpos_t
  22257. type Tcookie_io_functions_t = struct {
  22258. Fread uintptr
  22259. Fwrite uintptr
  22260. Fseek uintptr
  22261. Fclose1 uintptr
  22262. }
  22263. type T_IO_cookie_io_functions_t = Tcookie_io_functions_t
  22264. type Tiovec = struct {
  22265. Fiov_base uintptr
  22266. Fiov_len Tsize_t
  22267. }
  22268. type Tflock = struct {
  22269. Fl_type int16
  22270. Fl_whence int16
  22271. Fl_start Toff_t
  22272. Fl_len Toff_t
  22273. Fl_pid Tpid_t
  22274. }
  22275. type Tfile_handle = struct {
  22276. Fhandle_bytes uint32
  22277. Fhandle_type int32
  22278. }
  22279. type Tf_owner_ex = struct {
  22280. Ftype1 int32
  22281. Fpid Tpid_t
  22282. }
  22283. type Tgz_state = struct {
  22284. Fx TgzFile_s
  22285. Fmode int32
  22286. Ffd int32
  22287. Fpath uintptr
  22288. Fsize uint32
  22289. Fwant uint32
  22290. Fin uintptr
  22291. Fout uintptr
  22292. Fdirect int32
  22293. Fhow int32
  22294. Fstart Toff_t
  22295. Feof int32
  22296. Fpast int32
  22297. Flevel int32
  22298. Fstrategy int32
  22299. Freset int32
  22300. Fskip Toff_t
  22301. Fseek int32
  22302. Ferr int32
  22303. Fmsg uintptr
  22304. Fstrm Tz_stream
  22305. }
  22306. type Tgz_statep = uintptr
  22307. func XzlibVersion(tls *libc.TLS) (r uintptr) {
  22308. return __ccgo_ts
  22309. }
  22310. func XzlibCompileFlags(tls *libc.TLS) (r TuLong) {
  22311. var flags TuLong
  22312. _ = flags
  22313. flags = uint64(0)
  22314. switch libc.Int32FromUint64(libc.Uint64FromInt64(4)) {
  22315. case int32(2):
  22316. case int32(4):
  22317. flags += uint64(1)
  22318. case int32(8):
  22319. flags += uint64(2)
  22320. default:
  22321. flags += uint64(3)
  22322. }
  22323. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22324. case int32(2):
  22325. case int32(4):
  22326. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(2))
  22327. case int32(8):
  22328. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(2))
  22329. default:
  22330. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(2))
  22331. }
  22332. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22333. case int32(2):
  22334. case int32(4):
  22335. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(4))
  22336. case int32(8):
  22337. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(4))
  22338. default:
  22339. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(4))
  22340. }
  22341. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22342. case int32(2):
  22343. case int32(4):
  22344. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(6))
  22345. case int32(8):
  22346. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(6))
  22347. default:
  22348. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(6))
  22349. }
  22350. /*
  22351. #if defined(ASMV) || defined(ASMINF)
  22352. flags += 1 << 9;
  22353. #endif
  22354. */
  22355. return flags
  22356. }
  22357. // C documentation
  22358. //
  22359. // /* exported to allow conversion of error code to string for compress() and
  22360. // * uncompress()
  22361. // */
  22362. func XzError(tls *libc.TLS, err int32) (r uintptr) {
  22363. var v1 int32
  22364. _ = v1
  22365. if err < -int32(6) || err > int32(2) {
  22366. v1 = int32(9)
  22367. } else {
  22368. v1 = int32(2) - err
  22369. }
  22370. return Xz_errmsg[v1]
  22371. }
  22372. func Xzcalloc(tls *libc.TLS, opaque Tvoidpf, items uint32, size uint32) (r Tvoidpf) {
  22373. _ = opaque
  22374. return libc.Xmalloc(tls, uint64(items*size))
  22375. }
  22376. func Xzcfree(tls *libc.TLS, opaque Tvoidpf, ptr Tvoidpf) {
  22377. _ = opaque
  22378. libc.Xfree(tls, ptr)
  22379. }
  22380. // C documentation
  22381. //
  22382. // /* ===========================================================================
  22383. // Compresses the source buffer into the destination buffer. The level
  22384. // parameter has the same meaning as in deflateInit. sourceLen is the byte
  22385. // length of the source buffer. Upon entry, destLen is the total size of the
  22386. // destination buffer, which must be at least 0.1% larger than sourceLen plus
  22387. // 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
  22388. //
  22389. // compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
  22390. // memory, Z_BUF_ERROR if there was not enough room in the output buffer,
  22391. // Z_STREAM_ERROR if the level parameter is invalid.
  22392. // */
  22393. func Xcompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong, level int32) (r int32) {
  22394. bp := tls.Alloc(112)
  22395. defer tls.Free(112)
  22396. var err, v3, v4 int32
  22397. var left TuLong
  22398. var max TuInt
  22399. var v1, v2 uint32
  22400. var _ /* stream at bp+0 */ Tz_stream
  22401. _, _, _, _, _, _, _ = err, left, max, v1, v2, v3, v4
  22402. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  22403. left = *(*TuLongf)(unsafe.Pointer(destLen))
  22404. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  22405. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  22406. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  22407. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  22408. err = XdeflateInit_(tls, bp, level, __ccgo_ts, libc.Int32FromInt64(112))
  22409. if err != m_Z_OK {
  22410. return err
  22411. }
  22412. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  22413. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  22414. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  22415. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  22416. for cond := true; cond; cond = err == m_Z_OK {
  22417. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  22418. if left > uint64(max) {
  22419. v1 = max
  22420. } else {
  22421. v1 = uint32(left)
  22422. }
  22423. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  22424. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  22425. }
  22426. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  22427. if sourceLen > uint64(max) {
  22428. v2 = max
  22429. } else {
  22430. v2 = uint32(sourceLen)
  22431. }
  22432. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  22433. sourceLen -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22434. }
  22435. if sourceLen != 0 {
  22436. v3 = m_Z_NO_FLUSH
  22437. } else {
  22438. v3 = int32(m_Z_FINISH)
  22439. }
  22440. err = Xdeflate(tls, bp, v3)
  22441. }
  22442. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  22443. XdeflateEnd(tls, bp)
  22444. if err == int32(m_Z_STREAM_END) {
  22445. v4 = m_Z_OK
  22446. } else {
  22447. v4 = err
  22448. }
  22449. return v4
  22450. }
  22451. // C documentation
  22452. //
  22453. // /* ===========================================================================
  22454. // */
  22455. func Xcompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong) (r int32) {
  22456. return Xcompress2(tls, dest, destLen, source, sourceLen, -int32(1))
  22457. }
  22458. // C documentation
  22459. //
  22460. // /* ===========================================================================
  22461. // If the default memLevel or windowBits for deflateInit() is changed, then
  22462. // this function needs to be updated.
  22463. // */
  22464. func XcompressBound(tls *libc.TLS, sourceLen TuLong) (r TuLong) {
  22465. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13)
  22466. }
  22467. // C documentation
  22468. //
  22469. // /* ===========================================================================
  22470. // Decompresses the source buffer into the destination buffer. *sourceLen is
  22471. // the byte length of the source buffer. Upon entry, *destLen is the total size
  22472. // of the destination buffer, which must be large enough to hold the entire
  22473. // uncompressed data. (The size of the uncompressed data must have been saved
  22474. // previously by the compressor and transmitted to the decompressor by some
  22475. // mechanism outside the scope of this compression library.) Upon exit,
  22476. // *destLen is the size of the decompressed data and *sourceLen is the number
  22477. // of source bytes consumed. Upon return, source + *sourceLen points to the
  22478. // first unused input byte.
  22479. //
  22480. // uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
  22481. // memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
  22482. // Z_DATA_ERROR if the input data was corrupted, including if the input data is
  22483. // an incomplete zlib stream.
  22484. // */
  22485. func Xuncompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen uintptr) (r int32) {
  22486. bp := tls.Alloc(128)
  22487. defer tls.Free(128)
  22488. var err, v3, v4, v5 int32
  22489. var left, len1 TuLong
  22490. var max TuInt
  22491. var v1, v2 uint32
  22492. var _ /* buf at bp+112 */ [1]TByte
  22493. var _ /* stream at bp+0 */ Tz_stream
  22494. _, _, _, _, _, _, _, _, _ = err, left, len1, max, v1, v2, v3, v4, v5
  22495. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* for detection of incomplete stream when *destLen == 0 */
  22496. len1 = *(*TuLong)(unsafe.Pointer(sourceLen))
  22497. if *(*TuLongf)(unsafe.Pointer(destLen)) != 0 {
  22498. left = *(*TuLongf)(unsafe.Pointer(destLen))
  22499. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  22500. } else {
  22501. left = uint64(1)
  22502. dest = bp + 112
  22503. }
  22504. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  22505. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  22506. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  22507. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  22508. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  22509. err = XinflateInit_(tls, bp, __ccgo_ts, libc.Int32FromInt64(112))
  22510. if err != m_Z_OK {
  22511. return err
  22512. }
  22513. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  22514. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  22515. for cond := true; cond; cond = err == m_Z_OK {
  22516. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  22517. if left > uint64(max) {
  22518. v1 = max
  22519. } else {
  22520. v1 = uint32(left)
  22521. }
  22522. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  22523. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  22524. }
  22525. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  22526. if len1 > uint64(max) {
  22527. v2 = max
  22528. } else {
  22529. v2 = uint32(len1)
  22530. }
  22531. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  22532. len1 -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22533. }
  22534. err = Xinflate(tls, bp, m_Z_NO_FLUSH)
  22535. }
  22536. *(*TuLong)(unsafe.Pointer(sourceLen)) -= len1 + uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22537. if dest != bp+112 {
  22538. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  22539. } else {
  22540. if (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out != 0 && err == -int32(5) {
  22541. left = uint64(1)
  22542. }
  22543. }
  22544. XinflateEnd(tls, bp)
  22545. if err == int32(m_Z_STREAM_END) {
  22546. v3 = m_Z_OK
  22547. } else {
  22548. if err == int32(m_Z_NEED_DICT) {
  22549. v4 = -int32(3)
  22550. } else {
  22551. if err == -int32(5) && left+uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out) != 0 {
  22552. v5 = -int32(3)
  22553. } else {
  22554. v5 = err
  22555. }
  22556. v4 = v5
  22557. }
  22558. v3 = v4
  22559. }
  22560. return v3
  22561. }
  22562. func Xuncompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, _sourceLen TuLong) (r int32) {
  22563. bp := tls.Alloc(16)
  22564. defer tls.Free(16)
  22565. *(*TuLong)(unsafe.Pointer(bp)) = _sourceLen
  22566. return Xuncompress2(tls, dest, destLen, source, bp)
  22567. }
  22568. // C documentation
  22569. //
  22570. // /* gzclose() is in a separate file so that it is linked in only if it is used.
  22571. // That way the other gzclose functions can be used instead to avoid linking in
  22572. // unneeded compression or decompression routines. */
  22573. func Xgzclose(tls *libc.TLS, file TgzFile) (r int32) {
  22574. var state Tgz_statep
  22575. var v1 int32
  22576. _, _ = state, v1
  22577. if file == libc.UintptrFromInt32(0) {
  22578. return -int32(2)
  22579. }
  22580. state = file
  22581. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22582. v1 = Xgzclose_r(tls, file)
  22583. } else {
  22584. v1 = Xgzclose_w(tls, file)
  22585. }
  22586. return v1
  22587. }
  22588. const m_INT_MAX1 = 2147483647
  22589. const m_LSEEK = "lseek"
  22590. const m_O_APPEND1 = 1024
  22591. const m_O_CLOEXEC1 = 524288
  22592. const m_O_CREAT1 = 64
  22593. const m_O_EXCL1 = 128
  22594. const m_O_LARGEFILE1 = 32768
  22595. const m_O_RDONLY1 = 0
  22596. const m_O_TRUNC1 = 512
  22597. const m_O_WRONLY1 = 1
  22598. // C documentation
  22599. //
  22600. // /* Reset gzip file state */
  22601. func _gz_reset(tls *libc.TLS, state Tgz_statep) {
  22602. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) /* no output data available */
  22603. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* for reading ... */
  22604. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0 /* not at end of file */
  22605. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0 /* have not read past end yet */
  22606. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK /* look for gzip header */
  22607. } else { /* for writing ... */
  22608. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  22609. } /* no deflateReset pending */
  22610. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0 /* no seek request pending */
  22611. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0)) /* clear error */
  22612. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos = 0 /* no uncompressed data yet */
  22613. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0) /* no input data yet */
  22614. }
  22615. // C documentation
  22616. //
  22617. // /* Open a gzip file either by name or file descriptor. */
  22618. func _gz_open(tls *libc.TLS, path uintptr, fd int32, mode uintptr) (r TgzFile) {
  22619. bp := tls.Alloc(16)
  22620. defer tls.Free(16)
  22621. var cloexec, exclusive, oflag, v1, v2, v3, v4, v5 int32
  22622. var len1 Tz_size_t
  22623. var state Tgz_statep
  22624. _, _, _, _, _, _, _, _, _, _ = cloexec, exclusive, len1, oflag, state, v1, v2, v3, v4, v5
  22625. cloexec = 0
  22626. exclusive = 0
  22627. /* check input */
  22628. if path == libc.UintptrFromInt32(0) {
  22629. return libc.UintptrFromInt32(0)
  22630. }
  22631. /* allocate gzFile structure to return */
  22632. state = libc.Xmalloc(tls, uint64(240))
  22633. if state == libc.UintptrFromInt32(0) {
  22634. return libc.UintptrFromInt32(0)
  22635. }
  22636. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0) /* no buffers allocated yet */
  22637. (*Tgz_state)(unsafe.Pointer(state)).Fwant = uint32(m_GZBUFSIZE) /* requested buffer size */
  22638. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0) /* no error message yet */
  22639. /* interpret mode */
  22640. (*Tgz_state)(unsafe.Pointer(state)).Fmode = m_GZ_NONE
  22641. (*Tgz_state)(unsafe.Pointer(state)).Flevel = -int32(1)
  22642. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = m_Z_DEFAULT_STRATEGY
  22643. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  22644. for *(*int8)(unsafe.Pointer(mode)) != 0 {
  22645. if int32(*(*int8)(unsafe.Pointer(mode))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(mode))) <= int32('9') {
  22646. (*Tgz_state)(unsafe.Pointer(state)).Flevel = int32(*(*int8)(unsafe.Pointer(mode))) - int32('0')
  22647. } else {
  22648. switch int32(*(*int8)(unsafe.Pointer(mode))) {
  22649. case int32('r'):
  22650. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_READ)
  22651. case int32('w'):
  22652. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE)
  22653. case int32('a'):
  22654. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_APPEND)
  22655. case int32('+'): /* can't read and write at the same time */
  22656. libc.Xfree(tls, state)
  22657. return libc.UintptrFromInt32(0)
  22658. case int32('b'): /* ignore -- will request binary anyway */
  22659. case int32('e'):
  22660. cloexec = int32(1)
  22661. case int32('x'):
  22662. exclusive = int32(1)
  22663. case int32('f'):
  22664. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FILTERED)
  22665. case int32('h'):
  22666. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_HUFFMAN_ONLY)
  22667. case int32('R'):
  22668. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_RLE)
  22669. case int32('F'):
  22670. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FIXED)
  22671. case int32('T'):
  22672. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  22673. default: /* could consider as an error, but just ignore */
  22674. }
  22675. }
  22676. mode++
  22677. }
  22678. /* must provide an "r", "w", or "a" */
  22679. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == m_GZ_NONE {
  22680. libc.Xfree(tls, state)
  22681. return libc.UintptrFromInt32(0)
  22682. }
  22683. /* can't force transparent read */
  22684. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22685. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  22686. libc.Xfree(tls, state)
  22687. return libc.UintptrFromInt32(0)
  22688. }
  22689. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1) /* for empty file */
  22690. }
  22691. /* save the path name for error messages */
  22692. len1 = libc.Xstrlen(tls, path)
  22693. (*Tgz_state)(unsafe.Pointer(state)).Fpath = libc.Xmalloc(tls, len1+uint64(1))
  22694. if (*Tgz_state)(unsafe.Pointer(state)).Fpath == libc.UintptrFromInt32(0) {
  22695. libc.Xfree(tls, state)
  22696. return libc.UintptrFromInt32(0)
  22697. }
  22698. libc.X__builtin_snprintf(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath, len1+uint64(1), __ccgo_ts+584, libc.VaList(bp+8, path))
  22699. /* compute the flags for open() */
  22700. if cloexec != 0 {
  22701. v1 = int32(m_O_CLOEXEC1)
  22702. } else {
  22703. v1 = 0
  22704. }
  22705. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22706. v2 = m_O_RDONLY1
  22707. } else {
  22708. if exclusive != 0 {
  22709. v3 = int32(m_O_EXCL1)
  22710. } else {
  22711. v3 = 0
  22712. }
  22713. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_WRITE) {
  22714. v4 = int32(m_O_TRUNC1)
  22715. } else {
  22716. v4 = int32(m_O_APPEND1)
  22717. }
  22718. v2 = libc.Int32FromInt32(m_O_WRONLY1) | libc.Int32FromInt32(m_O_CREAT1) | v3 | v4
  22719. }
  22720. oflag = int32(m_O_LARGEFILE1) | v1 | v2
  22721. /* open the file with the appropriate flags (or just use fd) */
  22722. if fd > -int32(1) {
  22723. v5 = fd
  22724. } else {
  22725. v5 = libc.Xopen(tls, path, oflag, libc.VaList(bp+8, int32(0666)))
  22726. }
  22727. (*Tgz_state)(unsafe.Pointer(state)).Ffd = v5
  22728. if (*Tgz_state)(unsafe.Pointer(state)).Ffd == -int32(1) {
  22729. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  22730. libc.Xfree(tls, state)
  22731. return libc.UintptrFromInt32(0)
  22732. }
  22733. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_APPEND) {
  22734. libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(2)) /* so gzoffset() is correct */
  22735. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE) /* simplify later checks */
  22736. }
  22737. /* save the current position for rewinding (only if reading) */
  22738. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22739. (*Tgz_state)(unsafe.Pointer(state)).Fstart = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(1))
  22740. if (*Tgz_state)(unsafe.Pointer(state)).Fstart == int64(-int32(1)) {
  22741. (*Tgz_state)(unsafe.Pointer(state)).Fstart = 0
  22742. }
  22743. }
  22744. /* initialize stream */
  22745. _gz_reset(tls, state)
  22746. /* return stream */
  22747. return state
  22748. }
  22749. // C documentation
  22750. //
  22751. // /* -- see zlib.h -- */
  22752. func Xgzopen(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  22753. return _gz_open(tls, path, -int32(1), mode)
  22754. }
  22755. // C documentation
  22756. //
  22757. // /* -- see zlib.h -- */
  22758. func Xgzopen64(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  22759. return _gz_open(tls, path, -int32(1), mode)
  22760. }
  22761. // C documentation
  22762. //
  22763. // /* -- see zlib.h -- */
  22764. func Xgzdopen(tls *libc.TLS, fd int32, mode uintptr) (r TgzFile) {
  22765. bp := tls.Alloc(16)
  22766. defer tls.Free(16)
  22767. var gz TgzFile
  22768. var path, v1 uintptr
  22769. var v2 bool
  22770. _, _, _, _ = gz, path, v1, v2
  22771. if v2 = fd == -int32(1); !v2 {
  22772. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4))
  22773. path = v1
  22774. }
  22775. if v2 || v1 == libc.UintptrFromInt32(0) {
  22776. return libc.UintptrFromInt32(0)
  22777. }
  22778. libc.X__builtin_snprintf(tls, path, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4), __ccgo_ts+587, libc.VaList(bp+8, fd))
  22779. gz = _gz_open(tls, path, fd, mode)
  22780. libc.Xfree(tls, path)
  22781. return gz
  22782. }
  22783. /* -- see zlib.h -- */
  22784. // C documentation
  22785. //
  22786. // /* -- see zlib.h -- */
  22787. func Xgzbuffer(tls *libc.TLS, file TgzFile, size uint32) (r int32) {
  22788. var state Tgz_statep
  22789. _ = state
  22790. /* get internal structure and check integrity */
  22791. if file == libc.UintptrFromInt32(0) {
  22792. return -int32(1)
  22793. }
  22794. state = file
  22795. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22796. return -int32(1)
  22797. }
  22798. /* make sure we haven't already allocated memory */
  22799. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != uint32(0) {
  22800. return -int32(1)
  22801. }
  22802. /* check and set requested size */
  22803. if size<<int32(1) < size {
  22804. return -int32(1)
  22805. } /* need to be able to double it */
  22806. if size < uint32(8) {
  22807. size = uint32(8)
  22808. } /* needed to behave well with flushing */
  22809. (*Tgz_state)(unsafe.Pointer(state)).Fwant = size
  22810. return 0
  22811. }
  22812. // C documentation
  22813. //
  22814. // /* -- see zlib.h -- */
  22815. func Xgzrewind(tls *libc.TLS, file TgzFile) (r int32) {
  22816. var state Tgz_statep
  22817. _ = state
  22818. /* get internal structure */
  22819. if file == libc.UintptrFromInt32(0) {
  22820. return -int32(1)
  22821. }
  22822. state = file
  22823. /* check that we're reading and that there's no error */
  22824. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  22825. return -int32(1)
  22826. }
  22827. /* back up and start over */
  22828. if libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fstart, 0) == int64(-int32(1)) {
  22829. return -int32(1)
  22830. }
  22831. _gz_reset(tls, state)
  22832. return 0
  22833. }
  22834. // C documentation
  22835. //
  22836. // /* -- see zlib.h -- */
  22837. func Xgzseek64(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  22838. var n, v1 uint32
  22839. var ret Toff_t
  22840. var state Tgz_statep
  22841. _, _, _, _ = n, ret, state, v1
  22842. /* get internal structure and check integrity */
  22843. if file == libc.UintptrFromInt32(0) {
  22844. return int64(-int32(1))
  22845. }
  22846. state = file
  22847. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22848. return int64(-int32(1))
  22849. }
  22850. /* check that there's no error */
  22851. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  22852. return int64(-int32(1))
  22853. }
  22854. /* can only seek from start or relative to current position */
  22855. if whence != 0 && whence != int32(1) {
  22856. return int64(-int32(1))
  22857. }
  22858. /* normalize offset to a SEEK_CUR specification */
  22859. if whence == 0 {
  22860. offset -= (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22861. } else {
  22862. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  22863. offset += (*Tgz_state)(unsafe.Pointer(state)).Fskip
  22864. }
  22865. }
  22866. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  22867. /* if within raw area while reading, just go there */
  22868. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos+offset >= 0 {
  22869. ret = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, offset-libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave), int32(1))
  22870. if ret == int64(-int32(1)) {
  22871. return int64(-int32(1))
  22872. }
  22873. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  22874. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  22875. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  22876. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  22877. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  22878. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  22879. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += offset
  22880. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22881. }
  22882. /* calculate skip amount, rewinding if needed for back seek when reading */
  22883. if offset < 0 {
  22884. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) { /* writing -- can't go backwards */
  22885. return int64(-int32(1))
  22886. }
  22887. offset += (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22888. if offset < 0 { /* before start of file! */
  22889. return int64(-int32(1))
  22890. }
  22891. if Xgzrewind(tls, file) == -int32(1) { /* rewind, then skip to offset */
  22892. return int64(-int32(1))
  22893. }
  22894. }
  22895. /* if reading, skip what's in output buffer (one less gzgetc() check) */
  22896. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22897. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave) > offset {
  22898. v1 = libc.Uint32FromInt64(offset)
  22899. } else {
  22900. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  22901. }
  22902. n = v1
  22903. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  22904. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  22905. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  22906. offset -= libc.Int64FromUint32(n)
  22907. }
  22908. /* request skip (if not zero) */
  22909. if offset != 0 {
  22910. (*Tgz_state)(unsafe.Pointer(state)).Fseek = int32(1)
  22911. (*Tgz_state)(unsafe.Pointer(state)).Fskip = offset
  22912. }
  22913. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + offset
  22914. }
  22915. // C documentation
  22916. //
  22917. // /* -- see zlib.h -- */
  22918. func Xgzseek(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  22919. var ret Toff_t
  22920. var v1 int64
  22921. _, _ = ret, v1
  22922. ret = Xgzseek64(tls, file, offset, whence)
  22923. if ret == ret {
  22924. v1 = ret
  22925. } else {
  22926. v1 = int64(-int32(1))
  22927. }
  22928. return v1
  22929. }
  22930. // C documentation
  22931. //
  22932. // /* -- see zlib.h -- */
  22933. func Xgztell64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  22934. var state Tgz_statep
  22935. var v1 int64
  22936. _, _ = state, v1
  22937. /* get internal structure and check integrity */
  22938. if file == libc.UintptrFromInt32(0) {
  22939. return int64(-int32(1))
  22940. }
  22941. state = file
  22942. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22943. return int64(-int32(1))
  22944. }
  22945. /* return position */
  22946. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  22947. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fskip
  22948. } else {
  22949. v1 = 0
  22950. }
  22951. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + v1
  22952. }
  22953. // C documentation
  22954. //
  22955. // /* -- see zlib.h -- */
  22956. func Xgztell(tls *libc.TLS, file TgzFile) (r Toff_t) {
  22957. var ret Toff_t
  22958. var v1 int64
  22959. _, _ = ret, v1
  22960. ret = Xgztell64(tls, file)
  22961. if ret == ret {
  22962. v1 = ret
  22963. } else {
  22964. v1 = int64(-int32(1))
  22965. }
  22966. return v1
  22967. }
  22968. // C documentation
  22969. //
  22970. // /* -- see zlib.h -- */
  22971. func Xgzoffset64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  22972. var offset Toff_t
  22973. var state Tgz_statep
  22974. _, _ = offset, state
  22975. /* get internal structure and check integrity */
  22976. if file == libc.UintptrFromInt32(0) {
  22977. return int64(-int32(1))
  22978. }
  22979. state = file
  22980. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22981. return int64(-int32(1))
  22982. }
  22983. /* compute and return effective offset in file */
  22984. offset = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(1))
  22985. if offset == int64(-int32(1)) {
  22986. return int64(-int32(1))
  22987. }
  22988. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* reading */
  22989. offset -= libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)
  22990. } /* don't count buffered input */
  22991. return offset
  22992. }
  22993. // C documentation
  22994. //
  22995. // /* -- see zlib.h -- */
  22996. func Xgzoffset(tls *libc.TLS, file TgzFile) (r Toff_t) {
  22997. var ret Toff_t
  22998. var v1 int64
  22999. _, _ = ret, v1
  23000. ret = Xgzoffset64(tls, file)
  23001. if ret == ret {
  23002. v1 = ret
  23003. } else {
  23004. v1 = int64(-int32(1))
  23005. }
  23006. return v1
  23007. }
  23008. // C documentation
  23009. //
  23010. // /* -- see zlib.h -- */
  23011. func Xgzeof(tls *libc.TLS, file TgzFile) (r int32) {
  23012. var state Tgz_statep
  23013. var v1 int32
  23014. _, _ = state, v1
  23015. /* get internal structure and check integrity */
  23016. if file == libc.UintptrFromInt32(0) {
  23017. return 0
  23018. }
  23019. state = file
  23020. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23021. return 0
  23022. }
  23023. /* return end-of-file state */
  23024. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  23025. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fpast
  23026. } else {
  23027. v1 = 0
  23028. }
  23029. return v1
  23030. }
  23031. // C documentation
  23032. //
  23033. // /* -- see zlib.h -- */
  23034. func Xgzerror(tls *libc.TLS, file TgzFile, errnum uintptr) (r uintptr) {
  23035. var state Tgz_statep
  23036. var v1, v2 uintptr
  23037. _, _, _ = state, v1, v2
  23038. /* get internal structure and check integrity */
  23039. if file == libc.UintptrFromInt32(0) {
  23040. return libc.UintptrFromInt32(0)
  23041. }
  23042. state = file
  23043. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23044. return libc.UintptrFromInt32(0)
  23045. }
  23046. /* return error information */
  23047. if errnum != libc.UintptrFromInt32(0) {
  23048. *(*int32)(unsafe.Pointer(errnum)) = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  23049. }
  23050. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(4) {
  23051. v1 = __ccgo_ts + 595
  23052. } else {
  23053. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg == libc.UintptrFromInt32(0) {
  23054. v2 = __ccgo_ts + 494
  23055. } else {
  23056. v2 = (*Tgz_state)(unsafe.Pointer(state)).Fmsg
  23057. }
  23058. v1 = v2
  23059. }
  23060. return v1
  23061. }
  23062. // C documentation
  23063. //
  23064. // /* -- see zlib.h -- */
  23065. func Xgzclearerr(tls *libc.TLS, file TgzFile) {
  23066. var state Tgz_statep
  23067. _ = state
  23068. /* get internal structure and check integrity */
  23069. if file == libc.UintptrFromInt32(0) {
  23070. return
  23071. }
  23072. state = file
  23073. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23074. return
  23075. }
  23076. /* clear error and end-of-file */
  23077. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  23078. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  23079. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23080. }
  23081. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  23082. }
  23083. // C documentation
  23084. //
  23085. // /* Create an error message in allocated memory and set state->err and
  23086. // state->msg accordingly. Free any previous error message already there. Do
  23087. // not try to free or allocate space if the error is Z_MEM_ERROR (out of
  23088. // memory). Simply save the error message as a static string. If there is an
  23089. // allocation failure constructing the error message, then convert the error to
  23090. // out of memory. */
  23091. func Xgz_error(tls *libc.TLS, state Tgz_statep, err int32, msg uintptr) {
  23092. bp := tls.Alloc(32)
  23093. defer tls.Free(32)
  23094. var v1 uintptr
  23095. _ = v1
  23096. /* free previously allocated message and clear */
  23097. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg != libc.UintptrFromInt32(0) {
  23098. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(4) {
  23099. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg)
  23100. }
  23101. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0)
  23102. }
  23103. /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */
  23104. if err != m_Z_OK && err != -int32(5) {
  23105. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23106. }
  23107. /* set error code, and if no message, then done */
  23108. (*Tgz_state)(unsafe.Pointer(state)).Ferr = err
  23109. if msg == libc.UintptrFromInt32(0) {
  23110. return
  23111. }
  23112. /* for an out of memory error, return literal string when requested */
  23113. if err == -int32(4) {
  23114. return
  23115. }
  23116. /* construct error message with path */
  23117. v1 = libc.Xmalloc(tls, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3))
  23118. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = v1
  23119. if v1 == libc.UintptrFromInt32(0) {
  23120. (*Tgz_state)(unsafe.Pointer(state)).Ferr = -int32(4)
  23121. return
  23122. }
  23123. libc.X__builtin_snprintf(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3), __ccgo_ts+609, libc.VaList(bp+8, (*Tgz_state)(unsafe.Pointer(state)).Fpath, __ccgo_ts+616, msg))
  23124. }
  23125. // C documentation
  23126. //
  23127. // /* portably return maximum value for an int (when limits.h presumed not
  23128. // available) -- we need to do this to cover cases where 2's complement not
  23129. // used, since C standard permits 1's complement and sign-bit representations,
  23130. // otherwise we could just use ((unsigned)-1) >> 1 */
  23131. func Xgz_intmax(tls *libc.TLS) (r uint32) {
  23132. return uint32(m_INT_MAX1)
  23133. }
  23134. const m_INT_MAX2 = 0x7fffffff
  23135. const m_O_APPEND2 = 02000
  23136. const m_O_CLOEXEC2 = 02000000
  23137. const m_O_CREAT2 = 0100
  23138. const m_O_EXCL2 = 0200
  23139. const m_O_LARGEFILE2 = 0100000
  23140. const m_O_RDONLY2 = 00
  23141. const m_O_TRUNC2 = 01000
  23142. const m_O_WRONLY2 = 01
  23143. // C documentation
  23144. //
  23145. // /* Use read() to load a buffer -- return -1 on error, otherwise 0. Read from
  23146. // state->fd, and update state->eof, state->err, and state->msg as appropriate.
  23147. // This function needs to loop on read(), since read() is not guaranteed to
  23148. // read the number of bytes requested, depending on the type of descriptor. */
  23149. func _gz_load(tls *libc.TLS, state Tgz_statep, buf uintptr, len1 uint32, have uintptr) (r int32) {
  23150. var get, max uint32
  23151. var ret int32
  23152. _, _, _ = get, max, ret
  23153. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  23154. *(*uint32)(unsafe.Pointer(have)) = uint32(0)
  23155. for cond := true; cond; cond = *(*uint32)(unsafe.Pointer(have)) < len1 {
  23156. get = len1 - *(*uint32)(unsafe.Pointer(have))
  23157. if get > max {
  23158. get = max
  23159. }
  23160. ret = int32(libc.Xread(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, buf+uintptr(*(*uint32)(unsafe.Pointer(have))), uint64(get)))
  23161. if ret <= 0 {
  23162. break
  23163. }
  23164. *(*uint32)(unsafe.Pointer(have)) += libc.Uint32FromInt32(ret)
  23165. }
  23166. if ret < 0 {
  23167. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))))
  23168. return -int32(1)
  23169. }
  23170. if ret == 0 {
  23171. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  23172. }
  23173. return 0
  23174. }
  23175. // C documentation
  23176. //
  23177. // /* Load up input buffer and set eof flag if last data loaded -- return -1 on
  23178. // error, 0 otherwise. Note that the eof flag is set when the end of the input
  23179. // file is reached, even though there may be unused data in the buffer. Once
  23180. // that data has been used, no more attempts will be made to read the file.
  23181. // If strm->avail_in != 0, then the current data is moved to the beginning of
  23182. // the input buffer, and then the remainder of the buffer is loaded with the
  23183. // available data from the input file. */
  23184. func _gz_avail(tls *libc.TLS, state Tgz_statep) (r int32) {
  23185. bp := tls.Alloc(16)
  23186. defer tls.Free(16)
  23187. var n, v1 uint32
  23188. var p, q, v3, v4 uintptr
  23189. var strm Tz_streamp
  23190. var _ /* got at bp+0 */ uint32
  23191. _, _, _, _, _, _, _ = n, p, q, strm, v1, v3, v4
  23192. strm = state + 128
  23193. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23194. return -int32(1)
  23195. }
  23196. if (*Tgz_state)(unsafe.Pointer(state)).Feof == 0 {
  23197. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 { /* copy what's there to the start */
  23198. p = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23199. q = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  23200. n = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23201. for {
  23202. v3 = p
  23203. p++
  23204. v4 = q
  23205. q++
  23206. *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(v4))
  23207. goto _2
  23208. _2:
  23209. ;
  23210. n--
  23211. v1 = n
  23212. if !(v1 != 0) {
  23213. break
  23214. }
  23215. }
  23216. }
  23217. if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in), (*Tgz_state)(unsafe.Pointer(state)).Fsize-(*Tz_stream)(unsafe.Pointer(strm)).Favail_in, bp) == -int32(1) {
  23218. return -int32(1)
  23219. }
  23220. *(*TuInt)(unsafe.Pointer(strm + 8)) += *(*uint32)(unsafe.Pointer(bp))
  23221. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23222. }
  23223. return 0
  23224. }
  23225. // C documentation
  23226. //
  23227. // /* Look for gzip header, set up for inflate or copy. state->x.have must be 0.
  23228. // If this is the first time in, allocate required memory. state->how will be
  23229. // left unchanged if there is no more input data available, will be set to COPY
  23230. // if there is no gzip header and direct copying will be performed, or it will
  23231. // be set to GZIP for decompression. If direct copying, then leftover input
  23232. // data from the input buffer will be copied to the output buffer. In that
  23233. // case, all further file reads will be directly to either the output buffer or
  23234. // a user buffer. If decompressing, the inflate state will be initialized.
  23235. // gz_look() will return 0 on success or -1 on failure. */
  23236. func _gz_look(tls *libc.TLS, state Tgz_statep) (r int32) {
  23237. var strm Tz_streamp
  23238. _ = strm
  23239. strm = state + 128
  23240. /* allocate read buffers and inflate memory */
  23241. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) {
  23242. /* allocate buffers */
  23243. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  23244. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  23245. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) || (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  23246. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23247. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23248. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23249. return -int32(1)
  23250. }
  23251. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  23252. /* allocate inflate memory */
  23253. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzalloc = uintptr(m_Z_NULL)
  23254. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzfree = uintptr(m_Z_NULL)
  23255. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fopaque = uintptr(m_Z_NULL)
  23256. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  23257. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = uintptr(m_Z_NULL)
  23258. if XinflateInit2_(tls, state+128, libc.Int32FromInt32(15)+libc.Int32FromInt32(16), __ccgo_ts, libc.Int32FromInt64(112)) != m_Z_OK { /* gunzip */
  23259. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23260. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23261. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0)
  23262. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23263. return -int32(1)
  23264. }
  23265. }
  23266. /* get at least the magic bytes in the input buffer */
  23267. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in < uint32(2) {
  23268. if _gz_avail(tls, state) == -int32(1) {
  23269. return -int32(1)
  23270. }
  23271. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23272. return 0
  23273. }
  23274. }
  23275. /* look for gzip magic bytes -- if there, do gzip decoding (note: there is
  23276. a logical dilemma here when considering the case of a partially written
  23277. gzip file, to wit, if a single 31 byte is written, then we cannot tell
  23278. whether this is a single-byte file, or just a partially written gzip
  23279. file -- for here we assume that if a gzip file is being written, then
  23280. the header will be written in a single operation, so that reading a
  23281. single byte is sufficient indication that it is not a gzip file) */
  23282. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > uint32(1) && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in))) == int32(31) && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in + 1))) == int32(139) {
  23283. XinflateReset(tls, strm)
  23284. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_GZIP)
  23285. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  23286. return 0
  23287. }
  23288. /* no gzip header -- if we were decoding gzip before, then this is trailing
  23289. garbage. Ignore the trailing garbage and finish. */
  23290. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect == 0 {
  23291. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  23292. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  23293. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23294. return 0
  23295. }
  23296. /* doing raw i/o, copy any leftover input to output -- this assumes that
  23297. the output buffer is larger than the input buffer, which also assures
  23298. space for gzungetc() */
  23299. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23300. libc.Xmemcpy(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64((*Tz_stream)(unsafe.Pointer(strm)).Favail_in))
  23301. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23302. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  23303. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_COPY)
  23304. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  23305. return 0
  23306. }
  23307. // C documentation
  23308. //
  23309. // /* Decompress from input to the provided next_out and avail_out in the state.
  23310. // On return, state->x.have and state->x.next point to the just decompressed
  23311. // data. If the gzip stream completes, state->how is reset to LOOK to look for
  23312. // the next gzip stream or raw data, once state->x.have is depleted. Returns 0
  23313. // on success, -1 on failure. */
  23314. func _gz_decomp(tls *libc.TLS, state Tgz_statep) (r int32) {
  23315. var had uint32
  23316. var ret int32
  23317. var strm Tz_streamp
  23318. var v1 uintptr
  23319. _, _, _, _ = had, ret, strm, v1
  23320. ret = m_Z_OK
  23321. strm = state + 128
  23322. /* fill output buffer up to end of deflate stream */
  23323. had = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23324. for cond := true; cond; cond = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out != 0 && ret != int32(m_Z_STREAM_END) {
  23325. /* get more input for inflate() */
  23326. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && _gz_avail(tls, state) == -int32(1) {
  23327. return -int32(1)
  23328. }
  23329. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23330. Xgz_error(tls, state, -int32(5), __ccgo_ts+619)
  23331. break
  23332. }
  23333. /* decompress and handle errors */
  23334. ret = Xinflate(tls, strm, m_Z_NO_FLUSH)
  23335. if ret == -int32(2) || ret == int32(m_Z_NEED_DICT) {
  23336. Xgz_error(tls, state, -int32(2), __ccgo_ts+642)
  23337. return -int32(1)
  23338. }
  23339. if ret == -int32(4) {
  23340. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23341. return -int32(1)
  23342. }
  23343. if ret == -int32(3) { /* deflate stream invalid */
  23344. if (*Tz_stream)(unsafe.Pointer(strm)).Fmsg == libc.UintptrFromInt32(0) {
  23345. v1 = __ccgo_ts + 681
  23346. } else {
  23347. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Fmsg
  23348. }
  23349. Xgz_error(tls, state, -int32(3), v1)
  23350. return -int32(1)
  23351. }
  23352. }
  23353. /* update available output */
  23354. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = had - (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23355. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out - uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  23356. /* if the gzip stream completed successfully, look for another */
  23357. if ret == int32(m_Z_STREAM_END) {
  23358. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK
  23359. }
  23360. /* good decompression */
  23361. return 0
  23362. }
  23363. // C documentation
  23364. //
  23365. // /* Fetch data and put it in the output buffer. Assumes state->x.have is 0.
  23366. // Data is either copied from the input file or decompressed from the input
  23367. // file depending on state->how. If state->how is LOOK, then a gzip header is
  23368. // looked for to determine whether to copy or decompress. Returns -1 on error,
  23369. // otherwise 0. gz_fetch() will leave state->how as COPY or GZIP unless the
  23370. // end of the input file has been reached and all data has been processed. */
  23371. func _gz_fetch(tls *libc.TLS, state Tgz_statep) (r int32) {
  23372. var strm Tz_streamp
  23373. _ = strm
  23374. strm = state + 128
  23375. for cond := true; cond; cond = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && (!((*Tgz_state)(unsafe.Pointer(state)).Feof != 0) || (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0) {
  23376. switch (*Tgz_state)(unsafe.Pointer(state)).Fhow {
  23377. case m_LOOK: /* -> LOOK, COPY (only if never GZIP), or GZIP */
  23378. if _gz_look(tls, state) == -int32(1) {
  23379. return -int32(1)
  23380. }
  23381. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK {
  23382. return 0
  23383. }
  23384. case int32(m_COPY): /* -> COPY */
  23385. if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fout, (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1), state) == -int32(1) {
  23386. return -int32(1)
  23387. }
  23388. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23389. return 0
  23390. case int32(m_GZIP): /* -> GZIP or LOOK (if end of gzip stream) */
  23391. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize << int32(1)
  23392. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23393. if _gz_decomp(tls, state) == -int32(1) {
  23394. return -int32(1)
  23395. }
  23396. }
  23397. }
  23398. return 0
  23399. }
  23400. // C documentation
  23401. //
  23402. // /* Skip len uncompressed bytes of output. Return -1 on error, 0 on success. */
  23403. func _gz_skip(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  23404. var n, v1 uint32
  23405. _, _ = n, v1
  23406. /* skip over len bytes or reach end-of-file, whichever comes first */
  23407. for len1 != 0 {
  23408. /* skip over whatever is in output buffer */
  23409. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23410. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave) > len1 {
  23411. v1 = libc.Uint32FromInt64(len1)
  23412. } else {
  23413. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23414. }
  23415. n = v1
  23416. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  23417. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  23418. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  23419. len1 -= libc.Int64FromUint32(n)
  23420. } else {
  23421. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  23422. break
  23423. } else {
  23424. /* get more output, looking for header if required */
  23425. if _gz_fetch(tls, state) == -int32(1) {
  23426. return -int32(1)
  23427. }
  23428. }
  23429. }
  23430. }
  23431. return 0
  23432. }
  23433. // C documentation
  23434. //
  23435. // /* Read len bytes into buf from file, or less than len up to the end of the
  23436. // input. Return the number of bytes read. If zero is returned, either the
  23437. // end of file was reached, or there was an error. state->err must be
  23438. // consulted in that case to determine which. */
  23439. func _gz_read(tls *libc.TLS, state Tgz_statep, buf Tvoidp, len1 Tz_size_t) (r Tz_size_t) {
  23440. bp := tls.Alloc(16)
  23441. defer tls.Free(16)
  23442. var got Tz_size_t
  23443. var _ /* n at bp+0 */ uint32
  23444. _ = got
  23445. /* if len is zero, avoid unnecessary operations */
  23446. if len1 == uint64(0) {
  23447. return uint64(0)
  23448. }
  23449. /* process a skip request */
  23450. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23451. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23452. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23453. return uint64(0)
  23454. }
  23455. }
  23456. /* get len bytes to buf, or less than len if at the end */
  23457. got = uint64(0)
  23458. for cond := true; cond; cond = len1 != 0 {
  23459. /* set n to the maximum amount of len that fits in an unsigned int */
  23460. *(*uint32)(unsafe.Pointer(bp)) = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  23461. if uint64(*(*uint32)(unsafe.Pointer(bp))) > len1 {
  23462. *(*uint32)(unsafe.Pointer(bp)) = uint32(len1)
  23463. }
  23464. /* first just try copying data from the output buffer */
  23465. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23466. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave < *(*uint32)(unsafe.Pointer(bp)) {
  23467. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23468. }
  23469. libc.Xmemcpy(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(*(*uint32)(unsafe.Pointer(bp))))
  23470. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(*(*uint32)(unsafe.Pointer(bp)))
  23471. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= *(*uint32)(unsafe.Pointer(bp))
  23472. } else {
  23473. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  23474. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* tried to read past end */
  23475. break
  23476. } else {
  23477. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK || *(*uint32)(unsafe.Pointer(bp)) < (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  23478. /* get more output, looking for header if required */
  23479. if _gz_fetch(tls, state) == -int32(1) {
  23480. return uint64(0)
  23481. }
  23482. continue /* no progress yet -- go back to copy above */
  23483. /* the copy above assures that we will leave with space in the
  23484. output buffer, allowing at least one gzungetc() to succeed */
  23485. } else {
  23486. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) { /* read directly */
  23487. if _gz_load(tls, state, buf, *(*uint32)(unsafe.Pointer(bp)), bp) == -int32(1) {
  23488. return uint64(0)
  23489. }
  23490. } else { /* state->how == GZIP */
  23491. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_out = *(*uint32)(unsafe.Pointer(bp))
  23492. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_out = buf
  23493. if _gz_decomp(tls, state) == -int32(1) {
  23494. return uint64(0)
  23495. }
  23496. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23497. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23498. }
  23499. }
  23500. }
  23501. }
  23502. /* update progress */
  23503. len1 -= uint64(*(*uint32)(unsafe.Pointer(bp)))
  23504. buf = buf + uintptr(*(*uint32)(unsafe.Pointer(bp)))
  23505. got += uint64(*(*uint32)(unsafe.Pointer(bp)))
  23506. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(*(*uint32)(unsafe.Pointer(bp)))
  23507. }
  23508. /* return number of bytes read into user buffer */
  23509. return got
  23510. }
  23511. // C documentation
  23512. //
  23513. // /* -- see zlib.h -- */
  23514. func Xgzread(tls *libc.TLS, file TgzFile, buf Tvoidp, len1 uint32) (r int32) {
  23515. var state Tgz_statep
  23516. _ = state
  23517. /* get internal structure */
  23518. if file == libc.UintptrFromInt32(0) {
  23519. return -int32(1)
  23520. }
  23521. state = file
  23522. /* check that we're reading and that there's no (serious) error */
  23523. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23524. return -int32(1)
  23525. }
  23526. /* since an int is returned, make sure len fits in one, otherwise return
  23527. with an error (this avoids a flaw in the interface) */
  23528. if libc.Int32FromUint32(len1) < 0 {
  23529. Xgz_error(tls, state, -int32(2), __ccgo_ts+703)
  23530. return -int32(1)
  23531. }
  23532. /* read len or fewer bytes to buf */
  23533. len1 = uint32(_gz_read(tls, state, buf, uint64(len1)))
  23534. /* check for an error */
  23535. if len1 == uint32(0) && (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23536. return -int32(1)
  23537. }
  23538. /* return the number of bytes read (this is assured to fit in an int) */
  23539. return libc.Int32FromUint32(len1)
  23540. }
  23541. // C documentation
  23542. //
  23543. // /* -- see zlib.h -- */
  23544. func Xgzfread(tls *libc.TLS, buf Tvoidp, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  23545. var len1 Tz_size_t
  23546. var state Tgz_statep
  23547. var v1 uint64
  23548. _, _, _ = len1, state, v1
  23549. /* get internal structure */
  23550. if file == libc.UintptrFromInt32(0) {
  23551. return uint64(0)
  23552. }
  23553. state = file
  23554. /* check that we're reading and that there's no (serious) error */
  23555. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23556. return uint64(0)
  23557. }
  23558. /* compute bytes to read -- error on overflow */
  23559. len1 = nitems * size
  23560. if size != 0 && len1/size != nitems {
  23561. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  23562. return uint64(0)
  23563. }
  23564. /* read len or fewer bytes to buf, return the number of full items read */
  23565. if len1 != 0 {
  23566. v1 = _gz_read(tls, state, buf, len1) / size
  23567. } else {
  23568. v1 = uint64(0)
  23569. }
  23570. return v1
  23571. }
  23572. // C documentation
  23573. //
  23574. // /* -- see zlib.h -- */
  23575. func Xgzgetc(tls *libc.TLS, file TgzFile) (r int32) {
  23576. bp := tls.Alloc(16)
  23577. defer tls.Free(16)
  23578. var state Tgz_statep
  23579. var v1, v2 uintptr
  23580. var v3 int32
  23581. var _ /* buf at bp+0 */ [1]uint8
  23582. _, _, _, _ = state, v1, v2, v3
  23583. /* get internal structure */
  23584. if file == libc.UintptrFromInt32(0) {
  23585. return -int32(1)
  23586. }
  23587. state = file
  23588. /* check that we're reading and that there's no (serious) error */
  23589. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23590. return -int32(1)
  23591. }
  23592. /* try output buffer (no need to check for skip request) */
  23593. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23594. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave--
  23595. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  23596. v2 = state + 8
  23597. v1 = *(*uintptr)(unsafe.Pointer(v2))
  23598. *(*uintptr)(unsafe.Pointer(v2))++
  23599. return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v1)))
  23600. }
  23601. /* nothing there -- try gz_read() */
  23602. if _gz_read(tls, state, bp, uint64(1)) < uint64(1) {
  23603. v3 = -int32(1)
  23604. } else {
  23605. v3 = libc.Int32FromUint8((*(*[1]uint8)(unsafe.Pointer(bp)))[0])
  23606. }
  23607. return v3
  23608. }
  23609. func Xgzgetc_(tls *libc.TLS, file TgzFile) (r int32) {
  23610. return Xgzgetc(tls, file)
  23611. }
  23612. // C documentation
  23613. //
  23614. // /* -- see zlib.h -- */
  23615. func Xgzungetc(tls *libc.TLS, c int32, file TgzFile) (r int32) {
  23616. var dest, src, v1, v2 uintptr
  23617. var state Tgz_statep
  23618. _, _, _, _, _ = dest, src, state, v1, v2
  23619. /* get internal structure */
  23620. if file == libc.UintptrFromInt32(0) {
  23621. return -int32(1)
  23622. }
  23623. state = file
  23624. /* in case this was just opened, set up the input buffer */
  23625. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  23626. _gz_look(tls, state)
  23627. }
  23628. /* check that we're reading and that there's no (serious) error */
  23629. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23630. return -int32(1)
  23631. }
  23632. /* process a skip request */
  23633. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23634. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23635. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23636. return -int32(1)
  23637. }
  23638. }
  23639. /* can't push EOF */
  23640. if c < 0 {
  23641. return -int32(1)
  23642. }
  23643. /* if output buffer empty, put byte at end (allows more pushing) */
  23644. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  23645. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(1)
  23646. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1)) - uintptr(1)
  23647. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  23648. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  23649. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23650. return c
  23651. }
  23652. /* if no room, give up (must have already done a gzungetc()) */
  23653. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  23654. Xgz_error(tls, state, -int32(3), __ccgo_ts+767)
  23655. return -int32(1)
  23656. }
  23657. /* slide output data if needed and insert byte before existing data */
  23658. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext == (*Tgz_state)(unsafe.Pointer(state)).Fout {
  23659. src = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  23660. dest = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1))
  23661. for src > (*Tgz_state)(unsafe.Pointer(state)).Fout {
  23662. dest--
  23663. v1 = dest
  23664. src--
  23665. v2 = src
  23666. *(*uint8)(unsafe.Pointer(v1)) = *(*uint8)(unsafe.Pointer(v2))
  23667. }
  23668. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = dest
  23669. }
  23670. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave++
  23671. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext--
  23672. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  23673. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  23674. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23675. return c
  23676. }
  23677. // C documentation
  23678. //
  23679. // /* -- see zlib.h -- */
  23680. func Xgzgets(tls *libc.TLS, file TgzFile, buf uintptr, len1 int32) (r uintptr) {
  23681. var eol, str uintptr
  23682. var left, n, v1 uint32
  23683. var state Tgz_statep
  23684. _, _, _, _, _, _ = eol, left, n, state, str, v1
  23685. /* check parameters and get internal structure */
  23686. if file == libc.UintptrFromInt32(0) || buf == libc.UintptrFromInt32(0) || len1 < int32(1) {
  23687. return libc.UintptrFromInt32(0)
  23688. }
  23689. state = file
  23690. /* check that we're reading and that there's no (serious) error */
  23691. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23692. return libc.UintptrFromInt32(0)
  23693. }
  23694. /* process a skip request */
  23695. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23696. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23697. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23698. return libc.UintptrFromInt32(0)
  23699. }
  23700. }
  23701. /* copy output bytes up to new line or len - 1, whichever comes first --
  23702. append a terminating zero to the string (we don't check for a zero in
  23703. the contents, let the user worry about that) */
  23704. str = buf
  23705. left = libc.Uint32FromInt32(len1) - uint32(1)
  23706. if left != 0 {
  23707. for cond := true; cond; cond = left != 0 && eol == libc.UintptrFromInt32(0) {
  23708. /* assure that something is in the output buffer */
  23709. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && _gz_fetch(tls, state) == -int32(1) {
  23710. return libc.UintptrFromInt32(0)
  23711. } /* error */
  23712. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { /* end of file */
  23713. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* read past end */
  23714. break /* return what we have */
  23715. }
  23716. /* look for end-of-line in current output buffer */
  23717. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > left {
  23718. v1 = left
  23719. } else {
  23720. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23721. }
  23722. n = v1
  23723. eol = libc.Xmemchr(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, int32('\n'), uint64(n))
  23724. if eol != libc.UintptrFromInt32(0) {
  23725. n = libc.Uint32FromInt64(int64(eol)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) + uint32(1)
  23726. }
  23727. /* copy through end-of-line, or remainder if not found */
  23728. libc.Xmemcpy(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(n))
  23729. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  23730. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  23731. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  23732. left -= n
  23733. buf += uintptr(n)
  23734. }
  23735. }
  23736. /* return terminated string, or if nothing, end of file */
  23737. if buf == str {
  23738. return libc.UintptrFromInt32(0)
  23739. }
  23740. *(*int8)(unsafe.Pointer(buf)) = 0
  23741. return str
  23742. }
  23743. // C documentation
  23744. //
  23745. // /* -- see zlib.h -- */
  23746. func Xgzdirect(tls *libc.TLS, file TgzFile) (r int32) {
  23747. var state Tgz_statep
  23748. _ = state
  23749. /* get internal structure */
  23750. if file == libc.UintptrFromInt32(0) {
  23751. return 0
  23752. }
  23753. state = file
  23754. /* if the state is not known, but we can find out, then do so (this is
  23755. mainly for right after a gzopen() or gzdopen()) */
  23756. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  23757. _gz_look(tls, state)
  23758. }
  23759. /* return 1 if transparent, 0 if processing a gzip stream */
  23760. return (*Tgz_state)(unsafe.Pointer(state)).Fdirect
  23761. }
  23762. // C documentation
  23763. //
  23764. // /* -- see zlib.h -- */
  23765. func Xgzclose_r(tls *libc.TLS, file TgzFile) (r int32) {
  23766. var err, ret, v1, v2 int32
  23767. var state Tgz_statep
  23768. _, _, _, _, _ = err, ret, state, v1, v2
  23769. /* get internal structure */
  23770. if file == libc.UintptrFromInt32(0) {
  23771. return -int32(2)
  23772. }
  23773. state = file
  23774. /* check that we're reading */
  23775. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) {
  23776. return -int32(2)
  23777. }
  23778. /* free memory and close file */
  23779. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  23780. XinflateEnd(tls, state+128)
  23781. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23782. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23783. }
  23784. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(5) {
  23785. v1 = -int32(5)
  23786. } else {
  23787. v1 = m_Z_OK
  23788. }
  23789. err = v1
  23790. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  23791. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  23792. ret = libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd)
  23793. libc.Xfree(tls, state)
  23794. if ret != 0 {
  23795. v2 = -int32(1)
  23796. } else {
  23797. v2 = err
  23798. }
  23799. return v2
  23800. }
  23801. // C documentation
  23802. //
  23803. // /* Initialize state for writing a gzip file. Mark initialization by setting
  23804. // state->size to non-zero. Return -1 on a memory allocation failure, or 0 on
  23805. // success. */
  23806. func _gz_init(tls *libc.TLS, state Tgz_statep) (r int32) {
  23807. var ret int32
  23808. var strm Tz_streamp
  23809. _, _ = ret, strm
  23810. strm = state + 128
  23811. /* allocate input buffer (double size for gzprintf) */
  23812. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  23813. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) {
  23814. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23815. return -int32(1)
  23816. }
  23817. /* only need output buffer and deflate state if compressing */
  23818. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  23819. /* allocate output buffer */
  23820. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  23821. if (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  23822. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23823. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23824. return -int32(1)
  23825. }
  23826. /* allocate deflate memory, set up for gzip compression */
  23827. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = uintptr(m_Z_NULL)
  23828. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = uintptr(m_Z_NULL)
  23829. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(m_Z_NULL)
  23830. ret = XdeflateInit2_(tls, strm, (*Tgz_state)(unsafe.Pointer(state)).Flevel, int32(m_Z_DEFLATED), libc.Int32FromInt32(m_MAX_WBITS)+libc.Int32FromInt32(16), int32(m_DEF_MEM_LEVEL), (*Tgz_state)(unsafe.Pointer(state)).Fstrategy, __ccgo_ts, libc.Int32FromInt64(112))
  23831. if ret != m_Z_OK {
  23832. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23833. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23834. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23835. return -int32(1)
  23836. }
  23837. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = libc.UintptrFromInt32(0)
  23838. }
  23839. /* mark state as initialized */
  23840. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  23841. /* initialize write buffer if compressing */
  23842. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  23843. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  23844. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23845. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  23846. }
  23847. return 0
  23848. }
  23849. // C documentation
  23850. //
  23851. // /* Compress whatever is at avail_in and next_in and write to the output file.
  23852. // Return -1 if there is an error writing to the output file or if gz_init()
  23853. // fails to allocate memory, otherwise 0. flush is assumed to be a valid
  23854. // deflate() flush value. If flush is Z_FINISH, then the deflate() state is
  23855. // reset to start a new gzip stream. If gz->direct is true, then simply write
  23856. // to the output file without compressing, and ignore flush. */
  23857. func _gz_comp(tls *libc.TLS, state Tgz_statep, flush int32) (r int32) {
  23858. var have, max, put, v1, v2 uint32
  23859. var ret, writ int32
  23860. var strm Tz_streamp
  23861. _, _, _, _, _, _, _, _ = have, max, put, ret, strm, writ, v1, v2
  23862. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  23863. strm = state + 128
  23864. /* allocate memory if this is the first time through */
  23865. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  23866. return -int32(1)
  23867. }
  23868. /* write directly if requested */
  23869. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  23870. for (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 {
  23871. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > max {
  23872. v1 = max
  23873. } else {
  23874. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23875. }
  23876. put = v1
  23877. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(put)))
  23878. if writ < 0 {
  23879. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))))
  23880. return -int32(1)
  23881. }
  23882. *(*TuInt)(unsafe.Pointer(strm + 8)) -= libc.Uint32FromInt32(writ)
  23883. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(writ)
  23884. }
  23885. return 0
  23886. }
  23887. /* check for a pending reset */
  23888. if (*Tgz_state)(unsafe.Pointer(state)).Freset != 0 {
  23889. /* don't start a new gzip member unless there is data to write */
  23890. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23891. return 0
  23892. }
  23893. XdeflateReset(tls, strm)
  23894. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  23895. }
  23896. /* run deflate() on provided input until it produces no more output */
  23897. ret = m_Z_OK
  23898. for cond := true; cond; cond = have != 0 {
  23899. /* write out current buffer contents if full, or if flushing, but if
  23900. doing Z_FINISH then don't write until we get to Z_STREAM_END */
  23901. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) || flush != m_Z_NO_FLUSH && (flush != int32(m_Z_FINISH) || ret == int32(m_Z_STREAM_END)) {
  23902. for (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out > (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext {
  23903. if int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext) > int64(libc.Int32FromUint32(max)) {
  23904. v2 = max
  23905. } else {
  23906. v2 = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out) - int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext))
  23907. }
  23908. put = v2
  23909. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(put)))
  23910. if writ < 0 {
  23911. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))))
  23912. return -int32(1)
  23913. }
  23914. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(writ)
  23915. }
  23916. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  23917. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  23918. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23919. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23920. }
  23921. }
  23922. /* compress */
  23923. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23924. ret = Xdeflate(tls, strm, flush)
  23925. if ret == -int32(2) {
  23926. Xgz_error(tls, state, -int32(2), __ccgo_ts+798)
  23927. return -int32(1)
  23928. }
  23929. have -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23930. }
  23931. /* if that completed a deflate stream, allow another to start */
  23932. if flush == int32(m_Z_FINISH) {
  23933. (*Tgz_state)(unsafe.Pointer(state)).Freset = int32(1)
  23934. }
  23935. /* all done, no errors */
  23936. return 0
  23937. }
  23938. // C documentation
  23939. //
  23940. // /* Compress len zeros to output. Return -1 on a write error or memory
  23941. // allocation failure by gz_comp(), or 0 on success. */
  23942. func _gz_zero(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  23943. var first int32
  23944. var n, v1 uint32
  23945. var strm Tz_streamp
  23946. _, _, _, _ = first, n, strm, v1
  23947. strm = state + 128
  23948. /* consume whatever's left in the input buffer */
  23949. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  23950. return -int32(1)
  23951. }
  23952. /* compress len zeros (len guaranteed > 0) */
  23953. first = int32(1)
  23954. for len1 != 0 {
  23955. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fsize > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fsize) > len1 {
  23956. v1 = libc.Uint32FromInt64(len1)
  23957. } else {
  23958. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  23959. }
  23960. n = v1
  23961. if first != 0 {
  23962. libc.Xmemset(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, 0, uint64(n))
  23963. first = 0
  23964. }
  23965. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = n
  23966. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23967. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  23968. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  23969. return -int32(1)
  23970. }
  23971. len1 -= libc.Int64FromUint32(n)
  23972. }
  23973. return 0
  23974. }
  23975. // C documentation
  23976. //
  23977. // /* Write len bytes from buf to file. Return the number of bytes written. If
  23978. // the returned value is less than len, then there was an error. */
  23979. func _gz_write(tls *libc.TLS, state Tgz_statep, buf Tvoidpc, len1 Tz_size_t) (r Tz_size_t) {
  23980. var copy1, have, n uint32
  23981. var put Tz_size_t
  23982. _, _, _, _ = copy1, have, n, put
  23983. put = len1
  23984. /* if len is zero, avoid unnecessary operations */
  23985. if len1 == uint64(0) {
  23986. return uint64(0)
  23987. }
  23988. /* allocate memory if this is the first time through */
  23989. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  23990. return uint64(0)
  23991. }
  23992. /* check for seek request */
  23993. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23994. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23995. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23996. return uint64(0)
  23997. }
  23998. }
  23999. /* for small len, copy to input buffer, otherwise compress directly */
  24000. if len1 < uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize) {
  24001. /* copy to input buffer, compress when full */
  24002. for cond := true; cond; cond = len1 != 0 {
  24003. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  24004. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24005. }
  24006. have = libc.Uint32FromInt64(int64((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)) - int64((*Tgz_state)(unsafe.Pointer(state)).Fin))
  24007. copy1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize - have
  24008. if uint64(copy1) > len1 {
  24009. copy1 = uint32(len1)
  24010. }
  24011. libc.Xmemcpy(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr(have), buf, uint64(copy1))
  24012. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in += copy1
  24013. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(copy1)
  24014. buf = buf + uintptr(copy1)
  24015. len1 -= uint64(copy1)
  24016. if len1 != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24017. return uint64(0)
  24018. }
  24019. }
  24020. } else {
  24021. /* consume whatever's left in the input buffer */
  24022. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24023. return uint64(0)
  24024. }
  24025. /* directly compress user buffer to file */
  24026. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = buf
  24027. for cond := true; cond; cond = len1 != 0 {
  24028. n = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  24029. if uint64(n) > len1 {
  24030. n = uint32(len1)
  24031. }
  24032. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = n
  24033. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  24034. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24035. return uint64(0)
  24036. }
  24037. len1 -= uint64(n)
  24038. }
  24039. }
  24040. /* input was all buffered or compressed */
  24041. return put
  24042. }
  24043. // C documentation
  24044. //
  24045. // /* -- see zlib.h -- */
  24046. func Xgzwrite(tls *libc.TLS, file TgzFile, buf Tvoidpc, len1 uint32) (r int32) {
  24047. var state Tgz_statep
  24048. _ = state
  24049. /* get internal structure */
  24050. if file == libc.UintptrFromInt32(0) {
  24051. return 0
  24052. }
  24053. state = file
  24054. /* check that we're writing and that there's no error */
  24055. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24056. return 0
  24057. }
  24058. /* since an int is returned, make sure len fits in one, otherwise return
  24059. with an error (this avoids a flaw in the interface) */
  24060. if libc.Int32FromUint32(len1) < 0 {
  24061. Xgz_error(tls, state, -int32(3), __ccgo_ts+837)
  24062. return 0
  24063. }
  24064. /* write len bytes from buf (the return value will fit in an int) */
  24065. return libc.Int32FromUint64(_gz_write(tls, state, buf, uint64(len1)))
  24066. }
  24067. // C documentation
  24068. //
  24069. // /* -- see zlib.h -- */
  24070. func Xgzfwrite(tls *libc.TLS, buf Tvoidpc, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  24071. var len1 Tz_size_t
  24072. var state Tgz_statep
  24073. var v1 uint64
  24074. _, _, _ = len1, state, v1
  24075. /* get internal structure */
  24076. if file == libc.UintptrFromInt32(0) {
  24077. return uint64(0)
  24078. }
  24079. state = file
  24080. /* check that we're writing and that there's no error */
  24081. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24082. return uint64(0)
  24083. }
  24084. /* compute bytes to read -- error on overflow */
  24085. len1 = nitems * size
  24086. if size != 0 && len1/size != nitems {
  24087. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  24088. return uint64(0)
  24089. }
  24090. /* write len bytes to buf, return the number of full items written */
  24091. if len1 != 0 {
  24092. v1 = _gz_write(tls, state, buf, len1) / size
  24093. } else {
  24094. v1 = uint64(0)
  24095. }
  24096. return v1
  24097. }
  24098. // C documentation
  24099. //
  24100. // /* -- see zlib.h -- */
  24101. func Xgzputc(tls *libc.TLS, file TgzFile, c int32) (r int32) {
  24102. bp := tls.Alloc(16)
  24103. defer tls.Free(16)
  24104. var have uint32
  24105. var state Tgz_statep
  24106. var strm Tz_streamp
  24107. var _ /* buf at bp+0 */ [1]uint8
  24108. _, _, _ = have, state, strm
  24109. /* get internal structure */
  24110. if file == libc.UintptrFromInt32(0) {
  24111. return -int32(1)
  24112. }
  24113. state = file
  24114. strm = state + 128
  24115. /* check that we're writing and that there's no error */
  24116. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24117. return -int32(1)
  24118. }
  24119. /* check for seek request */
  24120. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24121. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24122. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24123. return -int32(1)
  24124. }
  24125. }
  24126. /* try writing to input buffer for speed (state->size == 0 if buffer not
  24127. initialized) */
  24128. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24129. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  24130. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24131. }
  24132. have = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in+uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in)) - int64((*Tgz_state)(unsafe.Pointer(state)).Fin))
  24133. if have < (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  24134. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(have))) = libc.Uint8FromInt32(c)
  24135. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in++
  24136. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  24137. return c & int32(0xff)
  24138. }
  24139. }
  24140. /* no room in buffer or not initialized, use gz_write() */
  24141. (*(*[1]uint8)(unsafe.Pointer(bp)))[0] = libc.Uint8FromInt32(c)
  24142. if _gz_write(tls, state, bp, uint64(1)) != uint64(1) {
  24143. return -int32(1)
  24144. }
  24145. return c & int32(0xff)
  24146. }
  24147. // C documentation
  24148. //
  24149. // /* -- see zlib.h -- */
  24150. func Xgzputs(tls *libc.TLS, file TgzFile, s uintptr) (r int32) {
  24151. var len1, put Tz_size_t
  24152. var state Tgz_statep
  24153. var v1 int32
  24154. _, _, _, _ = len1, put, state, v1
  24155. /* get internal structure */
  24156. if file == libc.UintptrFromInt32(0) {
  24157. return -int32(1)
  24158. }
  24159. state = file
  24160. /* check that we're writing and that there's no error */
  24161. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24162. return -int32(1)
  24163. }
  24164. /* write string */
  24165. len1 = libc.Xstrlen(tls, s)
  24166. if libc.Int32FromUint64(len1) < 0 || uint64(uint32(len1)) != len1 {
  24167. Xgz_error(tls, state, -int32(2), __ccgo_ts+874)
  24168. return -int32(1)
  24169. }
  24170. put = _gz_write(tls, state, s, len1)
  24171. if put < len1 {
  24172. v1 = -int32(1)
  24173. } else {
  24174. v1 = libc.Int32FromUint64(len1)
  24175. }
  24176. return v1
  24177. }
  24178. // C documentation
  24179. //
  24180. // /* -- see zlib.h -- */
  24181. func Xgzvprintf(tls *libc.TLS, file TgzFile, format uintptr, va Tva_list) (r int32) {
  24182. var left uint32
  24183. var len1 int32
  24184. var next uintptr
  24185. var state Tgz_statep
  24186. var strm Tz_streamp
  24187. _, _, _, _, _ = left, len1, next, state, strm
  24188. /* get internal structure */
  24189. if file == libc.UintptrFromInt32(0) {
  24190. return -int32(2)
  24191. }
  24192. state = file
  24193. strm = state + 128
  24194. /* check that we're writing and that there's no error */
  24195. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24196. return -int32(2)
  24197. }
  24198. /* make sure we have some buffer space */
  24199. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  24200. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24201. }
  24202. /* check for seek request */
  24203. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24204. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24205. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24206. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24207. }
  24208. }
  24209. /* do the printf() into the input buffer, put length in len -- the input
  24210. buffer is double-sized just for this function, so there is guaranteed to
  24211. be state->size bytes available after the current contents */
  24212. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  24213. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24214. }
  24215. next = (*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in)-int64((*Tgz_state)(unsafe.Pointer(state)).Fin)) + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
  24216. *(*int8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1)))) = 0
  24217. len1 = libc.X__builtin_vsnprintf(tls, next, uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize), format, va)
  24218. /* check that printf() results fit in buffer */
  24219. if len1 == 0 || libc.Uint32FromInt32(len1) >= (*Tgz_state)(unsafe.Pointer(state)).Fsize || int32(*(*int8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1))))) != 0 {
  24220. return 0
  24221. }
  24222. /* update buffer and position, compress first half if past that */
  24223. *(*TuInt)(unsafe.Pointer(strm + 8)) += libc.Uint32FromInt32(len1)
  24224. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += int64(len1)
  24225. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in >= (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  24226. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in - (*Tgz_state)(unsafe.Pointer(state)).Fsize
  24227. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  24228. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24229. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24230. }
  24231. libc.Xmemmove(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize), uint64(left))
  24232. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24233. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = left
  24234. }
  24235. return len1
  24236. }
  24237. func Xgzprintf(tls *libc.TLS, file TgzFile, format uintptr, va1 uintptr) (r int32) {
  24238. var ret int32
  24239. var va Tva_list
  24240. _, _ = ret, va
  24241. va = va1
  24242. ret = Xgzvprintf(tls, file, format, va)
  24243. _ = va
  24244. return ret
  24245. }
  24246. // C documentation
  24247. //
  24248. // /* -- see zlib.h -- */
  24249. func Xgzflush(tls *libc.TLS, file TgzFile, flush int32) (r int32) {
  24250. var state Tgz_statep
  24251. _ = state
  24252. /* get internal structure */
  24253. if file == libc.UintptrFromInt32(0) {
  24254. return -int32(2)
  24255. }
  24256. state = file
  24257. /* check that we're writing and that there's no error */
  24258. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24259. return -int32(2)
  24260. }
  24261. /* check flush parameter */
  24262. if flush < 0 || flush > int32(m_Z_FINISH) {
  24263. return -int32(2)
  24264. }
  24265. /* check for seek request */
  24266. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24267. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24268. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24269. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24270. }
  24271. }
  24272. /* compress remaining data with requested flush */
  24273. _gz_comp(tls, state, flush)
  24274. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24275. }
  24276. // C documentation
  24277. //
  24278. // /* -- see zlib.h -- */
  24279. func Xgzsetparams(tls *libc.TLS, file TgzFile, level int32, strategy int32) (r int32) {
  24280. var state Tgz_statep
  24281. var strm Tz_streamp
  24282. _, _ = state, strm
  24283. /* get internal structure */
  24284. if file == libc.UintptrFromInt32(0) {
  24285. return -int32(2)
  24286. }
  24287. state = file
  24288. strm = state + 128
  24289. /* check that we're writing and that there's no error */
  24290. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK || (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  24291. return -int32(2)
  24292. }
  24293. /* if no change is requested, then do nothing */
  24294. if level == (*Tgz_state)(unsafe.Pointer(state)).Flevel && strategy == (*Tgz_state)(unsafe.Pointer(state)).Fstrategy {
  24295. return m_Z_OK
  24296. }
  24297. /* check for seek request */
  24298. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24299. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24300. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24301. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24302. }
  24303. }
  24304. /* change compression parameters for subsequent input */
  24305. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24306. /* flush previous input with previous parameters before changing */
  24307. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, int32(m_Z_BLOCK)) == -int32(1) {
  24308. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24309. }
  24310. XdeflateParams(tls, strm, level, strategy)
  24311. }
  24312. (*Tgz_state)(unsafe.Pointer(state)).Flevel = level
  24313. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = strategy
  24314. return m_Z_OK
  24315. }
  24316. // C documentation
  24317. //
  24318. // /* -- see zlib.h -- */
  24319. func Xgzclose_w(tls *libc.TLS, file TgzFile) (r int32) {
  24320. var ret int32
  24321. var state Tgz_statep
  24322. _, _ = ret, state
  24323. ret = m_Z_OK
  24324. /* get internal structure */
  24325. if file == libc.UintptrFromInt32(0) {
  24326. return -int32(2)
  24327. }
  24328. state = file
  24329. /* check that we're writing */
  24330. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24331. return -int32(2)
  24332. }
  24333. /* check for seek request */
  24334. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24335. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24336. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24337. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24338. }
  24339. }
  24340. /* flush, free memory, and close file */
  24341. if _gz_comp(tls, state, int32(m_Z_FINISH)) == -int32(1) {
  24342. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24343. }
  24344. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24345. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  24346. XdeflateEnd(tls, state+128)
  24347. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  24348. }
  24349. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  24350. }
  24351. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  24352. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  24353. if libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd) == -int32(1) {
  24354. ret = -int32(1)
  24355. }
  24356. libc.Xfree(tls, state)
  24357. return ret
  24358. }
  24359. func __ccgo_fp(f interface{}) uintptr {
  24360. type iface [2]uintptr
  24361. return (*iface)(unsafe.Pointer(&f))[1]
  24362. }
  24363. var x__dist_code = [512]Tuch{
  24364. 1: uint8(1),
  24365. 2: uint8(2),
  24366. 3: uint8(3),
  24367. 4: uint8(4),
  24368. 5: uint8(4),
  24369. 6: uint8(5),
  24370. 7: uint8(5),
  24371. 8: uint8(6),
  24372. 9: uint8(6),
  24373. 10: uint8(6),
  24374. 11: uint8(6),
  24375. 12: uint8(7),
  24376. 13: uint8(7),
  24377. 14: uint8(7),
  24378. 15: uint8(7),
  24379. 16: uint8(8),
  24380. 17: uint8(8),
  24381. 18: uint8(8),
  24382. 19: uint8(8),
  24383. 20: uint8(8),
  24384. 21: uint8(8),
  24385. 22: uint8(8),
  24386. 23: uint8(8),
  24387. 24: uint8(9),
  24388. 25: uint8(9),
  24389. 26: uint8(9),
  24390. 27: uint8(9),
  24391. 28: uint8(9),
  24392. 29: uint8(9),
  24393. 30: uint8(9),
  24394. 31: uint8(9),
  24395. 32: uint8(10),
  24396. 33: uint8(10),
  24397. 34: uint8(10),
  24398. 35: uint8(10),
  24399. 36: uint8(10),
  24400. 37: uint8(10),
  24401. 38: uint8(10),
  24402. 39: uint8(10),
  24403. 40: uint8(10),
  24404. 41: uint8(10),
  24405. 42: uint8(10),
  24406. 43: uint8(10),
  24407. 44: uint8(10),
  24408. 45: uint8(10),
  24409. 46: uint8(10),
  24410. 47: uint8(10),
  24411. 48: uint8(11),
  24412. 49: uint8(11),
  24413. 50: uint8(11),
  24414. 51: uint8(11),
  24415. 52: uint8(11),
  24416. 53: uint8(11),
  24417. 54: uint8(11),
  24418. 55: uint8(11),
  24419. 56: uint8(11),
  24420. 57: uint8(11),
  24421. 58: uint8(11),
  24422. 59: uint8(11),
  24423. 60: uint8(11),
  24424. 61: uint8(11),
  24425. 62: uint8(11),
  24426. 63: uint8(11),
  24427. 64: uint8(12),
  24428. 65: uint8(12),
  24429. 66: uint8(12),
  24430. 67: uint8(12),
  24431. 68: uint8(12),
  24432. 69: uint8(12),
  24433. 70: uint8(12),
  24434. 71: uint8(12),
  24435. 72: uint8(12),
  24436. 73: uint8(12),
  24437. 74: uint8(12),
  24438. 75: uint8(12),
  24439. 76: uint8(12),
  24440. 77: uint8(12),
  24441. 78: uint8(12),
  24442. 79: uint8(12),
  24443. 80: uint8(12),
  24444. 81: uint8(12),
  24445. 82: uint8(12),
  24446. 83: uint8(12),
  24447. 84: uint8(12),
  24448. 85: uint8(12),
  24449. 86: uint8(12),
  24450. 87: uint8(12),
  24451. 88: uint8(12),
  24452. 89: uint8(12),
  24453. 90: uint8(12),
  24454. 91: uint8(12),
  24455. 92: uint8(12),
  24456. 93: uint8(12),
  24457. 94: uint8(12),
  24458. 95: uint8(12),
  24459. 96: uint8(13),
  24460. 97: uint8(13),
  24461. 98: uint8(13),
  24462. 99: uint8(13),
  24463. 100: uint8(13),
  24464. 101: uint8(13),
  24465. 102: uint8(13),
  24466. 103: uint8(13),
  24467. 104: uint8(13),
  24468. 105: uint8(13),
  24469. 106: uint8(13),
  24470. 107: uint8(13),
  24471. 108: uint8(13),
  24472. 109: uint8(13),
  24473. 110: uint8(13),
  24474. 111: uint8(13),
  24475. 112: uint8(13),
  24476. 113: uint8(13),
  24477. 114: uint8(13),
  24478. 115: uint8(13),
  24479. 116: uint8(13),
  24480. 117: uint8(13),
  24481. 118: uint8(13),
  24482. 119: uint8(13),
  24483. 120: uint8(13),
  24484. 121: uint8(13),
  24485. 122: uint8(13),
  24486. 123: uint8(13),
  24487. 124: uint8(13),
  24488. 125: uint8(13),
  24489. 126: uint8(13),
  24490. 127: uint8(13),
  24491. 128: uint8(14),
  24492. 129: uint8(14),
  24493. 130: uint8(14),
  24494. 131: uint8(14),
  24495. 132: uint8(14),
  24496. 133: uint8(14),
  24497. 134: uint8(14),
  24498. 135: uint8(14),
  24499. 136: uint8(14),
  24500. 137: uint8(14),
  24501. 138: uint8(14),
  24502. 139: uint8(14),
  24503. 140: uint8(14),
  24504. 141: uint8(14),
  24505. 142: uint8(14),
  24506. 143: uint8(14),
  24507. 144: uint8(14),
  24508. 145: uint8(14),
  24509. 146: uint8(14),
  24510. 147: uint8(14),
  24511. 148: uint8(14),
  24512. 149: uint8(14),
  24513. 150: uint8(14),
  24514. 151: uint8(14),
  24515. 152: uint8(14),
  24516. 153: uint8(14),
  24517. 154: uint8(14),
  24518. 155: uint8(14),
  24519. 156: uint8(14),
  24520. 157: uint8(14),
  24521. 158: uint8(14),
  24522. 159: uint8(14),
  24523. 160: uint8(14),
  24524. 161: uint8(14),
  24525. 162: uint8(14),
  24526. 163: uint8(14),
  24527. 164: uint8(14),
  24528. 165: uint8(14),
  24529. 166: uint8(14),
  24530. 167: uint8(14),
  24531. 168: uint8(14),
  24532. 169: uint8(14),
  24533. 170: uint8(14),
  24534. 171: uint8(14),
  24535. 172: uint8(14),
  24536. 173: uint8(14),
  24537. 174: uint8(14),
  24538. 175: uint8(14),
  24539. 176: uint8(14),
  24540. 177: uint8(14),
  24541. 178: uint8(14),
  24542. 179: uint8(14),
  24543. 180: uint8(14),
  24544. 181: uint8(14),
  24545. 182: uint8(14),
  24546. 183: uint8(14),
  24547. 184: uint8(14),
  24548. 185: uint8(14),
  24549. 186: uint8(14),
  24550. 187: uint8(14),
  24551. 188: uint8(14),
  24552. 189: uint8(14),
  24553. 190: uint8(14),
  24554. 191: uint8(14),
  24555. 192: uint8(15),
  24556. 193: uint8(15),
  24557. 194: uint8(15),
  24558. 195: uint8(15),
  24559. 196: uint8(15),
  24560. 197: uint8(15),
  24561. 198: uint8(15),
  24562. 199: uint8(15),
  24563. 200: uint8(15),
  24564. 201: uint8(15),
  24565. 202: uint8(15),
  24566. 203: uint8(15),
  24567. 204: uint8(15),
  24568. 205: uint8(15),
  24569. 206: uint8(15),
  24570. 207: uint8(15),
  24571. 208: uint8(15),
  24572. 209: uint8(15),
  24573. 210: uint8(15),
  24574. 211: uint8(15),
  24575. 212: uint8(15),
  24576. 213: uint8(15),
  24577. 214: uint8(15),
  24578. 215: uint8(15),
  24579. 216: uint8(15),
  24580. 217: uint8(15),
  24581. 218: uint8(15),
  24582. 219: uint8(15),
  24583. 220: uint8(15),
  24584. 221: uint8(15),
  24585. 222: uint8(15),
  24586. 223: uint8(15),
  24587. 224: uint8(15),
  24588. 225: uint8(15),
  24589. 226: uint8(15),
  24590. 227: uint8(15),
  24591. 228: uint8(15),
  24592. 229: uint8(15),
  24593. 230: uint8(15),
  24594. 231: uint8(15),
  24595. 232: uint8(15),
  24596. 233: uint8(15),
  24597. 234: uint8(15),
  24598. 235: uint8(15),
  24599. 236: uint8(15),
  24600. 237: uint8(15),
  24601. 238: uint8(15),
  24602. 239: uint8(15),
  24603. 240: uint8(15),
  24604. 241: uint8(15),
  24605. 242: uint8(15),
  24606. 243: uint8(15),
  24607. 244: uint8(15),
  24608. 245: uint8(15),
  24609. 246: uint8(15),
  24610. 247: uint8(15),
  24611. 248: uint8(15),
  24612. 249: uint8(15),
  24613. 250: uint8(15),
  24614. 251: uint8(15),
  24615. 252: uint8(15),
  24616. 253: uint8(15),
  24617. 254: uint8(15),
  24618. 255: uint8(15),
  24619. 258: uint8(16),
  24620. 259: uint8(17),
  24621. 260: uint8(18),
  24622. 261: uint8(18),
  24623. 262: uint8(19),
  24624. 263: uint8(19),
  24625. 264: uint8(20),
  24626. 265: uint8(20),
  24627. 266: uint8(20),
  24628. 267: uint8(20),
  24629. 268: uint8(21),
  24630. 269: uint8(21),
  24631. 270: uint8(21),
  24632. 271: uint8(21),
  24633. 272: uint8(22),
  24634. 273: uint8(22),
  24635. 274: uint8(22),
  24636. 275: uint8(22),
  24637. 276: uint8(22),
  24638. 277: uint8(22),
  24639. 278: uint8(22),
  24640. 279: uint8(22),
  24641. 280: uint8(23),
  24642. 281: uint8(23),
  24643. 282: uint8(23),
  24644. 283: uint8(23),
  24645. 284: uint8(23),
  24646. 285: uint8(23),
  24647. 286: uint8(23),
  24648. 287: uint8(23),
  24649. 288: uint8(24),
  24650. 289: uint8(24),
  24651. 290: uint8(24),
  24652. 291: uint8(24),
  24653. 292: uint8(24),
  24654. 293: uint8(24),
  24655. 294: uint8(24),
  24656. 295: uint8(24),
  24657. 296: uint8(24),
  24658. 297: uint8(24),
  24659. 298: uint8(24),
  24660. 299: uint8(24),
  24661. 300: uint8(24),
  24662. 301: uint8(24),
  24663. 302: uint8(24),
  24664. 303: uint8(24),
  24665. 304: uint8(25),
  24666. 305: uint8(25),
  24667. 306: uint8(25),
  24668. 307: uint8(25),
  24669. 308: uint8(25),
  24670. 309: uint8(25),
  24671. 310: uint8(25),
  24672. 311: uint8(25),
  24673. 312: uint8(25),
  24674. 313: uint8(25),
  24675. 314: uint8(25),
  24676. 315: uint8(25),
  24677. 316: uint8(25),
  24678. 317: uint8(25),
  24679. 318: uint8(25),
  24680. 319: uint8(25),
  24681. 320: uint8(26),
  24682. 321: uint8(26),
  24683. 322: uint8(26),
  24684. 323: uint8(26),
  24685. 324: uint8(26),
  24686. 325: uint8(26),
  24687. 326: uint8(26),
  24688. 327: uint8(26),
  24689. 328: uint8(26),
  24690. 329: uint8(26),
  24691. 330: uint8(26),
  24692. 331: uint8(26),
  24693. 332: uint8(26),
  24694. 333: uint8(26),
  24695. 334: uint8(26),
  24696. 335: uint8(26),
  24697. 336: uint8(26),
  24698. 337: uint8(26),
  24699. 338: uint8(26),
  24700. 339: uint8(26),
  24701. 340: uint8(26),
  24702. 341: uint8(26),
  24703. 342: uint8(26),
  24704. 343: uint8(26),
  24705. 344: uint8(26),
  24706. 345: uint8(26),
  24707. 346: uint8(26),
  24708. 347: uint8(26),
  24709. 348: uint8(26),
  24710. 349: uint8(26),
  24711. 350: uint8(26),
  24712. 351: uint8(26),
  24713. 352: uint8(27),
  24714. 353: uint8(27),
  24715. 354: uint8(27),
  24716. 355: uint8(27),
  24717. 356: uint8(27),
  24718. 357: uint8(27),
  24719. 358: uint8(27),
  24720. 359: uint8(27),
  24721. 360: uint8(27),
  24722. 361: uint8(27),
  24723. 362: uint8(27),
  24724. 363: uint8(27),
  24725. 364: uint8(27),
  24726. 365: uint8(27),
  24727. 366: uint8(27),
  24728. 367: uint8(27),
  24729. 368: uint8(27),
  24730. 369: uint8(27),
  24731. 370: uint8(27),
  24732. 371: uint8(27),
  24733. 372: uint8(27),
  24734. 373: uint8(27),
  24735. 374: uint8(27),
  24736. 375: uint8(27),
  24737. 376: uint8(27),
  24738. 377: uint8(27),
  24739. 378: uint8(27),
  24740. 379: uint8(27),
  24741. 380: uint8(27),
  24742. 381: uint8(27),
  24743. 382: uint8(27),
  24744. 383: uint8(27),
  24745. 384: uint8(28),
  24746. 385: uint8(28),
  24747. 386: uint8(28),
  24748. 387: uint8(28),
  24749. 388: uint8(28),
  24750. 389: uint8(28),
  24751. 390: uint8(28),
  24752. 391: uint8(28),
  24753. 392: uint8(28),
  24754. 393: uint8(28),
  24755. 394: uint8(28),
  24756. 395: uint8(28),
  24757. 396: uint8(28),
  24758. 397: uint8(28),
  24759. 398: uint8(28),
  24760. 399: uint8(28),
  24761. 400: uint8(28),
  24762. 401: uint8(28),
  24763. 402: uint8(28),
  24764. 403: uint8(28),
  24765. 404: uint8(28),
  24766. 405: uint8(28),
  24767. 406: uint8(28),
  24768. 407: uint8(28),
  24769. 408: uint8(28),
  24770. 409: uint8(28),
  24771. 410: uint8(28),
  24772. 411: uint8(28),
  24773. 412: uint8(28),
  24774. 413: uint8(28),
  24775. 414: uint8(28),
  24776. 415: uint8(28),
  24777. 416: uint8(28),
  24778. 417: uint8(28),
  24779. 418: uint8(28),
  24780. 419: uint8(28),
  24781. 420: uint8(28),
  24782. 421: uint8(28),
  24783. 422: uint8(28),
  24784. 423: uint8(28),
  24785. 424: uint8(28),
  24786. 425: uint8(28),
  24787. 426: uint8(28),
  24788. 427: uint8(28),
  24789. 428: uint8(28),
  24790. 429: uint8(28),
  24791. 430: uint8(28),
  24792. 431: uint8(28),
  24793. 432: uint8(28),
  24794. 433: uint8(28),
  24795. 434: uint8(28),
  24796. 435: uint8(28),
  24797. 436: uint8(28),
  24798. 437: uint8(28),
  24799. 438: uint8(28),
  24800. 439: uint8(28),
  24801. 440: uint8(28),
  24802. 441: uint8(28),
  24803. 442: uint8(28),
  24804. 443: uint8(28),
  24805. 444: uint8(28),
  24806. 445: uint8(28),
  24807. 446: uint8(28),
  24808. 447: uint8(28),
  24809. 448: uint8(29),
  24810. 449: uint8(29),
  24811. 450: uint8(29),
  24812. 451: uint8(29),
  24813. 452: uint8(29),
  24814. 453: uint8(29),
  24815. 454: uint8(29),
  24816. 455: uint8(29),
  24817. 456: uint8(29),
  24818. 457: uint8(29),
  24819. 458: uint8(29),
  24820. 459: uint8(29),
  24821. 460: uint8(29),
  24822. 461: uint8(29),
  24823. 462: uint8(29),
  24824. 463: uint8(29),
  24825. 464: uint8(29),
  24826. 465: uint8(29),
  24827. 466: uint8(29),
  24828. 467: uint8(29),
  24829. 468: uint8(29),
  24830. 469: uint8(29),
  24831. 470: uint8(29),
  24832. 471: uint8(29),
  24833. 472: uint8(29),
  24834. 473: uint8(29),
  24835. 474: uint8(29),
  24836. 475: uint8(29),
  24837. 476: uint8(29),
  24838. 477: uint8(29),
  24839. 478: uint8(29),
  24840. 479: uint8(29),
  24841. 480: uint8(29),
  24842. 481: uint8(29),
  24843. 482: uint8(29),
  24844. 483: uint8(29),
  24845. 484: uint8(29),
  24846. 485: uint8(29),
  24847. 486: uint8(29),
  24848. 487: uint8(29),
  24849. 488: uint8(29),
  24850. 489: uint8(29),
  24851. 490: uint8(29),
  24852. 491: uint8(29),
  24853. 492: uint8(29),
  24854. 493: uint8(29),
  24855. 494: uint8(29),
  24856. 495: uint8(29),
  24857. 496: uint8(29),
  24858. 497: uint8(29),
  24859. 498: uint8(29),
  24860. 499: uint8(29),
  24861. 500: uint8(29),
  24862. 501: uint8(29),
  24863. 502: uint8(29),
  24864. 503: uint8(29),
  24865. 504: uint8(29),
  24866. 505: uint8(29),
  24867. 506: uint8(29),
  24868. 507: uint8(29),
  24869. 508: uint8(29),
  24870. 509: uint8(29),
  24871. 510: uint8(29),
  24872. 511: uint8(29),
  24873. }
  24874. var x__length_code = [256]Tuch{
  24875. 1: uint8(1),
  24876. 2: uint8(2),
  24877. 3: uint8(3),
  24878. 4: uint8(4),
  24879. 5: uint8(5),
  24880. 6: uint8(6),
  24881. 7: uint8(7),
  24882. 8: uint8(8),
  24883. 9: uint8(8),
  24884. 10: uint8(9),
  24885. 11: uint8(9),
  24886. 12: uint8(10),
  24887. 13: uint8(10),
  24888. 14: uint8(11),
  24889. 15: uint8(11),
  24890. 16: uint8(12),
  24891. 17: uint8(12),
  24892. 18: uint8(12),
  24893. 19: uint8(12),
  24894. 20: uint8(13),
  24895. 21: uint8(13),
  24896. 22: uint8(13),
  24897. 23: uint8(13),
  24898. 24: uint8(14),
  24899. 25: uint8(14),
  24900. 26: uint8(14),
  24901. 27: uint8(14),
  24902. 28: uint8(15),
  24903. 29: uint8(15),
  24904. 30: uint8(15),
  24905. 31: uint8(15),
  24906. 32: uint8(16),
  24907. 33: uint8(16),
  24908. 34: uint8(16),
  24909. 35: uint8(16),
  24910. 36: uint8(16),
  24911. 37: uint8(16),
  24912. 38: uint8(16),
  24913. 39: uint8(16),
  24914. 40: uint8(17),
  24915. 41: uint8(17),
  24916. 42: uint8(17),
  24917. 43: uint8(17),
  24918. 44: uint8(17),
  24919. 45: uint8(17),
  24920. 46: uint8(17),
  24921. 47: uint8(17),
  24922. 48: uint8(18),
  24923. 49: uint8(18),
  24924. 50: uint8(18),
  24925. 51: uint8(18),
  24926. 52: uint8(18),
  24927. 53: uint8(18),
  24928. 54: uint8(18),
  24929. 55: uint8(18),
  24930. 56: uint8(19),
  24931. 57: uint8(19),
  24932. 58: uint8(19),
  24933. 59: uint8(19),
  24934. 60: uint8(19),
  24935. 61: uint8(19),
  24936. 62: uint8(19),
  24937. 63: uint8(19),
  24938. 64: uint8(20),
  24939. 65: uint8(20),
  24940. 66: uint8(20),
  24941. 67: uint8(20),
  24942. 68: uint8(20),
  24943. 69: uint8(20),
  24944. 70: uint8(20),
  24945. 71: uint8(20),
  24946. 72: uint8(20),
  24947. 73: uint8(20),
  24948. 74: uint8(20),
  24949. 75: uint8(20),
  24950. 76: uint8(20),
  24951. 77: uint8(20),
  24952. 78: uint8(20),
  24953. 79: uint8(20),
  24954. 80: uint8(21),
  24955. 81: uint8(21),
  24956. 82: uint8(21),
  24957. 83: uint8(21),
  24958. 84: uint8(21),
  24959. 85: uint8(21),
  24960. 86: uint8(21),
  24961. 87: uint8(21),
  24962. 88: uint8(21),
  24963. 89: uint8(21),
  24964. 90: uint8(21),
  24965. 91: uint8(21),
  24966. 92: uint8(21),
  24967. 93: uint8(21),
  24968. 94: uint8(21),
  24969. 95: uint8(21),
  24970. 96: uint8(22),
  24971. 97: uint8(22),
  24972. 98: uint8(22),
  24973. 99: uint8(22),
  24974. 100: uint8(22),
  24975. 101: uint8(22),
  24976. 102: uint8(22),
  24977. 103: uint8(22),
  24978. 104: uint8(22),
  24979. 105: uint8(22),
  24980. 106: uint8(22),
  24981. 107: uint8(22),
  24982. 108: uint8(22),
  24983. 109: uint8(22),
  24984. 110: uint8(22),
  24985. 111: uint8(22),
  24986. 112: uint8(23),
  24987. 113: uint8(23),
  24988. 114: uint8(23),
  24989. 115: uint8(23),
  24990. 116: uint8(23),
  24991. 117: uint8(23),
  24992. 118: uint8(23),
  24993. 119: uint8(23),
  24994. 120: uint8(23),
  24995. 121: uint8(23),
  24996. 122: uint8(23),
  24997. 123: uint8(23),
  24998. 124: uint8(23),
  24999. 125: uint8(23),
  25000. 126: uint8(23),
  25001. 127: uint8(23),
  25002. 128: uint8(24),
  25003. 129: uint8(24),
  25004. 130: uint8(24),
  25005. 131: uint8(24),
  25006. 132: uint8(24),
  25007. 133: uint8(24),
  25008. 134: uint8(24),
  25009. 135: uint8(24),
  25010. 136: uint8(24),
  25011. 137: uint8(24),
  25012. 138: uint8(24),
  25013. 139: uint8(24),
  25014. 140: uint8(24),
  25015. 141: uint8(24),
  25016. 142: uint8(24),
  25017. 143: uint8(24),
  25018. 144: uint8(24),
  25019. 145: uint8(24),
  25020. 146: uint8(24),
  25021. 147: uint8(24),
  25022. 148: uint8(24),
  25023. 149: uint8(24),
  25024. 150: uint8(24),
  25025. 151: uint8(24),
  25026. 152: uint8(24),
  25027. 153: uint8(24),
  25028. 154: uint8(24),
  25029. 155: uint8(24),
  25030. 156: uint8(24),
  25031. 157: uint8(24),
  25032. 158: uint8(24),
  25033. 159: uint8(24),
  25034. 160: uint8(25),
  25035. 161: uint8(25),
  25036. 162: uint8(25),
  25037. 163: uint8(25),
  25038. 164: uint8(25),
  25039. 165: uint8(25),
  25040. 166: uint8(25),
  25041. 167: uint8(25),
  25042. 168: uint8(25),
  25043. 169: uint8(25),
  25044. 170: uint8(25),
  25045. 171: uint8(25),
  25046. 172: uint8(25),
  25047. 173: uint8(25),
  25048. 174: uint8(25),
  25049. 175: uint8(25),
  25050. 176: uint8(25),
  25051. 177: uint8(25),
  25052. 178: uint8(25),
  25053. 179: uint8(25),
  25054. 180: uint8(25),
  25055. 181: uint8(25),
  25056. 182: uint8(25),
  25057. 183: uint8(25),
  25058. 184: uint8(25),
  25059. 185: uint8(25),
  25060. 186: uint8(25),
  25061. 187: uint8(25),
  25062. 188: uint8(25),
  25063. 189: uint8(25),
  25064. 190: uint8(25),
  25065. 191: uint8(25),
  25066. 192: uint8(26),
  25067. 193: uint8(26),
  25068. 194: uint8(26),
  25069. 195: uint8(26),
  25070. 196: uint8(26),
  25071. 197: uint8(26),
  25072. 198: uint8(26),
  25073. 199: uint8(26),
  25074. 200: uint8(26),
  25075. 201: uint8(26),
  25076. 202: uint8(26),
  25077. 203: uint8(26),
  25078. 204: uint8(26),
  25079. 205: uint8(26),
  25080. 206: uint8(26),
  25081. 207: uint8(26),
  25082. 208: uint8(26),
  25083. 209: uint8(26),
  25084. 210: uint8(26),
  25085. 211: uint8(26),
  25086. 212: uint8(26),
  25087. 213: uint8(26),
  25088. 214: uint8(26),
  25089. 215: uint8(26),
  25090. 216: uint8(26),
  25091. 217: uint8(26),
  25092. 218: uint8(26),
  25093. 219: uint8(26),
  25094. 220: uint8(26),
  25095. 221: uint8(26),
  25096. 222: uint8(26),
  25097. 223: uint8(26),
  25098. 224: uint8(27),
  25099. 225: uint8(27),
  25100. 226: uint8(27),
  25101. 227: uint8(27),
  25102. 228: uint8(27),
  25103. 229: uint8(27),
  25104. 230: uint8(27),
  25105. 231: uint8(27),
  25106. 232: uint8(27),
  25107. 233: uint8(27),
  25108. 234: uint8(27),
  25109. 235: uint8(27),
  25110. 236: uint8(27),
  25111. 237: uint8(27),
  25112. 238: uint8(27),
  25113. 239: uint8(27),
  25114. 240: uint8(27),
  25115. 241: uint8(27),
  25116. 242: uint8(27),
  25117. 243: uint8(27),
  25118. 244: uint8(27),
  25119. 245: uint8(27),
  25120. 246: uint8(27),
  25121. 247: uint8(27),
  25122. 248: uint8(27),
  25123. 249: uint8(27),
  25124. 250: uint8(27),
  25125. 251: uint8(27),
  25126. 252: uint8(27),
  25127. 253: uint8(27),
  25128. 254: uint8(27),
  25129. 255: uint8(28),
  25130. }
  25131. var Xdeflate_copyright = [68]int8{' ', 'd', 'e', 'f', 'l', 'a', 't', 'e', ' ', '1', '.', '3', '.', '1', ' ', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', ' ', '1', '9', '9', '5', '-', '2', '0', '2', '4', ' ', 'J', 'e', 'a', 'n', '-', 'l', 'o', 'u', 'p', ' ', 'G', 'a', 'i', 'l', 'l', 'y', ' ', 'a', 'n', 'd', ' ', 'M', 'a', 'r', 'k', ' ', 'A', 'd', 'l', 'e', 'r', ' '}
  25132. var Xinflate_copyright = [47]int8{' ', 'i', 'n', 'f', 'l', 'a', 't', 'e', ' ', '1', '.', '3', '.', '1', ' ', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', ' ', '1', '9', '9', '5', '-', '2', '0', '2', '4', ' ', 'M', 'a', 'r', 'k', ' ', 'A', 'd', 'l', 'e', 'r', ' '}
  25133. var Xz_errmsg = [10]uintptr{
  25134. 0: __ccgo_ts + 467,
  25135. 1: __ccgo_ts + 483,
  25136. 2: __ccgo_ts + 494,
  25137. 3: __ccgo_ts + 495,
  25138. 4: __ccgo_ts + 506,
  25139. 5: __ccgo_ts + 519,
  25140. 6: __ccgo_ts + 530,
  25141. 7: __ccgo_ts + 550,
  25142. 8: __ccgo_ts + 563,
  25143. 9: __ccgo_ts + 494,
  25144. }
  25145. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  25146. var __ccgo_ts1 = "1.3.1\x00invalid block type\x00invalid stored block lengths\x00too many length or distance symbols\x00invalid code lengths set\x00invalid bit length repeat\x00invalid code -- missing end-of-block\x00invalid literal/lengths set\x00invalid distances set\x00invalid literal/length code\x00invalid distance code\x00invalid distance too far back\x00incorrect header check\x00unknown compression method\x00invalid window size\x00unknown header flags set\x00header crc mismatch\x00incorrect data check\x00incorrect length check\x00need dictionary\x00stream end\x00\x00file error\x00stream error\x00data error\x00insufficient memory\x00buffer error\x00incompatible version\x00%s\x00<fd:%d>\x00out of memory\x00%s%s%s\x00: \x00unexpected end of file\x00internal error: inflate stream corrupt\x00compressed data error\x00request does not fit in an int\x00request does not fit in a size_t\x00out of room to push characters\x00internal error: deflate stream corrupt\x00requested length does not fit in int\x00string length does not fit in int\x00"