ccgo_darwin_amd64.go 845 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622
  1. // Code generated for darwin/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 darwin && 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_ACCESSX_MAX_DESCRIPTORS = 100
  12. const m_BADSIG = "SIG_ERR"
  13. const m_BASE = 65521
  14. const m_BC_BASE_MAX = 99
  15. const m_BC_DIM_MAX = 2048
  16. const m_BC_SCALE_MAX = 99
  17. const m_BC_STRING_MAX = 1000
  18. const m_BIG_ENDIAN = "__DARWIN_BIG_ENDIAN"
  19. const m_BUS_ADRALN = 1
  20. const m_BUS_ADRERR = 2
  21. const m_BUS_NOOP = 0
  22. const m_BUS_OBJERR = 3
  23. const m_BYTE_ORDER = "__DARWIN_BYTE_ORDER"
  24. const m_CHARCLASS_NAME_MAX = 14
  25. const m_CHILD_MAX = 266
  26. const m_CLD_CONTINUED = 6
  27. const m_CLD_DUMPED = 3
  28. const m_CLD_EXITED = 1
  29. const m_CLD_KILLED = 2
  30. const m_CLD_NOOP = 0
  31. const m_CLD_STOPPED = 5
  32. const m_CLD_TRAPPED = 4
  33. const m_COLL_WEIGHTS_MAX = 2
  34. const m_CPUMON_MAKE_FATAL = 0x1000
  35. const m_DEF_MEM_LEVEL = 8
  36. const m_DEF_WBITS = "MAX_WBITS"
  37. const m_DYN_TREES = 2
  38. const m_EQUIV_CLASS_MAX = 2
  39. const m_EXIT_FAILURE = 1
  40. const m_EXIT_SUCCESS = 0
  41. const m_EXPR_NEST_MAX = 32
  42. const m_FD_SETSIZE = "__DARWIN_FD_SETSIZE"
  43. const m_FOOTPRINT_INTERVAL_RESET = 0x1
  44. const m_FPE_FLTDIV = 1
  45. const m_FPE_FLTINV = 5
  46. const m_FPE_FLTOVF = 2
  47. const m_FPE_FLTRES = 4
  48. const m_FPE_FLTSUB = 6
  49. const m_FPE_FLTUND = 3
  50. const m_FPE_INTDIV = 7
  51. const m_FPE_INTOVF = 8
  52. const m_FPE_NOOP = 0
  53. const m_FP_CHOP = 3
  54. const m_FP_PREC_24B = 0
  55. const m_FP_PREC_53B = 2
  56. const m_FP_PREC_64B = 3
  57. const m_FP_RND_DOWN = 1
  58. const m_FP_RND_NEAR = 0
  59. const m_FP_RND_UP = 2
  60. const m_FP_STATE_BYTES = 512
  61. const m_F_LOCK = 1
  62. const m_F_OK = 0
  63. const m_F_TEST = 3
  64. const m_F_TLOCK = 2
  65. const m_F_ULOCK = 0
  66. const m_GID_MAX = 2147483647
  67. const m_HAVE_HIDDEN = 1
  68. const m_ILL_BADSTK = 8
  69. const m_ILL_COPROC = 7
  70. const m_ILL_ILLADR = 5
  71. const m_ILL_ILLOPC = 1
  72. const m_ILL_ILLOPN = 4
  73. const m_ILL_ILLTRP = 2
  74. const m_ILL_NOOP = 0
  75. const m_ILL_PRVOPC = 3
  76. const m_ILL_PRVREG = 6
  77. const m_INTMAX_MAX = "__INTMAX_MAX__"
  78. const m_INTPTR_MAX = "__INTPTR_MAX__"
  79. const m_INT_FAST16_MAX = "__INT_LEAST16_MAX"
  80. const m_INT_FAST16_MIN = "__INT_LEAST16_MIN"
  81. const m_INT_FAST32_MAX = "__INT_LEAST32_MAX"
  82. const m_INT_FAST32_MIN = "__INT_LEAST32_MIN"
  83. const m_INT_FAST64_MAX = "__INT_LEAST64_MAX"
  84. const m_INT_FAST64_MIN = "__INT_LEAST64_MIN"
  85. const m_INT_FAST8_MAX = "__INT_LEAST8_MAX"
  86. const m_INT_FAST8_MIN = "__INT_LEAST8_MIN"
  87. const m_INT_LEAST16_MAX = "__INT_LEAST16_MAX"
  88. const m_INT_LEAST16_MIN = "__INT_LEAST16_MIN"
  89. const m_INT_LEAST32_MAX = "__INT_LEAST32_MAX"
  90. const m_INT_LEAST32_MIN = "__INT_LEAST32_MIN"
  91. const m_INT_LEAST64_MAX = "__INT_LEAST64_MAX"
  92. const m_INT_LEAST64_MIN = "__INT_LEAST64_MIN"
  93. const m_INT_LEAST8_MAX = "__INT_LEAST8_MAX"
  94. const m_INT_LEAST8_MIN = "__INT_LEAST8_MIN"
  95. const m_IOPOL_APPLICATION = "IOPOL_STANDARD"
  96. const m_IOPOL_ATIME_UPDATES_DEFAULT = 0
  97. const m_IOPOL_ATIME_UPDATES_OFF = 1
  98. const m_IOPOL_DEFAULT = 0
  99. const m_IOPOL_IMPORTANT = 1
  100. const m_IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0
  101. const m_IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1
  102. const m_IOPOL_MATERIALIZE_DATALESS_FILES_ON = 2
  103. const m_IOPOL_NORMAL = "IOPOL_IMPORTANT"
  104. const m_IOPOL_PASSIVE = 2
  105. const m_IOPOL_SCOPE_DARWIN_BG = 2
  106. const m_IOPOL_SCOPE_PROCESS = 0
  107. const m_IOPOL_SCOPE_THREAD = 1
  108. const m_IOPOL_STANDARD = 5
  109. const m_IOPOL_THROTTLE = 3
  110. const m_IOPOL_TYPE_DISK = 0
  111. const m_IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES = 9
  112. const m_IOPOL_TYPE_VFS_ATIME_UPDATES = 2
  113. const m_IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY = 10
  114. const m_IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 6
  115. const m_IOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 7
  116. const m_IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3
  117. const m_IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 8
  118. const m_IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4
  119. const m_IOPOL_TYPE_VFS_TRIGGER_RESOLVE = 5
  120. const m_IOPOL_UTILITY = 4
  121. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF = 0
  122. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON = 1
  123. const m_IOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0
  124. const m_IOPOL_VFS_CONTENT_PROTECTION_IGNORE = 1
  125. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT = 0
  126. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON = 1
  127. const m_IOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0
  128. const m_IOPOL_VFS_IGNORE_PERMISSIONS_ON = 1
  129. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT = 0
  130. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON = 1
  131. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_IGNORE = 2
  132. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0
  133. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_ON = 1
  134. const m_IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1
  135. const m_IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0
  136. const m_IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0
  137. const m_IOPOL_VFS_TRIGGER_RESOLVE_OFF = 1
  138. const m_LINE_MAX = 2048
  139. const m_LINK_MAX = 32767
  140. const m_LITTLE_ENDIAN = "__DARWIN_LITTLE_ENDIAN"
  141. const m_L_INCR = "SEEK_CUR"
  142. const m_L_SET = "SEEK_SET"
  143. const m_L_XTND = "SEEK_END"
  144. const m_L_ctermid = 1024
  145. const m_MAC_OS_VERSION_11_0 = "__MAC_11_0"
  146. const m_MAC_OS_VERSION_11_1 = "__MAC_11_1"
  147. const m_MAC_OS_VERSION_11_3 = "__MAC_11_3"
  148. const m_MAC_OS_VERSION_11_4 = "__MAC_11_4"
  149. const m_MAC_OS_VERSION_11_5 = "__MAC_11_5"
  150. const m_MAC_OS_VERSION_11_6 = "__MAC_11_6"
  151. const m_MAC_OS_VERSION_12_0 = "__MAC_12_0"
  152. const m_MAC_OS_VERSION_12_1 = "__MAC_12_1"
  153. const m_MAC_OS_VERSION_12_2 = "__MAC_12_2"
  154. const m_MAC_OS_VERSION_12_3 = "__MAC_12_3"
  155. const m_MAC_OS_VERSION_12_4 = "__MAC_12_4"
  156. const m_MAC_OS_VERSION_12_5 = "__MAC_12_5"
  157. const m_MAC_OS_VERSION_12_6 = "__MAC_12_6"
  158. const m_MAC_OS_VERSION_12_7 = "__MAC_12_7"
  159. const m_MAC_OS_VERSION_13_0 = "__MAC_13_0"
  160. const m_MAC_OS_VERSION_13_1 = "__MAC_13_1"
  161. const m_MAC_OS_VERSION_13_2 = "__MAC_13_2"
  162. const m_MAC_OS_VERSION_13_3 = "__MAC_13_3"
  163. const m_MAC_OS_VERSION_13_4 = "__MAC_13_4"
  164. const m_MAC_OS_VERSION_13_5 = "__MAC_13_5"
  165. const m_MAC_OS_VERSION_13_6 = "__MAC_13_6"
  166. const m_MAC_OS_VERSION_13_7 = "__MAC_13_7"
  167. const m_MAC_OS_VERSION_14_0 = "__MAC_14_0"
  168. const m_MAC_OS_VERSION_14_1 = "__MAC_14_1"
  169. const m_MAC_OS_VERSION_14_2 = "__MAC_14_2"
  170. const m_MAC_OS_VERSION_14_3 = "__MAC_14_3"
  171. const m_MAC_OS_VERSION_14_4 = "__MAC_14_4"
  172. const m_MAC_OS_VERSION_14_5 = "__MAC_14_5"
  173. const m_MAC_OS_VERSION_14_6 = "__MAC_14_6"
  174. const m_MAC_OS_VERSION_14_7 = "__MAC_14_7"
  175. const m_MAC_OS_VERSION_15_0 = "__MAC_15_0"
  176. const m_MAC_OS_VERSION_15_1 = "__MAC_15_1"
  177. const m_MAC_OS_VERSION_15_2 = "__MAC_15_2"
  178. const m_MAC_OS_VERSION_15_3 = "__MAC_15_3"
  179. const m_MAC_OS_VERSION_15_4 = "__MAC_15_4"
  180. const m_MAC_OS_X_VERSION_10_0 = "__MAC_10_0"
  181. const m_MAC_OS_X_VERSION_10_1 = "__MAC_10_1"
  182. const m_MAC_OS_X_VERSION_10_10 = "__MAC_10_10"
  183. const m_MAC_OS_X_VERSION_10_10_2 = "__MAC_10_10_2"
  184. const m_MAC_OS_X_VERSION_10_10_3 = "__MAC_10_10_3"
  185. const m_MAC_OS_X_VERSION_10_11 = "__MAC_10_11"
  186. const m_MAC_OS_X_VERSION_10_11_2 = "__MAC_10_11_2"
  187. const m_MAC_OS_X_VERSION_10_11_3 = "__MAC_10_11_3"
  188. const m_MAC_OS_X_VERSION_10_11_4 = "__MAC_10_11_4"
  189. const m_MAC_OS_X_VERSION_10_12 = "__MAC_10_12"
  190. const m_MAC_OS_X_VERSION_10_12_1 = "__MAC_10_12_1"
  191. const m_MAC_OS_X_VERSION_10_12_2 = "__MAC_10_12_2"
  192. const m_MAC_OS_X_VERSION_10_12_4 = "__MAC_10_12_4"
  193. const m_MAC_OS_X_VERSION_10_13 = "__MAC_10_13"
  194. const m_MAC_OS_X_VERSION_10_13_1 = "__MAC_10_13_1"
  195. const m_MAC_OS_X_VERSION_10_13_2 = "__MAC_10_13_2"
  196. const m_MAC_OS_X_VERSION_10_13_4 = "__MAC_10_13_4"
  197. const m_MAC_OS_X_VERSION_10_14 = "__MAC_10_14"
  198. const m_MAC_OS_X_VERSION_10_14_1 = "__MAC_10_14_1"
  199. const m_MAC_OS_X_VERSION_10_14_4 = "__MAC_10_14_4"
  200. const m_MAC_OS_X_VERSION_10_14_5 = "__MAC_10_14_5"
  201. const m_MAC_OS_X_VERSION_10_14_6 = "__MAC_10_14_6"
  202. const m_MAC_OS_X_VERSION_10_15 = "__MAC_10_15"
  203. const m_MAC_OS_X_VERSION_10_15_1 = "__MAC_10_15_1"
  204. const m_MAC_OS_X_VERSION_10_15_4 = "__MAC_10_15_4"
  205. const m_MAC_OS_X_VERSION_10_16 = "__MAC_10_16"
  206. const m_MAC_OS_X_VERSION_10_2 = "__MAC_10_2"
  207. const m_MAC_OS_X_VERSION_10_3 = "__MAC_10_3"
  208. const m_MAC_OS_X_VERSION_10_4 = "__MAC_10_4"
  209. const m_MAC_OS_X_VERSION_10_5 = "__MAC_10_5"
  210. const m_MAC_OS_X_VERSION_10_6 = "__MAC_10_6"
  211. const m_MAC_OS_X_VERSION_10_7 = "__MAC_10_7"
  212. const m_MAC_OS_X_VERSION_10_8 = "__MAC_10_8"
  213. const m_MAC_OS_X_VERSION_10_9 = "__MAC_10_9"
  214. const m_MAX_CANON = 1024
  215. const m_MAX_INPUT = 1024
  216. const m_MAX_MATCH = 258
  217. const m_MAX_MEM_LEVEL = 9
  218. const m_MAX_WBITS = 15
  219. const m_MB_CUR_MAX = "__mb_cur_max"
  220. const m_MB_LEN_MAX = 1
  221. const m_MINSIGSTKSZ = 32768
  222. const m_MIN_MATCH = 3
  223. const m_NAME_MAX = 255
  224. const m_NBBY = "__DARWIN_NBBY"
  225. const m_NDEBUG = 1
  226. const m_NFDBITS = "__DARWIN_NFDBITS"
  227. const m_NGROUPS_MAX = 16
  228. const m_NMAX = 5552
  229. const m_NSIG = "__DARWIN_NSIG"
  230. const m_NZERO = 20
  231. const m_OPEN_MAX = 10240
  232. const m_OS_CODE = 19
  233. const m_PATH_MAX = 1024
  234. const m_PDP_ENDIAN = "__DARWIN_PDP_ENDIAN"
  235. const m_PIPE_BUF = 512
  236. const m_POLL_ERR = 4
  237. const m_POLL_HUP = 6
  238. const m_POLL_IN = 1
  239. const m_POLL_MSG = 3
  240. const m_POLL_OUT = 2
  241. const m_POLL_PRI = 5
  242. const m_PRESET_DICT = 0x20
  243. const m_PRIO_DARWIN_BG = 0x1000
  244. const m_PRIO_DARWIN_NONUI = 0x1001
  245. const m_PRIO_DARWIN_PROCESS = 4
  246. const m_PRIO_DARWIN_THREAD = 3
  247. const m_PRIO_MAX = 20
  248. const m_PRIO_PGRP = 1
  249. const m_PRIO_PROCESS = 0
  250. const m_PRIO_USER = 2
  251. const m_PTRDIFF_MAX = "__PTRDIFF_MAX__"
  252. const m_RAND_MAX = 0x7fffffff
  253. const m_RE_DUP_MAX = 255
  254. const m_RLIMIT_AS = 5
  255. const m_RLIMIT_CORE = 4
  256. const m_RLIMIT_CPU = 0
  257. const m_RLIMIT_CPU_USAGE_MONITOR = 0x2
  258. const m_RLIMIT_DATA = 2
  259. const m_RLIMIT_FOOTPRINT_INTERVAL = 0x4
  260. const m_RLIMIT_FSIZE = 1
  261. const m_RLIMIT_MEMLOCK = 6
  262. const m_RLIMIT_NOFILE = 8
  263. const m_RLIMIT_NPROC = 7
  264. const m_RLIMIT_RSS = "RLIMIT_AS"
  265. const m_RLIMIT_STACK = 3
  266. const m_RLIMIT_THREAD_CPULIMITS = 0x3
  267. const m_RLIMIT_WAKEUPS_MONITOR = 0x1
  268. const m_RLIM_NLIMITS = 9
  269. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  270. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  271. const m_RUSAGE_INFO_CURRENT = "RUSAGE_INFO_V6"
  272. const m_RUSAGE_INFO_V0 = 0
  273. const m_RUSAGE_INFO_V1 = 1
  274. const m_RUSAGE_INFO_V2 = 2
  275. const m_RUSAGE_INFO_V3 = 3
  276. const m_RUSAGE_INFO_V4 = 4
  277. const m_RUSAGE_INFO_V5 = 5
  278. const m_RUSAGE_INFO_V6 = 6
  279. const m_RUSAGE_SELF = 0
  280. const m_RU_PROC_RUNS_RESLIDE = 0x00000001
  281. const m_SA_64REGSET = 0x0200
  282. const m_SA_NOCLDSTOP = 0x0008
  283. const m_SA_NOCLDWAIT = 0x0020
  284. const m_SA_NODEFER = 0x0010
  285. const m_SA_ONSTACK = 0x0001
  286. const m_SA_RESETHAND = 0x0004
  287. const m_SA_RESTART = 0x0002
  288. const m_SA_SIGINFO = 0x0040
  289. const m_SA_USERTRAMP = 0x0100
  290. const m_SEEK_CUR = 1
  291. const m_SEEK_DATA = 4
  292. const m_SEEK_END = 2
  293. const m_SEEK_HOLE = 3
  294. const m_SEEK_SET = 0
  295. const m_SEGV_ACCERR = 2
  296. const m_SEGV_MAPERR = 1
  297. const m_SEGV_NOOP = 0
  298. const m_SIGABRT = 6
  299. const m_SIGALRM = 14
  300. const m_SIGBUS = 10
  301. const m_SIGCHLD = 20
  302. const m_SIGCONT = 19
  303. const m_SIGEMT = 7
  304. const m_SIGEV_NONE = 0
  305. const m_SIGEV_SIGNAL = 1
  306. const m_SIGEV_THREAD = 3
  307. const m_SIGFPE = 8
  308. const m_SIGHUP = 1
  309. const m_SIGILL = 4
  310. const m_SIGINFO = 29
  311. const m_SIGINT = 2
  312. const m_SIGIO = 23
  313. const m_SIGIOT = "SIGABRT"
  314. const m_SIGKILL = 9
  315. const m_SIGPIPE = 13
  316. const m_SIGPROF = 27
  317. const m_SIGQUIT = 3
  318. const m_SIGSEGV = 11
  319. const m_SIGSTKSZ = 131072
  320. const m_SIGSTOP = 17
  321. const m_SIGSYS = 12
  322. const m_SIGTERM = 15
  323. const m_SIGTRAP = 5
  324. const m_SIGTSTP = 18
  325. const m_SIGTTIN = 21
  326. const m_SIGTTOU = 22
  327. const m_SIGURG = 16
  328. const m_SIGUSR1 = 30
  329. const m_SIGUSR2 = 31
  330. const m_SIGVTALRM = 26
  331. const m_SIGWINCH = 28
  332. const m_SIGXCPU = 24
  333. const m_SIGXFSZ = 25
  334. const m_SIG_BLOCK = 1
  335. const m_SIG_SETMASK = 3
  336. const m_SIG_UNBLOCK = 2
  337. const m_SIZE_MAX = "__SIZE_MAX__"
  338. const m_SI_ASYNCIO = 0x10004
  339. const m_SI_MESGQ = 0x10005
  340. const m_SI_QUEUE = 0x10002
  341. const m_SI_TIMER = 0x10003
  342. const m_SI_USER = 0x10001
  343. const m_SS_DISABLE = 0x0004
  344. const m_SS_ONSTACK = 0x0001
  345. const m_STATIC_TREES = 1
  346. const m_STDERR_FILENO = 2
  347. const m_STDIN_FILENO = 0
  348. const m_STDOUT_FILENO = 1
  349. const m_STORED_BLOCK = 0
  350. const m_SV_INTERRUPT = "SA_RESTART"
  351. const m_SV_NOCLDSTOP = "SA_NOCLDSTOP"
  352. const m_SV_NODEFER = "SA_NODEFER"
  353. const m_SV_ONSTACK = "SA_ONSTACK"
  354. const m_SV_RESETHAND = "SA_RESETHAND"
  355. const m_SV_SIGINFO = "SA_SIGINFO"
  356. const m_SYNC_VOLUME_FULLSYNC = 0x01
  357. const m_SYNC_VOLUME_WAIT = 0x02
  358. const m_TARGET_IPHONE_SIMULATOR = 0
  359. const m_TARGET_OS_ARROW = 0
  360. const m_TARGET_OS_BRIDGE = 0
  361. const m_TARGET_OS_DRIVERKIT = 0
  362. const m_TARGET_OS_EMBEDDED = 0
  363. const m_TARGET_OS_IOS = 0
  364. const m_TARGET_OS_IOSMAC = 0
  365. const m_TARGET_OS_IPHONE = 0
  366. const m_TARGET_OS_LINUX = 0
  367. const m_TARGET_OS_MAC = 1
  368. const m_TARGET_OS_MACCATALYST = 0
  369. const m_TARGET_OS_NANO = 0
  370. const m_TARGET_OS_OSX = 1
  371. const m_TARGET_OS_SIMULATOR = 0
  372. const m_TARGET_OS_TV = 0
  373. const m_TARGET_OS_UIKITFORMAC = 0
  374. const m_TARGET_OS_UNIX = 0
  375. const m_TARGET_OS_VISION = 0
  376. const m_TARGET_OS_WATCH = 0
  377. const m_TARGET_OS_WIN32 = 0
  378. const m_TARGET_OS_WINDOWS = 0
  379. const m_TARGET_OS_XR = 0
  380. const m_TRAP_BRKPT = 1
  381. const m_TRAP_TRACE = 2
  382. const m_UID_MAX = 2147483647
  383. const m_UINTMAX_MAX = "__UINTMAX_MAX__"
  384. const m_UINTPTR_MAX = "__UINTPTR_MAX__"
  385. const m_UINT_FAST16_MAX = "__UINT_LEAST16_MAX"
  386. const m_UINT_FAST32_MAX = "__UINT_LEAST32_MAX"
  387. const m_UINT_FAST64_MAX = "__UINT_LEAST64_MAX"
  388. const m_UINT_FAST8_MAX = "__UINT_LEAST8_MAX"
  389. const m_UINT_LEAST16_MAX = "__UINT_LEAST16_MAX"
  390. const m_UINT_LEAST32_MAX = "__UINT_LEAST32_MAX"
  391. const m_UINT_LEAST64_MAX = "__UINT_LEAST64_MAX"
  392. const m_UINT_LEAST8_MAX = "__UINT_LEAST8_MAX"
  393. const m_WAIT_MYPGRP = 0
  394. const m_WAKEMON_DISABLE = 0x02
  395. const m_WAKEMON_ENABLE = 0x01
  396. const m_WAKEMON_GET_PARAMS = 0x04
  397. const m_WAKEMON_MAKE_FATAL = 0x10
  398. const m_WAKEMON_SET_DEFAULTS = 0x08
  399. const m_WCHAR_MAX = "__WCHAR_MAX__"
  400. const m_WCONTINUED = 0x00000010
  401. const m_WCOREFLAG = 0200
  402. const m_WEXITED = 0x00000004
  403. const m_WNOHANG = 0x00000001
  404. const m_WNOWAIT = 0x00000020
  405. const m_WSTOPPED = 0x00000008
  406. const m_WUNTRACED = 0x00000002
  407. const m_ZEXTERN = "extern"
  408. const m_ZLIB_VERNUM = 0x1310
  409. const m_ZLIB_VERSION = "1.3.1"
  410. const m_ZLIB_VER_MAJOR = 1
  411. const m_ZLIB_VER_MINOR = 3
  412. const m_ZLIB_VER_REVISION = 1
  413. const m_ZLIB_VER_SUBREVISION = 0
  414. const m_Z_ASCII = "Z_TEXT"
  415. const m_Z_BEST_COMPRESSION = 9
  416. const m_Z_BEST_SPEED = 1
  417. const m_Z_BINARY = 0
  418. const m_Z_BLOCK = 5
  419. const m_Z_DEFAULT_STRATEGY = 0
  420. const m_Z_DEFLATED = 8
  421. const m_Z_FILTERED = 1
  422. const m_Z_FINISH = 4
  423. const m_Z_FIXED = 4
  424. const m_Z_FULL_FLUSH = 3
  425. const m_Z_HUFFMAN_ONLY = 2
  426. const m_Z_NEED_DICT = 2
  427. const m_Z_NO_COMPRESSION = 0
  428. const m_Z_NO_FLUSH = 0
  429. const m_Z_NULL = 0
  430. const m_Z_OK = 0
  431. const m_Z_PARTIAL_FLUSH = 1
  432. const m_Z_RLE = 3
  433. const m_Z_STREAM_END = 1
  434. const m_Z_SYNC_FLUSH = 2
  435. const m_Z_TEXT = 1
  436. const m_Z_TREES = 6
  437. const m_Z_U4 = "unsigned"
  438. const m_Z_UNKNOWN = 2
  439. const m__CS_DARWIN_USER_CACHE_DIR = 65538
  440. const m__CS_DARWIN_USER_DIR = 65536
  441. const m__CS_DARWIN_USER_TEMP_DIR = 65537
  442. const m__CS_PATH = 1
  443. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2
  444. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3
  445. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 4
  446. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5
  447. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6
  448. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7
  449. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 8
  450. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9
  451. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 10
  452. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11
  453. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12
  454. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13
  455. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14
  456. const m__CS_XBS5_ILP32_OFF32_CFLAGS = 20
  457. const m__CS_XBS5_ILP32_OFF32_LDFLAGS = 21
  458. const m__CS_XBS5_ILP32_OFF32_LIBS = 22
  459. const m__CS_XBS5_ILP32_OFF32_LINTFLAGS = 23
  460. const m__CS_XBS5_ILP32_OFFBIG_CFLAGS = 24
  461. const m__CS_XBS5_ILP32_OFFBIG_LDFLAGS = 25
  462. const m__CS_XBS5_ILP32_OFFBIG_LIBS = 26
  463. const m__CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 27
  464. const m__CS_XBS5_LP64_OFF64_CFLAGS = 28
  465. const m__CS_XBS5_LP64_OFF64_LDFLAGS = 29
  466. const m__CS_XBS5_LP64_OFF64_LIBS = 30
  467. const m__CS_XBS5_LP64_OFF64_LINTFLAGS = 31
  468. const m__CS_XBS5_LPBIG_OFFBIG_CFLAGS = 32
  469. const m__CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 33
  470. const m__CS_XBS5_LPBIG_OFFBIG_LIBS = 34
  471. const m__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 35
  472. const m__DARWIN_FEATURE_64_BIT_INODE = 1
  473. const m__DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
  474. const m__DARWIN_FEATURE_UNIX_CONFORMANCE = 3
  475. const m__FORTIFY_SOURCE = 2
  476. const m__I386_SIGNAL_H_ = 1
  477. const m__LIBC_COUNT__MB_LEN_MAX = "_LIBC_UNSAFE_INDEXABLE"
  478. const m__LIBC_COUNT__PATH_MAX = "_LIBC_UNSAFE_INDEXABLE"
  479. const m__LP64 = 1
  480. const m__PC_2_SYMLINKS = 15
  481. const m__PC_ALLOC_SIZE_MIN = 16
  482. const m__PC_ASYNC_IO = 17
  483. const m__PC_AUTH_OPAQUE_NP = 14
  484. const m__PC_CASE_PRESERVING = 12
  485. const m__PC_CASE_SENSITIVE = 11
  486. const m__PC_CHOWN_RESTRICTED = 7
  487. const m__PC_EXTENDED_SECURITY_NP = 13
  488. const m__PC_FILESIZEBITS = 18
  489. const m__PC_LINK_MAX = 1
  490. const m__PC_MAX_CANON = 2
  491. const m__PC_MAX_INPUT = 3
  492. const m__PC_MIN_HOLE_SIZE = 27
  493. const m__PC_NAME_CHARS_MAX = 10
  494. const m__PC_NAME_MAX = 4
  495. const m__PC_NO_TRUNC = 8
  496. const m__PC_PATH_MAX = 5
  497. const m__PC_PIPE_BUF = 6
  498. const m__PC_PRIO_IO = 19
  499. const m__PC_REC_INCR_XFER_SIZE = 20
  500. const m__PC_REC_MAX_XFER_SIZE = 21
  501. const m__PC_REC_MIN_XFER_SIZE = 22
  502. const m__PC_REC_XFER_ALIGN = 23
  503. const m__PC_SYMLINK_MAX = 24
  504. const m__PC_SYNC_IO = 25
  505. const m__PC_VDISABLE = 9
  506. const m__PC_XATTR_SIZE_BITS = 26
  507. const m__POSIX2_CHAR_TERM = 200112
  508. const m__POSIX2_C_BIND = 200112
  509. const m__POSIX2_C_DEV = 200112
  510. const m__POSIX2_FORT_RUN = 200112
  511. const m__POSIX2_LOCALEDEF = 200112
  512. const m__POSIX2_SW_DEV = 200112
  513. const m__POSIX2_UPE = 200112
  514. const m__POSIX2_VERSION = 200112
  515. const m__POSIX_CHOWN_RESTRICTED = 200112
  516. const m__POSIX_FSYNC = 200112
  517. const m__POSIX_IPV6 = 200112
  518. const m__POSIX_JOB_CONTROL = 200112
  519. const m__POSIX_MAPPED_FILES = 200112
  520. const m__POSIX_MEMORY_PROTECTION = 200112
  521. const m__POSIX_NO_TRUNC = 200112
  522. const m__POSIX_READER_WRITER_LOCKS = 200112
  523. const m__POSIX_REGEXP = 200112
  524. const m__POSIX_SAVED_IDS = 200112
  525. const m__POSIX_SHELL = 200112
  526. const m__POSIX_SPAWN = 200112
  527. const m__POSIX_THREADS = 200112
  528. const m__POSIX_THREAD_ATTR_STACKADDR = 200112
  529. const m__POSIX_THREAD_ATTR_STACKSIZE = 200112
  530. const m__POSIX_THREAD_KEYS_MAX = 128
  531. const m__POSIX_THREAD_PROCESS_SHARED = 200112
  532. const m__POSIX_THREAD_SAFE_FUNCTIONS = 200112
  533. const m__POSIX_V6_ILP32_OFF32 = "__ILP32_OFF32"
  534. const m__POSIX_V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  535. const m__POSIX_V6_LP64_OFF64 = "__LP64_OFF64"
  536. const m__POSIX_V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  537. const m__POSIX_V7_ILP32_OFF32 = "__ILP32_OFF32"
  538. const m__POSIX_V7_ILP32_OFFBIG = "__ILP32_OFFBIG"
  539. const m__POSIX_V7_LP64_OFF64 = "__LP64_OFF64"
  540. const m__POSIX_V7_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  541. const m__POSIX_VERSION = 200112
  542. const m__QUAD_HIGHWORD = 1
  543. const m__QUAD_LOWWORD = 0
  544. const m__RLIMIT_POSIX_FLAG = 0x1000
  545. const m__SC_2_CHAR_TERM = 20
  546. const m__SC_2_C_BIND = 18
  547. const m__SC_2_C_DEV = 19
  548. const m__SC_2_FORT_DEV = 21
  549. const m__SC_2_FORT_RUN = 22
  550. const m__SC_2_LOCALEDEF = 23
  551. const m__SC_2_PBS = 59
  552. const m__SC_2_PBS_ACCOUNTING = 60
  553. const m__SC_2_PBS_CHECKPOINT = 61
  554. const m__SC_2_PBS_LOCATE = 62
  555. const m__SC_2_PBS_MESSAGE = 63
  556. const m__SC_2_PBS_TRACK = 64
  557. const m__SC_2_SW_DEV = 24
  558. const m__SC_2_UPE = 25
  559. const m__SC_2_VERSION = 17
  560. const m__SC_ADVISORY_INFO = 65
  561. const m__SC_AIO_LISTIO_MAX = 42
  562. const m__SC_AIO_MAX = 43
  563. const m__SC_AIO_PRIO_DELTA_MAX = 44
  564. const m__SC_ARG_MAX = 1
  565. const m__SC_ASYNCHRONOUS_IO = 28
  566. const m__SC_ATEXIT_MAX = 107
  567. const m__SC_BARRIERS = 66
  568. const m__SC_BC_BASE_MAX = 9
  569. const m__SC_BC_DIM_MAX = 10
  570. const m__SC_BC_SCALE_MAX = 11
  571. const m__SC_BC_STRING_MAX = 12
  572. const m__SC_CHILD_MAX = 2
  573. const m__SC_CLK_TCK = 3
  574. const m__SC_CLOCK_SELECTION = 67
  575. const m__SC_COLL_WEIGHTS_MAX = 13
  576. const m__SC_CPUTIME = 68
  577. const m__SC_DELAYTIMER_MAX = 45
  578. const m__SC_EXPR_NEST_MAX = 14
  579. const m__SC_FILE_LOCKING = 69
  580. const m__SC_FSYNC = 38
  581. const m__SC_GETGR_R_SIZE_MAX = 70
  582. const m__SC_GETPW_R_SIZE_MAX = 71
  583. const m__SC_HOST_NAME_MAX = 72
  584. const m__SC_IOV_MAX = 56
  585. const m__SC_IPV6 = 118
  586. const m__SC_JOB_CONTROL = 6
  587. const m__SC_LINE_MAX = 15
  588. const m__SC_LOGIN_NAME_MAX = 73
  589. const m__SC_MAPPED_FILES = 47
  590. const m__SC_MEMLOCK = 30
  591. const m__SC_MEMLOCK_RANGE = 31
  592. const m__SC_MEMORY_PROTECTION = 32
  593. const m__SC_MESSAGE_PASSING = 33
  594. const m__SC_MONOTONIC_CLOCK = 74
  595. const m__SC_MQ_OPEN_MAX = 46
  596. const m__SC_MQ_PRIO_MAX = 75
  597. const m__SC_NGROUPS_MAX = 4
  598. const m__SC_NPROCESSORS_CONF = 57
  599. const m__SC_NPROCESSORS_ONLN = 58
  600. const m__SC_OPEN_MAX = 5
  601. const m__SC_PAGESIZE = 29
  602. const m__SC_PAGE_SIZE = "_SC_PAGESIZE"
  603. const m__SC_PASS_MAX = 131
  604. const m__SC_PHYS_PAGES = 200
  605. const m__SC_PRIORITIZED_IO = 34
  606. const m__SC_PRIORITY_SCHEDULING = 35
  607. const m__SC_RAW_SOCKETS = 119
  608. const m__SC_READER_WRITER_LOCKS = 76
  609. const m__SC_REALTIME_SIGNALS = 36
  610. const m__SC_REGEXP = 77
  611. const m__SC_RE_DUP_MAX = 16
  612. const m__SC_RTSIG_MAX = 48
  613. const m__SC_SAVED_IDS = 7
  614. const m__SC_SEMAPHORES = 37
  615. const m__SC_SEM_NSEMS_MAX = 49
  616. const m__SC_SEM_VALUE_MAX = 50
  617. const m__SC_SHARED_MEMORY_OBJECTS = 39
  618. const m__SC_SHELL = 78
  619. const m__SC_SIGQUEUE_MAX = 51
  620. const m__SC_SPAWN = 79
  621. const m__SC_SPIN_LOCKS = 80
  622. const m__SC_SPORADIC_SERVER = 81
  623. const m__SC_SS_REPL_MAX = 126
  624. const m__SC_STREAM_MAX = 26
  625. const m__SC_SYMLOOP_MAX = 120
  626. const m__SC_SYNCHRONIZED_IO = 40
  627. const m__SC_THREADS = 96
  628. const m__SC_THREAD_ATTR_STACKADDR = 82
  629. const m__SC_THREAD_ATTR_STACKSIZE = 83
  630. const m__SC_THREAD_CPUTIME = 84
  631. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 85
  632. const m__SC_THREAD_KEYS_MAX = 86
  633. const m__SC_THREAD_PRIORITY_SCHEDULING = 89
  634. const m__SC_THREAD_PRIO_INHERIT = 87
  635. const m__SC_THREAD_PRIO_PROTECT = 88
  636. const m__SC_THREAD_PROCESS_SHARED = 90
  637. const m__SC_THREAD_SAFE_FUNCTIONS = 91
  638. const m__SC_THREAD_SPORADIC_SERVER = 92
  639. const m__SC_THREAD_STACK_MIN = 93
  640. const m__SC_THREAD_THREADS_MAX = 94
  641. const m__SC_TIMEOUTS = 95
  642. const m__SC_TIMERS = 41
  643. const m__SC_TIMER_MAX = 52
  644. const m__SC_TRACE = 97
  645. const m__SC_TRACE_EVENT_FILTER = 98
  646. const m__SC_TRACE_EVENT_NAME_MAX = 127
  647. const m__SC_TRACE_INHERIT = 99
  648. const m__SC_TRACE_LOG = 100
  649. const m__SC_TRACE_NAME_MAX = 128
  650. const m__SC_TRACE_SYS_MAX = 129
  651. const m__SC_TRACE_USER_EVENT_MAX = 130
  652. const m__SC_TTY_NAME_MAX = 101
  653. const m__SC_TYPED_MEMORY_OBJECTS = 102
  654. const m__SC_TZNAME_MAX = 27
  655. const m__SC_V6_ILP32_OFF32 = 103
  656. const m__SC_V6_ILP32_OFFBIG = 104
  657. const m__SC_V6_LP64_OFF64 = 105
  658. const m__SC_V6_LPBIG_OFFBIG = 106
  659. const m__SC_VERSION = 8
  660. const m__SC_XBS5_ILP32_OFF32 = 122
  661. const m__SC_XBS5_ILP32_OFFBIG = 123
  662. const m__SC_XBS5_LP64_OFF64 = 124
  663. const m__SC_XBS5_LPBIG_OFFBIG = 125
  664. const m__SC_XOPEN_CRYPT = 108
  665. const m__SC_XOPEN_ENH_I18N = 109
  666. const m__SC_XOPEN_LEGACY = 110
  667. const m__SC_XOPEN_REALTIME = 111
  668. const m__SC_XOPEN_REALTIME_THREADS = 112
  669. const m__SC_XOPEN_SHM = 113
  670. const m__SC_XOPEN_STREAMS = 114
  671. const m__SC_XOPEN_UNIX = 115
  672. const m__SC_XOPEN_VERSION = 116
  673. const m__SC_XOPEN_XCU_VERSION = 121
  674. const m__STRUCT_MCONTEXT = "_STRUCT_MCONTEXT64"
  675. const m__V6_ILP32_OFF32 = "__ILP32_OFF32"
  676. const m__V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  677. const m__V6_LP64_OFF64 = "__LP64_OFF64"
  678. const m__V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  679. const m__WSTOPPED = 0177
  680. const m__X86_INSTRUCTION_STATE_CACHELINE_SIZE = 64
  681. const m__XBS5_ILP32_OFF32 = "__ILP32_OFF32"
  682. const m__XBS5_ILP32_OFFBIG = "__ILP32_OFFBIG"
  683. const m__XBS5_LP64_OFF64 = "__LP64_OFF64"
  684. const m__XBS5_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  685. const m__XOPEN_CRYPT = 1
  686. const m__XOPEN_ENH_I18N = 1
  687. const m__XOPEN_SHM = 1
  688. const m__XOPEN_UNIX = 1
  689. const m__XOPEN_VERSION = 600
  690. const m__XOPEN_XCU_VERSION = 4
  691. const m___API_TO_BE_DEPRECATED = 100000
  692. const m___API_TO_BE_DEPRECATED_DRIVERKIT = 100000
  693. const m___API_TO_BE_DEPRECATED_IOS = 100000
  694. const m___API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION = 100000
  695. const m___API_TO_BE_DEPRECATED_KERNELKIT = 100000
  696. const m___API_TO_BE_DEPRECATED_MACCATALYST = 100000
  697. const m___API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION = 100000
  698. const m___API_TO_BE_DEPRECATED_MACOS = 100000
  699. const m___API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION = 100000
  700. const m___API_TO_BE_DEPRECATED_TVOS = 100000
  701. const m___API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION = 100000
  702. const m___API_TO_BE_DEPRECATED_VISIONOS = 100000
  703. const m___API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION = 100000
  704. const m___API_TO_BE_DEPRECATED_WATCHOS = 100000
  705. const m___API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION = 100000
  706. const m___APPLE_CC__ = 6000
  707. const m___APPLE__ = 1
  708. const m___ATOMIC_ACQUIRE = 2
  709. const m___ATOMIC_ACQ_REL = 4
  710. const m___ATOMIC_CONSUME = 1
  711. const m___ATOMIC_RELAXED = 0
  712. const m___ATOMIC_RELEASE = 3
  713. const m___ATOMIC_SEQ_CST = 5
  714. const m___AVAILABILITY_FILE = "AvailabilityVersions.h"
  715. const m___AVAILABILITY_VERSIONS_VERSION_HASH = 93585900
  716. const m___AVAILABILITY_VERSIONS_VERSION_STRING = "Local"
  717. const m___BIGGEST_ALIGNMENT__ = 16
  718. const m___BITINT_MAXWIDTH__ = 8388608
  719. const m___BLOCKS__ = 1
  720. const m___BOOL_WIDTH__ = 8
  721. const m___BRIDGEOS_2_0 = 20000
  722. const m___BRIDGEOS_3_0 = 30000
  723. const m___BRIDGEOS_3_1 = 30100
  724. const m___BRIDGEOS_3_4 = 30400
  725. const m___BRIDGEOS_4_0 = 40000
  726. const m___BRIDGEOS_4_1 = 40100
  727. const m___BRIDGEOS_5_0 = 50000
  728. const m___BRIDGEOS_5_1 = 50100
  729. const m___BRIDGEOS_5_3 = 50300
  730. const m___BRIDGEOS_6_0 = 60000
  731. const m___BRIDGEOS_6_2 = 60200
  732. const m___BRIDGEOS_6_4 = 60400
  733. const m___BRIDGEOS_6_5 = 60500
  734. const m___BRIDGEOS_6_6 = 60600
  735. const m___BRIDGEOS_7_0 = 70000
  736. const m___BRIDGEOS_7_1 = 70100
  737. const m___BRIDGEOS_7_2 = 70200
  738. const m___BRIDGEOS_7_3 = 70300
  739. const m___BRIDGEOS_7_4 = 70400
  740. const m___BRIDGEOS_7_6 = 70600
  741. const m___BRIDGEOS_8_0 = 80000
  742. const m___BRIDGEOS_8_1 = 80100
  743. const m___BRIDGEOS_8_2 = 80200
  744. const m___BRIDGEOS_8_3 = 80300
  745. const m___BRIDGEOS_8_4 = 80400
  746. const m___BRIDGEOS_8_5 = 80500
  747. const m___BRIDGEOS_8_6 = 80600
  748. const m___BRIDGEOS_9_0 = 90000
  749. const m___BRIDGEOS_9_1 = 90100
  750. const m___BRIDGEOS_9_2 = 90200
  751. const m___BRIDGEOS_9_3 = 90300
  752. const m___BRIDGEOS_9_4 = 90400
  753. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  754. const m___CCGO__ = 1
  755. const m___CHAR_BIT__ = 8
  756. const m___CLANG_ATOMIC_BOOL_LOCK_FREE = 2
  757. const m___CLANG_ATOMIC_CHAR16_T_LOCK_FREE = 2
  758. const m___CLANG_ATOMIC_CHAR32_T_LOCK_FREE = 2
  759. const m___CLANG_ATOMIC_CHAR_LOCK_FREE = 2
  760. const m___CLANG_ATOMIC_INT_LOCK_FREE = 2
  761. const m___CLANG_ATOMIC_LLONG_LOCK_FREE = 2
  762. const m___CLANG_ATOMIC_LONG_LOCK_FREE = 2
  763. const m___CLANG_ATOMIC_POINTER_LOCK_FREE = 2
  764. const m___CLANG_ATOMIC_SHORT_LOCK_FREE = 2
  765. const m___CLANG_ATOMIC_WCHAR_T_LOCK_FREE = 2
  766. const m___CONSTANT_CFSTRINGS__ = 1
  767. const m___DARWIN_64_BIT_INO_T = 1
  768. const m___DARWIN_BIG_ENDIAN = 4321
  769. const m___DARWIN_BYTE_ORDER = "__DARWIN_LITTLE_ENDIAN"
  770. const m___DARWIN_C_ANSI = 010000
  771. const m___DARWIN_C_FULL = 900000
  772. const m___DARWIN_C_LEVEL = "__DARWIN_C_FULL"
  773. const m___DARWIN_FD_SETSIZE = 1024
  774. const m___DARWIN_LITTLE_ENDIAN = 1234
  775. const m___DARWIN_NBBY = 8
  776. const m___DARWIN_NON_CANCELABLE = 0
  777. const m___DARWIN_NO_LONG_LONG = 0
  778. const m___DARWIN_NSIG = 32
  779. const m___DARWIN_ONLY_64_BIT_INO_T = 0
  780. const m___DARWIN_ONLY_UNIX_CONFORMANCE = 1
  781. const m___DARWIN_ONLY_VERS_1050 = 0
  782. const m___DARWIN_PDP_ENDIAN = 3412
  783. const m___DARWIN_SUF_1050 = "$1050"
  784. const m___DARWIN_SUF_64_BIT_INO_T = "$INODE64"
  785. const m___DARWIN_SUF_EXTSN = "$DARWIN_EXTSN"
  786. const m___DARWIN_UNIX03 = 1
  787. const m___DARWIN_VERS_1050 = 1
  788. const m___DARWIN_WCHAR_MAX = "__WCHAR_MAX__"
  789. const m___DBL_DECIMAL_DIG__ = 17
  790. const m___DBL_DENORM_MIN__ = 4.9406564584124654e-324
  791. const m___DBL_DIG__ = 15
  792. const m___DBL_EPSILON__ = 2.2204460492503131e-16
  793. const m___DBL_HAS_DENORM__ = 1
  794. const m___DBL_HAS_INFINITY__ = 1
  795. const m___DBL_HAS_QUIET_NAN__ = 1
  796. const m___DBL_MANT_DIG__ = 53
  797. const m___DBL_MAX_10_EXP__ = 308
  798. const m___DBL_MAX_EXP__ = 1024
  799. const m___DBL_MAX__ = 1.7976931348623157e+308
  800. const m___DBL_MIN__ = 2.2250738585072014e-308
  801. const m___DBL_NORM_MAX__ = 1.7976931348623157e+308
  802. const m___DECIMAL_DIG__ = "__LDBL_DECIMAL_DIG__"
  803. const m___DRIVERKIT_19_0 = 190000
  804. const m___DRIVERKIT_20_0 = 200000
  805. const m___DRIVERKIT_21_0 = 210000
  806. const m___DRIVERKIT_22_0 = 220000
  807. const m___DRIVERKIT_22_4 = 220400
  808. const m___DRIVERKIT_22_5 = 220500
  809. const m___DRIVERKIT_22_6 = 220600
  810. const m___DRIVERKIT_23_0 = 230000
  811. const m___DRIVERKIT_23_1 = 230100
  812. const m___DRIVERKIT_23_2 = 230200
  813. const m___DRIVERKIT_23_3 = 230300
  814. const m___DRIVERKIT_23_4 = 230400
  815. const m___DRIVERKIT_23_5 = 230500
  816. const m___DRIVERKIT_23_6 = 230600
  817. const m___DRIVERKIT_24_0 = 240000
  818. const m___DRIVERKIT_24_1 = 240100
  819. const m___DRIVERKIT_24_2 = 240200
  820. const m___DRIVERKIT_24_3 = 240300
  821. const m___DRIVERKIT_24_4 = 240400
  822. const m___DYNAMIC__ = 1
  823. const m___ENABLE_LEGACY_MAC_AVAILABILITY = 1
  824. const m___ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ = 150000
  825. const m___ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ = 150000
  826. const m___FINITE_MATH_ONLY__ = 0
  827. const m___FLT16_DECIMAL_DIG__ = 5
  828. const m___FLT16_DENORM_MIN__ = 5.9604644775390625e-8
  829. const m___FLT16_DIG__ = 3
  830. const m___FLT16_EPSILON__ = 9.765625e-4
  831. const m___FLT16_HAS_DENORM__ = 1
  832. const m___FLT16_HAS_INFINITY__ = 1
  833. const m___FLT16_HAS_QUIET_NAN__ = 1
  834. const m___FLT16_MANT_DIG__ = 11
  835. const m___FLT16_MAX_10_EXP__ = 4
  836. const m___FLT16_MAX_EXP__ = 16
  837. const m___FLT16_MAX__ = 6.5504e+4
  838. const m___FLT16_MIN__ = 6.103515625e-5
  839. const m___FLT16_NORM_MAX__ = 6.5504e+4
  840. const m___FLT_DECIMAL_DIG__ = 9
  841. const m___FLT_DENORM_MIN__ = 1.40129846e-45
  842. const m___FLT_DIG__ = 6
  843. const m___FLT_EPSILON__ = 1.19209290e-7
  844. const m___FLT_HAS_DENORM__ = 1
  845. const m___FLT_HAS_INFINITY__ = 1
  846. const m___FLT_HAS_QUIET_NAN__ = 1
  847. const m___FLT_MANT_DIG__ = 24
  848. const m___FLT_MAX_10_EXP__ = 38
  849. const m___FLT_MAX_EXP__ = 128
  850. const m___FLT_MAX__ = 3.40282347e+38
  851. const m___FLT_MIN__ = 1.17549435e-38
  852. const m___FLT_NORM_MAX__ = 3.40282347e+38
  853. const m___FLT_RADIX__ = 2
  854. const m___FPCLASS_NEGINF = 0x0004
  855. const m___FPCLASS_NEGNORMAL = 0x0008
  856. const m___FPCLASS_NEGSUBNORMAL = 0x0010
  857. const m___FPCLASS_NEGZERO = 0x0020
  858. const m___FPCLASS_POSINF = 0x0200
  859. const m___FPCLASS_POSNORMAL = 0x0100
  860. const m___FPCLASS_POSSUBNORMAL = 0x0080
  861. const m___FPCLASS_POSZERO = 0x0040
  862. const m___FPCLASS_QNAN = 0x0002
  863. const m___FPCLASS_SNAN = 0x0001
  864. const m___FUNCTION__ = "__func__"
  865. const m___FXSR__ = 1
  866. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  867. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  868. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  869. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  870. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  871. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  872. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  873. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  874. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  875. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  876. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  877. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  878. const m___GCC_CONSTRUCTIVE_SIZE = 64
  879. const m___GCC_DESTRUCTIVE_SIZE = 64
  880. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  881. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  882. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 = 1
  883. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  884. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  885. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  886. const m___GNUC_MINOR__ = 2
  887. const m___GNUC_PATCHLEVEL__ = 1
  888. const m___GNUC_STDC_INLINE__ = 1
  889. const m___GNUC__ = 4
  890. const m___GXX_ABI_VERSION = 1002
  891. const m___INT16_FMTd__ = "hd"
  892. const m___INT16_FMTi__ = "hi"
  893. const m___INT16_MAX__ = 32767
  894. const m___INT16_TYPE__ = "short"
  895. const m___INT32_FMTd__ = "d"
  896. const m___INT32_FMTi__ = "i"
  897. const m___INT32_MAX__ = 2147483647
  898. const m___INT32_TYPE__ = "int"
  899. const m___INT64_C_SUFFIX__ = "LL"
  900. const m___INT64_FMTd__ = "lld"
  901. const m___INT64_FMTi__ = "lli"
  902. const m___INT64_MAX__ = 9223372036854775807
  903. const m___INT8_FMTd__ = "hhd"
  904. const m___INT8_FMTi__ = "hhi"
  905. const m___INT8_MAX__ = 127
  906. const m___INTMAX_C_SUFFIX__ = "L"
  907. const m___INTMAX_FMTd__ = "ld"
  908. const m___INTMAX_FMTi__ = "li"
  909. const m___INTMAX_MAX__ = 9223372036854775807
  910. const m___INTMAX_WIDTH__ = 64
  911. const m___INTPTR_FMTd__ = "ld"
  912. const m___INTPTR_FMTi__ = "li"
  913. const m___INTPTR_MAX__ = 9223372036854775807
  914. const m___INTPTR_WIDTH__ = 64
  915. const m___INT_FAST16_FMTd__ = "hd"
  916. const m___INT_FAST16_FMTi__ = "hi"
  917. const m___INT_FAST16_MAX__ = 32767
  918. const m___INT_FAST16_TYPE__ = "short"
  919. const m___INT_FAST16_WIDTH__ = 16
  920. const m___INT_FAST32_FMTd__ = "d"
  921. const m___INT_FAST32_FMTi__ = "i"
  922. const m___INT_FAST32_MAX__ = 2147483647
  923. const m___INT_FAST32_TYPE__ = "int"
  924. const m___INT_FAST32_WIDTH__ = 32
  925. const m___INT_FAST64_FMTd__ = "lld"
  926. const m___INT_FAST64_FMTi__ = "lli"
  927. const m___INT_FAST64_MAX__ = 9223372036854775807
  928. const m___INT_FAST64_WIDTH__ = 64
  929. const m___INT_FAST8_FMTd__ = "hhd"
  930. const m___INT_FAST8_FMTi__ = "hhi"
  931. const m___INT_FAST8_MAX__ = 127
  932. const m___INT_FAST8_WIDTH__ = 8
  933. const m___INT_LEAST16_FMTd__ = "hd"
  934. const m___INT_LEAST16_FMTi__ = "hi"
  935. const m___INT_LEAST16_MAX__ = 32767
  936. const m___INT_LEAST16_TYPE__ = "short"
  937. const m___INT_LEAST16_WIDTH__ = 16
  938. const m___INT_LEAST32_FMTd__ = "d"
  939. const m___INT_LEAST32_FMTi__ = "i"
  940. const m___INT_LEAST32_MAX__ = 2147483647
  941. const m___INT_LEAST32_TYPE__ = "int"
  942. const m___INT_LEAST32_WIDTH__ = 32
  943. const m___INT_LEAST64_FMTd__ = "lld"
  944. const m___INT_LEAST64_FMTi__ = "lli"
  945. const m___INT_LEAST64_MAX = "INT64_MAX"
  946. const m___INT_LEAST64_MAX__ = 9223372036854775807
  947. const m___INT_LEAST64_MIN = "INT64_MIN"
  948. const m___INT_LEAST64_WIDTH__ = 64
  949. const m___INT_LEAST8_FMTd__ = "hhd"
  950. const m___INT_LEAST8_FMTi__ = "hhi"
  951. const m___INT_LEAST8_MAX__ = 127
  952. const m___INT_LEAST8_WIDTH__ = 8
  953. const m___INT_MAX__ = 2147483647
  954. const m___INT_WIDTH__ = 32
  955. const m___IPHONE_10_0 = 100000
  956. const m___IPHONE_10_1 = 100100
  957. const m___IPHONE_10_2 = 100200
  958. const m___IPHONE_10_3 = 100300
  959. const m___IPHONE_11_0 = 110000
  960. const m___IPHONE_11_1 = 110100
  961. const m___IPHONE_11_2 = 110200
  962. const m___IPHONE_11_3 = 110300
  963. const m___IPHONE_11_4 = 110400
  964. const m___IPHONE_12_0 = 120000
  965. const m___IPHONE_12_1 = 120100
  966. const m___IPHONE_12_2 = 120200
  967. const m___IPHONE_12_3 = 120300
  968. const m___IPHONE_12_4 = 120400
  969. const m___IPHONE_13_0 = 130000
  970. const m___IPHONE_13_1 = 130100
  971. const m___IPHONE_13_2 = 130200
  972. const m___IPHONE_13_3 = 130300
  973. const m___IPHONE_13_4 = 130400
  974. const m___IPHONE_13_5 = 130500
  975. const m___IPHONE_13_6 = 130600
  976. const m___IPHONE_13_7 = 130700
  977. const m___IPHONE_14_0 = 140000
  978. const m___IPHONE_14_1 = 140100
  979. const m___IPHONE_14_2 = 140200
  980. const m___IPHONE_14_3 = 140300
  981. const m___IPHONE_14_4 = 140400
  982. const m___IPHONE_14_5 = 140500
  983. const m___IPHONE_14_6 = 140600
  984. const m___IPHONE_14_7 = 140700
  985. const m___IPHONE_14_8 = 140800
  986. const m___IPHONE_15_0 = 150000
  987. const m___IPHONE_15_1 = 150100
  988. const m___IPHONE_15_2 = 150200
  989. const m___IPHONE_15_3 = 150300
  990. const m___IPHONE_15_4 = 150400
  991. const m___IPHONE_15_5 = 150500
  992. const m___IPHONE_15_6 = 150600
  993. const m___IPHONE_15_7 = 150700
  994. const m___IPHONE_15_8 = 150800
  995. const m___IPHONE_16_0 = 160000
  996. const m___IPHONE_16_1 = 160100
  997. const m___IPHONE_16_2 = 160200
  998. const m___IPHONE_16_3 = 160300
  999. const m___IPHONE_16_4 = 160400
  1000. const m___IPHONE_16_5 = 160500
  1001. const m___IPHONE_16_6 = 160600
  1002. const m___IPHONE_16_7 = 160700
  1003. const m___IPHONE_17_0 = 170000
  1004. const m___IPHONE_17_1 = 170100
  1005. const m___IPHONE_17_2 = 170200
  1006. const m___IPHONE_17_3 = 170300
  1007. const m___IPHONE_17_4 = 170400
  1008. const m___IPHONE_17_5 = 170500
  1009. const m___IPHONE_17_6 = 170600
  1010. const m___IPHONE_17_7 = 170700
  1011. const m___IPHONE_18_0 = 180000
  1012. const m___IPHONE_18_1 = 180100
  1013. const m___IPHONE_18_2 = 180200
  1014. const m___IPHONE_18_3 = 180300
  1015. const m___IPHONE_18_4 = 180400
  1016. const m___IPHONE_2_0 = 20000
  1017. const m___IPHONE_2_1 = 20100
  1018. const m___IPHONE_2_2 = 20200
  1019. const m___IPHONE_3_0 = 30000
  1020. const m___IPHONE_3_1 = 30100
  1021. const m___IPHONE_3_2 = 30200
  1022. const m___IPHONE_4_0 = 40000
  1023. const m___IPHONE_4_1 = 40100
  1024. const m___IPHONE_4_2 = 40200
  1025. const m___IPHONE_4_3 = 40300
  1026. const m___IPHONE_5_0 = 50000
  1027. const m___IPHONE_5_1 = 50100
  1028. const m___IPHONE_6_0 = 60000
  1029. const m___IPHONE_6_1 = 60100
  1030. const m___IPHONE_7_0 = 70000
  1031. const m___IPHONE_7_1 = 70100
  1032. const m___IPHONE_8_0 = 80000
  1033. const m___IPHONE_8_1 = 80100
  1034. const m___IPHONE_8_2 = 80200
  1035. const m___IPHONE_8_3 = 80300
  1036. const m___IPHONE_8_4 = 80400
  1037. const m___IPHONE_9_0 = 90000
  1038. const m___IPHONE_9_1 = 90100
  1039. const m___IPHONE_9_2 = 90200
  1040. const m___IPHONE_9_3 = 90300
  1041. const m___LAHF_SAHF__ = 1
  1042. const m___LASTBRANCH_MAX = 32
  1043. const m___LDBL_DECIMAL_DIG__ = 17
  1044. const m___LDBL_DENORM_MIN__ = 4.9406564584124654e-324
  1045. const m___LDBL_DIG__ = 15
  1046. const m___LDBL_EPSILON__ = 2.2204460492503131e-16
  1047. const m___LDBL_HAS_DENORM__ = 1
  1048. const m___LDBL_HAS_INFINITY__ = 1
  1049. const m___LDBL_HAS_QUIET_NAN__ = 1
  1050. const m___LDBL_MANT_DIG__ = 53
  1051. const m___LDBL_MAX_10_EXP__ = 308
  1052. const m___LDBL_MAX_EXP__ = 1024
  1053. const m___LDBL_MAX__ = 1.7976931348623157e+308
  1054. const m___LDBL_MIN__ = 2.2250738585072014e-308
  1055. const m___LDBL_NORM_MAX__ = 1.7976931348623157e+308
  1056. const m___LITTLE_ENDIAN__ = 1
  1057. const m___LLONG_WIDTH__ = 64
  1058. const m___LONG_LONG_MAX__ = 9223372036854775807
  1059. const m___LONG_MAX__ = 9223372036854775807
  1060. const m___LONG_WIDTH__ = 64
  1061. const m___LP64_OFF64 = 1
  1062. const m___LP64__ = 1
  1063. const m___LPBIG_OFFBIG = 1
  1064. const m___MACH__ = 1
  1065. const m___MAC_10_0 = 1000
  1066. const m___MAC_10_1 = 1010
  1067. const m___MAC_10_10 = 101000
  1068. const m___MAC_10_10_2 = 101002
  1069. const m___MAC_10_10_3 = 101003
  1070. const m___MAC_10_11 = 101100
  1071. const m___MAC_10_11_2 = 101102
  1072. const m___MAC_10_11_3 = 101103
  1073. const m___MAC_10_11_4 = 101104
  1074. const m___MAC_10_12 = 101200
  1075. const m___MAC_10_12_1 = 101201
  1076. const m___MAC_10_12_2 = 101202
  1077. const m___MAC_10_12_4 = 101204
  1078. const m___MAC_10_13 = 101300
  1079. const m___MAC_10_13_1 = 101301
  1080. const m___MAC_10_13_2 = 101302
  1081. const m___MAC_10_13_4 = 101304
  1082. const m___MAC_10_14 = 101400
  1083. const m___MAC_10_14_1 = 101401
  1084. const m___MAC_10_14_4 = 101404
  1085. const m___MAC_10_14_5 = 101405
  1086. const m___MAC_10_14_6 = 101406
  1087. const m___MAC_10_15 = 101500
  1088. const m___MAC_10_15_1 = 101501
  1089. const m___MAC_10_15_4 = 101504
  1090. const m___MAC_10_16 = 101600
  1091. const m___MAC_10_2 = 1020
  1092. const m___MAC_10_3 = 1030
  1093. const m___MAC_10_4 = 1040
  1094. const m___MAC_10_5 = 1050
  1095. const m___MAC_10_6 = 1060
  1096. const m___MAC_10_7 = 1070
  1097. const m___MAC_10_8 = 1080
  1098. const m___MAC_10_9 = 1090
  1099. const m___MAC_11_0 = 110000
  1100. const m___MAC_11_1 = 110100
  1101. const m___MAC_11_3 = 110300
  1102. const m___MAC_11_4 = 110400
  1103. const m___MAC_11_5 = 110500
  1104. const m___MAC_11_6 = 110600
  1105. const m___MAC_12_0 = 120000
  1106. const m___MAC_12_1 = 120100
  1107. const m___MAC_12_2 = 120200
  1108. const m___MAC_12_3 = 120300
  1109. const m___MAC_12_4 = 120400
  1110. const m___MAC_12_5 = 120500
  1111. const m___MAC_12_6 = 120600
  1112. const m___MAC_12_7 = 120700
  1113. const m___MAC_13_0 = 130000
  1114. const m___MAC_13_1 = 130100
  1115. const m___MAC_13_2 = 130200
  1116. const m___MAC_13_3 = 130300
  1117. const m___MAC_13_4 = 130400
  1118. const m___MAC_13_5 = 130500
  1119. const m___MAC_13_6 = 130600
  1120. const m___MAC_13_7 = 130700
  1121. const m___MAC_14_0 = 140000
  1122. const m___MAC_14_1 = 140100
  1123. const m___MAC_14_2 = 140200
  1124. const m___MAC_14_3 = 140300
  1125. const m___MAC_14_4 = 140400
  1126. const m___MAC_14_5 = 140500
  1127. const m___MAC_14_6 = 140600
  1128. const m___MAC_14_7 = 140700
  1129. const m___MAC_15_0 = 150000
  1130. const m___MAC_15_1 = 150100
  1131. const m___MAC_15_2 = 150200
  1132. const m___MAC_15_3 = 150300
  1133. const m___MAC_15_4 = 150400
  1134. const m___MAC_OS_X_VERSION_MAX_ALLOWED = "__MAC_15_4"
  1135. const m___MAC_OS_X_VERSION_MIN_REQUIRED = "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__"
  1136. const m___MEMORY_SCOPE_DEVICE = 1
  1137. const m___MEMORY_SCOPE_SINGLE = 4
  1138. const m___MEMORY_SCOPE_SYSTEM = 0
  1139. const m___MEMORY_SCOPE_WRKGRP = 2
  1140. const m___MEMORY_SCOPE_WVFRNT = 3
  1141. const m___MMX__ = 1
  1142. const m___NO_INLINE__ = 1
  1143. const m___NO_MATH_ERRNO__ = 1
  1144. const m___NO_MATH_INLINES = 1
  1145. const m___OBJC_BOOL_IS_BOOL = 0
  1146. const m___OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES = 3
  1147. const m___OPENCL_MEMORY_SCOPE_DEVICE = 2
  1148. const m___OPENCL_MEMORY_SCOPE_SUB_GROUP = 4
  1149. const m___OPENCL_MEMORY_SCOPE_WORK_GROUP = 1
  1150. const m___OPENCL_MEMORY_SCOPE_WORK_ITEM = 0
  1151. const m___ORDER_BIG_ENDIAN__ = 4321
  1152. const m___ORDER_LITTLE_ENDIAN__ = 1234
  1153. const m___ORDER_PDP_ENDIAN__ = 3412
  1154. const m___PIC__ = 2
  1155. const m___POINTER_WIDTH__ = 64
  1156. const m___PRAGMA_REDEFINE_EXTNAME = 1
  1157. const m___PRETTY_FUNCTION__ = "__func__"
  1158. const m___PTHREAD_ATTR_SIZE__ = 56
  1159. const m___PTHREAD_CONDATTR_SIZE__ = 8
  1160. const m___PTHREAD_COND_SIZE__ = 40
  1161. const m___PTHREAD_MUTEXATTR_SIZE__ = 8
  1162. const m___PTHREAD_MUTEX_SIZE__ = 56
  1163. const m___PTHREAD_ONCE_SIZE__ = 8
  1164. const m___PTHREAD_RWLOCKATTR_SIZE__ = 16
  1165. const m___PTHREAD_RWLOCK_SIZE__ = 192
  1166. const m___PTHREAD_SIZE__ = 8176
  1167. const m___PTRDIFF_FMTd__ = "ld"
  1168. const m___PTRDIFF_FMTi__ = "li"
  1169. const m___PTRDIFF_MAX__ = 9223372036854775807
  1170. const m___PTRDIFF_WIDTH__ = 64
  1171. const m___SCHAR_MAX__ = 127
  1172. const m___SEG_FS = 1
  1173. const m___SEG_GS = 1
  1174. const m___SHRT_MAX__ = 32767
  1175. const m___SHRT_WIDTH__ = 16
  1176. const m___SIG_ATOMIC_MAX__ = 2147483647
  1177. const m___SIG_ATOMIC_WIDTH__ = 32
  1178. const m___SIZEOF_DOUBLE__ = 8
  1179. const m___SIZEOF_FLOAT__ = 4
  1180. const m___SIZEOF_INT128__ = 16
  1181. const m___SIZEOF_INT__ = 4
  1182. const m___SIZEOF_LONG_DOUBLE__ = 8
  1183. const m___SIZEOF_LONG_LONG__ = 8
  1184. const m___SIZEOF_LONG__ = 8
  1185. const m___SIZEOF_POINTER__ = 8
  1186. const m___SIZEOF_PTRDIFF_T__ = 8
  1187. const m___SIZEOF_SHORT__ = 2
  1188. const m___SIZEOF_SIZE_T__ = 8
  1189. const m___SIZEOF_WCHAR_T__ = 4
  1190. const m___SIZEOF_WINT_T__ = 4
  1191. const m___SIZE_FMTX__ = "lX"
  1192. const m___SIZE_FMTo__ = "lo"
  1193. const m___SIZE_FMTu__ = "lu"
  1194. const m___SIZE_FMTx__ = "lx"
  1195. const m___SIZE_MAX__ = 18446744073709551615
  1196. const m___SIZE_WIDTH__ = 64
  1197. const m___SSE2_MATH__ = 1
  1198. const m___SSE2__ = 1
  1199. const m___SSE3__ = 1
  1200. const m___SSE4_1__ = 1
  1201. const m___SSE_MATH__ = 1
  1202. const m___SSE__ = 1
  1203. const m___SSP__ = 1
  1204. const m___SSSE3__ = 1
  1205. const m___STDC_EMBED_EMPTY__ = 2
  1206. const m___STDC_EMBED_FOUND__ = 1
  1207. const m___STDC_EMBED_NOT_FOUND__ = 0
  1208. const m___STDC_HOSTED__ = 1
  1209. const m___STDC_NO_THREADS__ = 1
  1210. const m___STDC_UTF_16__ = 1
  1211. const m___STDC_UTF_32__ = 1
  1212. const m___STDC_VERSION__ = 201710
  1213. const m___STDC_WANT_LIB_EXT1__ = 1
  1214. const m___STDC__ = 1
  1215. const m___TVOS_10_0 = 100000
  1216. const m___TVOS_10_0_1 = 100001
  1217. const m___TVOS_10_1 = 100100
  1218. const m___TVOS_10_2 = 100200
  1219. const m___TVOS_11_0 = 110000
  1220. const m___TVOS_11_1 = 110100
  1221. const m___TVOS_11_2 = 110200
  1222. const m___TVOS_11_3 = 110300
  1223. const m___TVOS_11_4 = 110400
  1224. const m___TVOS_12_0 = 120000
  1225. const m___TVOS_12_1 = 120100
  1226. const m___TVOS_12_2 = 120200
  1227. const m___TVOS_12_3 = 120300
  1228. const m___TVOS_12_4 = 120400
  1229. const m___TVOS_13_0 = 130000
  1230. const m___TVOS_13_2 = 130200
  1231. const m___TVOS_13_3 = 130300
  1232. const m___TVOS_13_4 = 130400
  1233. const m___TVOS_14_0 = 140000
  1234. const m___TVOS_14_1 = 140100
  1235. const m___TVOS_14_2 = 140200
  1236. const m___TVOS_14_3 = 140300
  1237. const m___TVOS_14_5 = 140500
  1238. const m___TVOS_14_6 = 140600
  1239. const m___TVOS_14_7 = 140700
  1240. const m___TVOS_15_0 = 150000
  1241. const m___TVOS_15_1 = 150100
  1242. const m___TVOS_15_2 = 150200
  1243. const m___TVOS_15_3 = 150300
  1244. const m___TVOS_15_4 = 150400
  1245. const m___TVOS_15_5 = 150500
  1246. const m___TVOS_15_6 = 150600
  1247. const m___TVOS_16_0 = 160000
  1248. const m___TVOS_16_1 = 160100
  1249. const m___TVOS_16_2 = 160200
  1250. const m___TVOS_16_3 = 160300
  1251. const m___TVOS_16_4 = 160400
  1252. const m___TVOS_16_5 = 160500
  1253. const m___TVOS_16_6 = 160600
  1254. const m___TVOS_17_0 = 170000
  1255. const m___TVOS_17_1 = 170100
  1256. const m___TVOS_17_2 = 170200
  1257. const m___TVOS_17_3 = 170300
  1258. const m___TVOS_17_4 = 170400
  1259. const m___TVOS_17_5 = 170500
  1260. const m___TVOS_17_6 = 170600
  1261. const m___TVOS_18_0 = 180000
  1262. const m___TVOS_18_1 = 180100
  1263. const m___TVOS_18_2 = 180200
  1264. const m___TVOS_18_3 = 180300
  1265. const m___TVOS_18_4 = 180400
  1266. const m___TVOS_9_0 = 90000
  1267. const m___TVOS_9_1 = 90100
  1268. const m___TVOS_9_2 = 90200
  1269. const m___UINT16_FMTX__ = "hX"
  1270. const m___UINT16_FMTo__ = "ho"
  1271. const m___UINT16_FMTu__ = "hu"
  1272. const m___UINT16_FMTx__ = "hx"
  1273. const m___UINT16_MAX__ = 65535
  1274. const m___UINT32_C_SUFFIX__ = "U"
  1275. const m___UINT32_FMTX__ = "X"
  1276. const m___UINT32_FMTo__ = "o"
  1277. const m___UINT32_FMTu__ = "u"
  1278. const m___UINT32_FMTx__ = "x"
  1279. const m___UINT32_MAX__ = 4294967295
  1280. const m___UINT64_C_SUFFIX__ = "ULL"
  1281. const m___UINT64_FMTX__ = "llX"
  1282. const m___UINT64_FMTo__ = "llo"
  1283. const m___UINT64_FMTu__ = "llu"
  1284. const m___UINT64_FMTx__ = "llx"
  1285. const m___UINT64_MAX__ = "18446744073709551615U"
  1286. const m___UINT8_FMTX__ = "hhX"
  1287. const m___UINT8_FMTo__ = "hho"
  1288. const m___UINT8_FMTu__ = "hhu"
  1289. const m___UINT8_FMTx__ = "hhx"
  1290. const m___UINT8_MAX__ = 255
  1291. const m___UINTMAX_C_SUFFIX__ = "UL"
  1292. const m___UINTMAX_FMTX__ = "lX"
  1293. const m___UINTMAX_FMTo__ = "lo"
  1294. const m___UINTMAX_FMTu__ = "lu"
  1295. const m___UINTMAX_FMTx__ = "lx"
  1296. const m___UINTMAX_MAX__ = 18446744073709551615
  1297. const m___UINTMAX_WIDTH__ = 64
  1298. const m___UINTPTR_FMTX__ = "lX"
  1299. const m___UINTPTR_FMTo__ = "lo"
  1300. const m___UINTPTR_FMTu__ = "lu"
  1301. const m___UINTPTR_FMTx__ = "lx"
  1302. const m___UINTPTR_MAX__ = 18446744073709551615
  1303. const m___UINTPTR_WIDTH__ = 64
  1304. const m___UINT_FAST16_FMTX__ = "hX"
  1305. const m___UINT_FAST16_FMTo__ = "ho"
  1306. const m___UINT_FAST16_FMTu__ = "hu"
  1307. const m___UINT_FAST16_FMTx__ = "hx"
  1308. const m___UINT_FAST16_MAX__ = 65535
  1309. const m___UINT_FAST32_FMTX__ = "X"
  1310. const m___UINT_FAST32_FMTo__ = "o"
  1311. const m___UINT_FAST32_FMTu__ = "u"
  1312. const m___UINT_FAST32_FMTx__ = "x"
  1313. const m___UINT_FAST32_MAX__ = 4294967295
  1314. const m___UINT_FAST64_FMTX__ = "llX"
  1315. const m___UINT_FAST64_FMTo__ = "llo"
  1316. const m___UINT_FAST64_FMTu__ = "llu"
  1317. const m___UINT_FAST64_FMTx__ = "llx"
  1318. const m___UINT_FAST64_MAX__ = "18446744073709551615U"
  1319. const m___UINT_FAST8_FMTX__ = "hhX"
  1320. const m___UINT_FAST8_FMTo__ = "hho"
  1321. const m___UINT_FAST8_FMTu__ = "hhu"
  1322. const m___UINT_FAST8_FMTx__ = "hhx"
  1323. const m___UINT_FAST8_MAX__ = 255
  1324. const m___UINT_LEAST16_FMTX__ = "hX"
  1325. const m___UINT_LEAST16_FMTo__ = "ho"
  1326. const m___UINT_LEAST16_FMTu__ = "hu"
  1327. const m___UINT_LEAST16_FMTx__ = "hx"
  1328. const m___UINT_LEAST16_MAX__ = 65535
  1329. const m___UINT_LEAST32_FMTX__ = "X"
  1330. const m___UINT_LEAST32_FMTo__ = "o"
  1331. const m___UINT_LEAST32_FMTu__ = "u"
  1332. const m___UINT_LEAST32_FMTx__ = "x"
  1333. const m___UINT_LEAST32_MAX__ = 4294967295
  1334. const m___UINT_LEAST64_FMTX__ = "llX"
  1335. const m___UINT_LEAST64_FMTo__ = "llo"
  1336. const m___UINT_LEAST64_FMTu__ = "llu"
  1337. const m___UINT_LEAST64_FMTx__ = "llx"
  1338. const m___UINT_LEAST64_MAX = "UINT64_MAX"
  1339. const m___UINT_LEAST64_MAX__ = "18446744073709551615U"
  1340. const m___UINT_LEAST8_FMTX__ = "hhX"
  1341. const m___UINT_LEAST8_FMTo__ = "hho"
  1342. const m___UINT_LEAST8_FMTu__ = "hhu"
  1343. const m___UINT_LEAST8_FMTx__ = "hhx"
  1344. const m___UINT_LEAST8_MAX__ = 255
  1345. const m___USER_LABEL_PREFIX__ = "_"
  1346. const m___VERSION__ = "Apple LLVM 17.0.0 (clang-1700.0.13.3)"
  1347. const m___VISIONOS_1_0 = 10000
  1348. const m___VISIONOS_1_1 = 10100
  1349. const m___VISIONOS_1_2 = 10200
  1350. const m___VISIONOS_1_3 = 10300
  1351. const m___VISIONOS_2_0 = 20000
  1352. const m___VISIONOS_2_1 = 20100
  1353. const m___VISIONOS_2_2 = 20200
  1354. const m___VISIONOS_2_3 = 20300
  1355. const m___VISIONOS_2_4 = 20400
  1356. const m___WATCHOS_10_0 = 100000
  1357. const m___WATCHOS_10_1 = 100100
  1358. const m___WATCHOS_10_2 = 100200
  1359. const m___WATCHOS_10_3 = 100300
  1360. const m___WATCHOS_10_4 = 100400
  1361. const m___WATCHOS_10_5 = 100500
  1362. const m___WATCHOS_10_6 = 100600
  1363. const m___WATCHOS_10_7 = 100700
  1364. const m___WATCHOS_11_0 = 110000
  1365. const m___WATCHOS_11_1 = 110100
  1366. const m___WATCHOS_11_2 = 110200
  1367. const m___WATCHOS_11_3 = 110300
  1368. const m___WATCHOS_11_4 = 110400
  1369. const m___WATCHOS_1_0 = 10000
  1370. const m___WATCHOS_2_0 = 20000
  1371. const m___WATCHOS_2_1 = 20100
  1372. const m___WATCHOS_2_2 = 20200
  1373. const m___WATCHOS_3_0 = 30000
  1374. const m___WATCHOS_3_1 = 30100
  1375. const m___WATCHOS_3_1_1 = 30101
  1376. const m___WATCHOS_3_2 = 30200
  1377. const m___WATCHOS_4_0 = 40000
  1378. const m___WATCHOS_4_1 = 40100
  1379. const m___WATCHOS_4_2 = 40200
  1380. const m___WATCHOS_4_3 = 40300
  1381. const m___WATCHOS_5_0 = 50000
  1382. const m___WATCHOS_5_1 = 50100
  1383. const m___WATCHOS_5_2 = 50200
  1384. const m___WATCHOS_5_3 = 50300
  1385. const m___WATCHOS_6_0 = 60000
  1386. const m___WATCHOS_6_1 = 60100
  1387. const m___WATCHOS_6_2 = 60200
  1388. const m___WATCHOS_7_0 = 70000
  1389. const m___WATCHOS_7_1 = 70100
  1390. const m___WATCHOS_7_2 = 70200
  1391. const m___WATCHOS_7_3 = 70300
  1392. const m___WATCHOS_7_4 = 70400
  1393. const m___WATCHOS_7_5 = 70500
  1394. const m___WATCHOS_7_6 = 70600
  1395. const m___WATCHOS_8_0 = 80000
  1396. const m___WATCHOS_8_1 = 80100
  1397. const m___WATCHOS_8_3 = 80300
  1398. const m___WATCHOS_8_4 = 80400
  1399. const m___WATCHOS_8_5 = 80500
  1400. const m___WATCHOS_8_6 = 80600
  1401. const m___WATCHOS_8_7 = 80700
  1402. const m___WATCHOS_8_8 = 80800
  1403. const m___WATCHOS_9_0 = 90000
  1404. const m___WATCHOS_9_1 = 90100
  1405. const m___WATCHOS_9_2 = 90200
  1406. const m___WATCHOS_9_3 = 90300
  1407. const m___WATCHOS_9_4 = 90400
  1408. const m___WATCHOS_9_5 = 90500
  1409. const m___WATCHOS_9_6 = 90600
  1410. const m___WCHAR_MAX__ = 2147483647
  1411. const m___WCHAR_TYPE__ = "int"
  1412. const m___WCHAR_WIDTH__ = 32
  1413. const m___WINT_MAX__ = 2147483647
  1414. const m___WINT_TYPE__ = "int"
  1415. const m___WINT_WIDTH__ = 32
  1416. const m___amd64 = 1
  1417. const m___amd64__ = 1
  1418. const m___apple_build_version__ = 17000013
  1419. const m___clang__ = 1
  1420. const m___clang_literal_encoding__ = "UTF-8"
  1421. const m___clang_major__ = 17
  1422. const m___clang_minor__ = 0
  1423. const m___clang_patchlevel__ = 0
  1424. const m___clang_version__ = "17.0.0 (clang-1700.0.13.3)"
  1425. const m___clang_wide_literal_encoding__ = "UTF-32"
  1426. const m___code_model_small__ = 1
  1427. const m___const = "const"
  1428. const m___core2 = 1
  1429. const m___core2__ = 1
  1430. const m___has_bounds_safety_attributes = 0
  1431. const m___has_ptrcheck = 0
  1432. const m___has_safe_buffers = 0
  1433. const m___header_inline = "inline"
  1434. const m___llvm__ = 1
  1435. const m___nonnull = "_Nonnull"
  1436. const m___null_unspecified = "_Null_unspecified"
  1437. const m___nullable = "_Nullable"
  1438. const m___pic__ = 2
  1439. const m___restrict = "restrict"
  1440. const m___restrict_arr = "restrict"
  1441. const m___signed = "signed"
  1442. const m___tune_core2__ = 1
  1443. const m___volatile = "volatile"
  1444. const m___x86_64 = 1
  1445. const m___x86_64__ = 1
  1446. const m_local = "static"
  1447. const m_ru_first = "ru_ixrss"
  1448. const m_ru_last = "ru_nivcsw"
  1449. const m_sv_onstack = "sv_flags"
  1450. const m_z_off64_t = "z_off_t"
  1451. const m_z_off_t = "off_t"
  1452. const m_zmemcmp = "memcmp"
  1453. const m_zmemcpy = "memcpy"
  1454. type t__builtin_va_list = uintptr
  1455. type t__predefined_size_t = uint64
  1456. type t__predefined_wchar_t = int32
  1457. type t__predefined_ptrdiff_t = int64
  1458. type Tptrdiff_t = int64
  1459. type Tsize_t = uint64
  1460. type Twchar_t = int32
  1461. type Tmax_align_t = float64
  1462. type Tz_size_t = uint64
  1463. type TByte = uint8
  1464. type TuInt = uint32
  1465. type TuLong = uint64
  1466. type TBytef = uint8
  1467. type Tcharf = int8
  1468. type Tintf = int32
  1469. type TuIntf = uint32
  1470. type TuLongf = uint64
  1471. type Tvoidpc = uintptr
  1472. type Tvoidpf = uintptr
  1473. type Tvoidp = uintptr
  1474. type Tz_crc_t = uint32
  1475. type t__int8_t = int8
  1476. type t__uint8_t = uint8
  1477. type t__int16_t = int16
  1478. type t__uint16_t = uint16
  1479. type t__int32_t = int32
  1480. type t__uint32_t = uint32
  1481. type t__int64_t = int64
  1482. type t__uint64_t = uint64
  1483. type t__darwin_intptr_t = int64
  1484. type t__darwin_natural_t = uint32
  1485. type t__darwin_ct_rune_t = int32
  1486. type t__mbstate_t = struct {
  1487. F_mbstateL [0]int64
  1488. F__mbstate8 [128]int8
  1489. }
  1490. type t__darwin_mbstate_t = struct {
  1491. F_mbstateL [0]int64
  1492. F__mbstate8 [128]int8
  1493. }
  1494. type t__darwin_ptrdiff_t = int64
  1495. type t__darwin_size_t = uint64
  1496. type t__darwin_va_list = uintptr
  1497. type t__darwin_wchar_t = int32
  1498. type t__darwin_rune_t = int32
  1499. type t__darwin_wint_t = int32
  1500. type t__darwin_clock_t = uint64
  1501. type t__darwin_socklen_t = uint32
  1502. type t__darwin_ssize_t = int64
  1503. type t__darwin_time_t = int64
  1504. type Tint8_t = int8
  1505. type Tint16_t = int16
  1506. type Tint32_t = int32
  1507. type Tint64_t = int64
  1508. type Tu_int8_t = uint8
  1509. type Tu_int16_t = uint16
  1510. type Tu_int32_t = uint32
  1511. type Tu_int64_t = uint64
  1512. type Tregister_t = int64
  1513. type Tintptr_t = int64
  1514. type Tuintptr_t = uint64
  1515. type Tuser_addr_t = uint64
  1516. type Tuser_size_t = uint64
  1517. type Tuser_ssize_t = int64
  1518. type Tuser_long_t = int64
  1519. type Tuser_ulong_t = uint64
  1520. type Tuser_time_t = int64
  1521. type Tuser_off_t = int64
  1522. type Tsyscall_arg_t = uint64
  1523. type t__darwin_blkcnt_t = int64
  1524. type t__darwin_blksize_t = int32
  1525. type t__darwin_dev_t = int32
  1526. type t__darwin_fsblkcnt_t = uint32
  1527. type t__darwin_fsfilcnt_t = uint32
  1528. type t__darwin_gid_t = uint32
  1529. type t__darwin_id_t = uint32
  1530. type t__darwin_ino64_t = uint64
  1531. type t__darwin_ino_t = uint64
  1532. type t__darwin_mach_port_name_t = uint32
  1533. type t__darwin_mach_port_t = uint32
  1534. type t__darwin_mode_t = uint16
  1535. type t__darwin_off_t = int64
  1536. type t__darwin_pid_t = int32
  1537. type t__darwin_sigset_t = uint32
  1538. type t__darwin_suseconds_t = int32
  1539. type t__darwin_uid_t = uint32
  1540. type t__darwin_useconds_t = uint32
  1541. type t__darwin_uuid_t = [16]uint8
  1542. type t__darwin_uuid_string_t = [37]int8
  1543. type t__darwin_pthread_handler_rec = struct {
  1544. F__routine uintptr
  1545. F__arg uintptr
  1546. F__next uintptr
  1547. }
  1548. type T_opaque_pthread_attr_t = struct {
  1549. F__sig int64
  1550. F__opaque [56]int8
  1551. }
  1552. type T_opaque_pthread_cond_t = struct {
  1553. F__sig int64
  1554. F__opaque [40]int8
  1555. }
  1556. type T_opaque_pthread_condattr_t = struct {
  1557. F__sig int64
  1558. F__opaque [8]int8
  1559. }
  1560. type T_opaque_pthread_mutex_t = struct {
  1561. F__sig int64
  1562. F__opaque [56]int8
  1563. }
  1564. type T_opaque_pthread_mutexattr_t = struct {
  1565. F__sig int64
  1566. F__opaque [8]int8
  1567. }
  1568. type T_opaque_pthread_once_t = struct {
  1569. F__sig int64
  1570. F__opaque [8]int8
  1571. }
  1572. type T_opaque_pthread_rwlock_t = struct {
  1573. F__sig int64
  1574. F__opaque [192]int8
  1575. }
  1576. type T_opaque_pthread_rwlockattr_t = struct {
  1577. F__sig int64
  1578. F__opaque [16]int8
  1579. }
  1580. type T_opaque_pthread_t = struct {
  1581. F__sig int64
  1582. F__cleanup_stack uintptr
  1583. F__opaque [8176]int8
  1584. }
  1585. type t__darwin_pthread_attr_t = struct {
  1586. F__sig int64
  1587. F__opaque [56]int8
  1588. }
  1589. type t__darwin_pthread_cond_t = struct {
  1590. F__sig int64
  1591. F__opaque [40]int8
  1592. }
  1593. type t__darwin_pthread_condattr_t = struct {
  1594. F__sig int64
  1595. F__opaque [8]int8
  1596. }
  1597. type t__darwin_pthread_key_t = uint64
  1598. type t__darwin_pthread_mutex_t = struct {
  1599. F__sig int64
  1600. F__opaque [56]int8
  1601. }
  1602. type t__darwin_pthread_mutexattr_t = struct {
  1603. F__sig int64
  1604. F__opaque [8]int8
  1605. }
  1606. type t__darwin_pthread_once_t = struct {
  1607. F__sig int64
  1608. F__opaque [8]int8
  1609. }
  1610. type t__darwin_pthread_rwlock_t = struct {
  1611. F__sig int64
  1612. F__opaque [192]int8
  1613. }
  1614. type t__darwin_pthread_rwlockattr_t = struct {
  1615. F__sig int64
  1616. F__opaque [16]int8
  1617. }
  1618. type t__darwin_pthread_t = uintptr
  1619. type Tu_char = uint8
  1620. type Tu_short = uint16
  1621. type Tu_int = uint32
  1622. type Tu_long = uint64
  1623. type Tushort = uint16
  1624. type Tuint = uint32
  1625. type Tu_quad_t = uint64
  1626. type Tquad_t = int64
  1627. type Tqaddr_t = uintptr
  1628. type Tcaddr_t = uintptr
  1629. type Tdaddr_t = int32
  1630. type Tdev_t = int32
  1631. type Tfixpt_t = uint32
  1632. type Tblkcnt_t = int64
  1633. type Tblksize_t = int32
  1634. type Tgid_t = uint32
  1635. type Tin_addr_t = uint32
  1636. type Tin_port_t = uint16
  1637. type Tino_t = uint64
  1638. type Tino64_t = uint64
  1639. type Tkey_t = int32
  1640. type Tmode_t = uint16
  1641. type Tnlink_t = uint16
  1642. type Tid_t = uint32
  1643. type Tpid_t = int32
  1644. type Toff_t = int64
  1645. type Tsegsz_t = int32
  1646. type Tswblk_t = int32
  1647. type Tuid_t = uint32
  1648. type Tclock_t = uint64
  1649. type Tssize_t = int64
  1650. type Ttime_t = int64
  1651. type Tuseconds_t = uint32
  1652. type Tsuseconds_t = int32
  1653. type Trsize_t = uint64
  1654. type Terrno_t = int32
  1655. type Tfd_set = struct {
  1656. Ffds_bits [32]t__int32_t
  1657. }
  1658. type Tfd_mask = int32
  1659. type Tpthread_attr_t = struct {
  1660. F__sig int64
  1661. F__opaque [56]int8
  1662. }
  1663. type Tpthread_cond_t = struct {
  1664. F__sig int64
  1665. F__opaque [40]int8
  1666. }
  1667. type Tpthread_condattr_t = struct {
  1668. F__sig int64
  1669. F__opaque [8]int8
  1670. }
  1671. type Tpthread_mutex_t = struct {
  1672. F__sig int64
  1673. F__opaque [56]int8
  1674. }
  1675. type Tpthread_mutexattr_t = struct {
  1676. F__sig int64
  1677. F__opaque [8]int8
  1678. }
  1679. type Tpthread_once_t = struct {
  1680. F__sig int64
  1681. F__opaque [8]int8
  1682. }
  1683. type Tpthread_rwlock_t = struct {
  1684. F__sig int64
  1685. F__opaque [192]int8
  1686. }
  1687. type Tpthread_rwlockattr_t = struct {
  1688. F__sig int64
  1689. F__opaque [16]int8
  1690. }
  1691. type Tpthread_t = uintptr
  1692. type Tpthread_key_t = uint64
  1693. type Tfsblkcnt_t = uint32
  1694. type Tfsfilcnt_t = uint32
  1695. type t__gnuc_va_list = uintptr
  1696. type Tva_list = uintptr
  1697. type t__darwin_nl_item = int32
  1698. type t__darwin_wctrans_t = int32
  1699. type t__darwin_wctype_t = uint32
  1700. type Taccessx_descriptor = struct {
  1701. Fad_name_offset uint32
  1702. Fad_flags int32
  1703. Fad_pad [2]int32
  1704. }
  1705. type Tuint64_t = uint64
  1706. type Tuint32_t = uint32
  1707. type Ttimespec = struct {
  1708. Ftv_sec t__darwin_time_t
  1709. Ftv_nsec int64
  1710. }
  1711. type Ttimeval = struct {
  1712. Ftv_sec t__darwin_time_t
  1713. Ftv_usec t__darwin_suseconds_t
  1714. }
  1715. type Tsigset_t = uint32
  1716. type Tuuid_t = [16]uint8
  1717. type Talloc_func = uintptr
  1718. type Tfree_func = uintptr
  1719. type Tz_stream = struct {
  1720. Fnext_in uintptr
  1721. Favail_in TuInt
  1722. Ftotal_in TuLong
  1723. Fnext_out uintptr
  1724. Favail_out TuInt
  1725. Ftotal_out TuLong
  1726. Fmsg uintptr
  1727. Fstate uintptr
  1728. Fzalloc Talloc_func
  1729. Fzfree Tfree_func
  1730. Fopaque Tvoidpf
  1731. Fdata_type int32
  1732. Fadler TuLong
  1733. Freserved TuLong
  1734. }
  1735. type Tz_stream_s = Tz_stream
  1736. type Tz_streamp = uintptr
  1737. type Tgz_header = struct {
  1738. Ftext int32
  1739. Ftime TuLong
  1740. Fxflags int32
  1741. Fos int32
  1742. Fextra uintptr
  1743. Fextra_len TuInt
  1744. Fextra_max TuInt
  1745. Fname uintptr
  1746. Fname_max TuInt
  1747. Fcomment uintptr
  1748. Fcomm_max TuInt
  1749. Fhcrc int32
  1750. Fdone int32
  1751. }
  1752. type Tgz_header_s = Tgz_header
  1753. type Tgz_headerp = uintptr
  1754. type Tin_func = uintptr
  1755. type Tout_func = uintptr
  1756. type TgzFile = uintptr
  1757. type TgzFile_s = struct {
  1758. Fhave uint32
  1759. Fnext uintptr
  1760. Fpos Toff_t
  1761. }
  1762. type Tidtype_t = int32
  1763. const _P_ALL = 0
  1764. const _P_PID = 1
  1765. const _P_PGID = 2
  1766. type Tsig_atomic_t = int32
  1767. type t__darwin_i386_thread_state = struct {
  1768. F__eax uint32
  1769. F__ebx uint32
  1770. F__ecx uint32
  1771. F__edx uint32
  1772. F__edi uint32
  1773. F__esi uint32
  1774. F__ebp uint32
  1775. F__esp uint32
  1776. F__ss uint32
  1777. F__eflags uint32
  1778. F__eip uint32
  1779. F__cs uint32
  1780. F__ds uint32
  1781. F__es uint32
  1782. F__fs uint32
  1783. F__gs uint32
  1784. }
  1785. type t__darwin_fp_control = struct {
  1786. F__ccgo0 uint16
  1787. }
  1788. type t__darwin_fp_control_t = struct {
  1789. F__ccgo0 uint16
  1790. }
  1791. type t__darwin_fp_status = struct {
  1792. F__ccgo0 uint16
  1793. }
  1794. type t__darwin_fp_status_t = struct {
  1795. F__ccgo0 uint16
  1796. }
  1797. type t__darwin_mmst_reg = struct {
  1798. F__mmst_reg [10]int8
  1799. F__mmst_rsrv [6]int8
  1800. }
  1801. type t__darwin_xmm_reg = struct {
  1802. F__xmm_reg [16]int8
  1803. }
  1804. type t__darwin_ymm_reg = struct {
  1805. F__ymm_reg [32]int8
  1806. }
  1807. type t__darwin_zmm_reg = struct {
  1808. F__zmm_reg [64]int8
  1809. }
  1810. type t__darwin_opmask_reg = struct {
  1811. F__opmask_reg [8]int8
  1812. }
  1813. type t__darwin_i386_float_state = struct {
  1814. F__fpu_reserved [2]int32
  1815. F__fpu_fcw t__darwin_fp_control
  1816. F__fpu_fsw t__darwin_fp_status
  1817. F__fpu_ftw t__uint8_t
  1818. F__fpu_rsrv1 t__uint8_t
  1819. F__fpu_fop t__uint16_t
  1820. F__fpu_ip t__uint32_t
  1821. F__fpu_cs t__uint16_t
  1822. F__fpu_rsrv2 t__uint16_t
  1823. F__fpu_dp t__uint32_t
  1824. F__fpu_ds t__uint16_t
  1825. F__fpu_rsrv3 t__uint16_t
  1826. F__fpu_mxcsr t__uint32_t
  1827. F__fpu_mxcsrmask t__uint32_t
  1828. F__fpu_stmm0 t__darwin_mmst_reg
  1829. F__fpu_stmm1 t__darwin_mmst_reg
  1830. F__fpu_stmm2 t__darwin_mmst_reg
  1831. F__fpu_stmm3 t__darwin_mmst_reg
  1832. F__fpu_stmm4 t__darwin_mmst_reg
  1833. F__fpu_stmm5 t__darwin_mmst_reg
  1834. F__fpu_stmm6 t__darwin_mmst_reg
  1835. F__fpu_stmm7 t__darwin_mmst_reg
  1836. F__fpu_xmm0 t__darwin_xmm_reg
  1837. F__fpu_xmm1 t__darwin_xmm_reg
  1838. F__fpu_xmm2 t__darwin_xmm_reg
  1839. F__fpu_xmm3 t__darwin_xmm_reg
  1840. F__fpu_xmm4 t__darwin_xmm_reg
  1841. F__fpu_xmm5 t__darwin_xmm_reg
  1842. F__fpu_xmm6 t__darwin_xmm_reg
  1843. F__fpu_xmm7 t__darwin_xmm_reg
  1844. F__fpu_rsrv4 [224]int8
  1845. F__fpu_reserved1 int32
  1846. }
  1847. type t__darwin_i386_avx_state = struct {
  1848. F__fpu_reserved [2]int32
  1849. F__fpu_fcw t__darwin_fp_control
  1850. F__fpu_fsw t__darwin_fp_status
  1851. F__fpu_ftw t__uint8_t
  1852. F__fpu_rsrv1 t__uint8_t
  1853. F__fpu_fop t__uint16_t
  1854. F__fpu_ip t__uint32_t
  1855. F__fpu_cs t__uint16_t
  1856. F__fpu_rsrv2 t__uint16_t
  1857. F__fpu_dp t__uint32_t
  1858. F__fpu_ds t__uint16_t
  1859. F__fpu_rsrv3 t__uint16_t
  1860. F__fpu_mxcsr t__uint32_t
  1861. F__fpu_mxcsrmask t__uint32_t
  1862. F__fpu_stmm0 t__darwin_mmst_reg
  1863. F__fpu_stmm1 t__darwin_mmst_reg
  1864. F__fpu_stmm2 t__darwin_mmst_reg
  1865. F__fpu_stmm3 t__darwin_mmst_reg
  1866. F__fpu_stmm4 t__darwin_mmst_reg
  1867. F__fpu_stmm5 t__darwin_mmst_reg
  1868. F__fpu_stmm6 t__darwin_mmst_reg
  1869. F__fpu_stmm7 t__darwin_mmst_reg
  1870. F__fpu_xmm0 t__darwin_xmm_reg
  1871. F__fpu_xmm1 t__darwin_xmm_reg
  1872. F__fpu_xmm2 t__darwin_xmm_reg
  1873. F__fpu_xmm3 t__darwin_xmm_reg
  1874. F__fpu_xmm4 t__darwin_xmm_reg
  1875. F__fpu_xmm5 t__darwin_xmm_reg
  1876. F__fpu_xmm6 t__darwin_xmm_reg
  1877. F__fpu_xmm7 t__darwin_xmm_reg
  1878. F__fpu_rsrv4 [224]int8
  1879. F__fpu_reserved1 int32
  1880. F__avx_reserved1 [64]int8
  1881. F__fpu_ymmh0 t__darwin_xmm_reg
  1882. F__fpu_ymmh1 t__darwin_xmm_reg
  1883. F__fpu_ymmh2 t__darwin_xmm_reg
  1884. F__fpu_ymmh3 t__darwin_xmm_reg
  1885. F__fpu_ymmh4 t__darwin_xmm_reg
  1886. F__fpu_ymmh5 t__darwin_xmm_reg
  1887. F__fpu_ymmh6 t__darwin_xmm_reg
  1888. F__fpu_ymmh7 t__darwin_xmm_reg
  1889. }
  1890. type t__darwin_i386_avx512_state = struct {
  1891. F__fpu_reserved [2]int32
  1892. F__fpu_fcw t__darwin_fp_control
  1893. F__fpu_fsw t__darwin_fp_status
  1894. F__fpu_ftw t__uint8_t
  1895. F__fpu_rsrv1 t__uint8_t
  1896. F__fpu_fop t__uint16_t
  1897. F__fpu_ip t__uint32_t
  1898. F__fpu_cs t__uint16_t
  1899. F__fpu_rsrv2 t__uint16_t
  1900. F__fpu_dp t__uint32_t
  1901. F__fpu_ds t__uint16_t
  1902. F__fpu_rsrv3 t__uint16_t
  1903. F__fpu_mxcsr t__uint32_t
  1904. F__fpu_mxcsrmask t__uint32_t
  1905. F__fpu_stmm0 t__darwin_mmst_reg
  1906. F__fpu_stmm1 t__darwin_mmst_reg
  1907. F__fpu_stmm2 t__darwin_mmst_reg
  1908. F__fpu_stmm3 t__darwin_mmst_reg
  1909. F__fpu_stmm4 t__darwin_mmst_reg
  1910. F__fpu_stmm5 t__darwin_mmst_reg
  1911. F__fpu_stmm6 t__darwin_mmst_reg
  1912. F__fpu_stmm7 t__darwin_mmst_reg
  1913. F__fpu_xmm0 t__darwin_xmm_reg
  1914. F__fpu_xmm1 t__darwin_xmm_reg
  1915. F__fpu_xmm2 t__darwin_xmm_reg
  1916. F__fpu_xmm3 t__darwin_xmm_reg
  1917. F__fpu_xmm4 t__darwin_xmm_reg
  1918. F__fpu_xmm5 t__darwin_xmm_reg
  1919. F__fpu_xmm6 t__darwin_xmm_reg
  1920. F__fpu_xmm7 t__darwin_xmm_reg
  1921. F__fpu_rsrv4 [224]int8
  1922. F__fpu_reserved1 int32
  1923. F__avx_reserved1 [64]int8
  1924. F__fpu_ymmh0 t__darwin_xmm_reg
  1925. F__fpu_ymmh1 t__darwin_xmm_reg
  1926. F__fpu_ymmh2 t__darwin_xmm_reg
  1927. F__fpu_ymmh3 t__darwin_xmm_reg
  1928. F__fpu_ymmh4 t__darwin_xmm_reg
  1929. F__fpu_ymmh5 t__darwin_xmm_reg
  1930. F__fpu_ymmh6 t__darwin_xmm_reg
  1931. F__fpu_ymmh7 t__darwin_xmm_reg
  1932. F__fpu_k0 t__darwin_opmask_reg
  1933. F__fpu_k1 t__darwin_opmask_reg
  1934. F__fpu_k2 t__darwin_opmask_reg
  1935. F__fpu_k3 t__darwin_opmask_reg
  1936. F__fpu_k4 t__darwin_opmask_reg
  1937. F__fpu_k5 t__darwin_opmask_reg
  1938. F__fpu_k6 t__darwin_opmask_reg
  1939. F__fpu_k7 t__darwin_opmask_reg
  1940. F__fpu_zmmh0 t__darwin_ymm_reg
  1941. F__fpu_zmmh1 t__darwin_ymm_reg
  1942. F__fpu_zmmh2 t__darwin_ymm_reg
  1943. F__fpu_zmmh3 t__darwin_ymm_reg
  1944. F__fpu_zmmh4 t__darwin_ymm_reg
  1945. F__fpu_zmmh5 t__darwin_ymm_reg
  1946. F__fpu_zmmh6 t__darwin_ymm_reg
  1947. F__fpu_zmmh7 t__darwin_ymm_reg
  1948. }
  1949. type t__darwin_i386_exception_state = struct {
  1950. F__trapno t__uint16_t
  1951. F__cpu t__uint16_t
  1952. F__err t__uint32_t
  1953. F__faultvaddr t__uint32_t
  1954. }
  1955. type t__darwin_x86_debug_state32 = struct {
  1956. F__dr0 uint32
  1957. F__dr1 uint32
  1958. F__dr2 uint32
  1959. F__dr3 uint32
  1960. F__dr4 uint32
  1961. F__dr5 uint32
  1962. F__dr6 uint32
  1963. F__dr7 uint32
  1964. }
  1965. type t__x86_instruction_state = struct {
  1966. F__insn_stream_valid_bytes int32
  1967. F__insn_offset int32
  1968. F__out_of_synch int32
  1969. F__insn_bytes [2380]t__uint8_t
  1970. F__insn_cacheline [64]t__uint8_t
  1971. }
  1972. type t__last_branch_record = struct {
  1973. F__from_ip t__uint64_t
  1974. F__to_ip t__uint64_t
  1975. F__ccgo16 uint32
  1976. }
  1977. type t__last_branch_state = struct {
  1978. F__lbr_count int32
  1979. F__ccgo4 uint32
  1980. F__lbrs [32]t__last_branch_record
  1981. }
  1982. type t__x86_pagein_state = struct {
  1983. F__pagein_error int32
  1984. }
  1985. type t__darwin_x86_thread_state64 = struct {
  1986. F__rax t__uint64_t
  1987. F__rbx t__uint64_t
  1988. F__rcx t__uint64_t
  1989. F__rdx t__uint64_t
  1990. F__rdi t__uint64_t
  1991. F__rsi t__uint64_t
  1992. F__rbp t__uint64_t
  1993. F__rsp t__uint64_t
  1994. F__r8 t__uint64_t
  1995. F__r9 t__uint64_t
  1996. F__r10 t__uint64_t
  1997. F__r11 t__uint64_t
  1998. F__r12 t__uint64_t
  1999. F__r13 t__uint64_t
  2000. F__r14 t__uint64_t
  2001. F__r15 t__uint64_t
  2002. F__rip t__uint64_t
  2003. F__rflags t__uint64_t
  2004. F__cs t__uint64_t
  2005. F__fs t__uint64_t
  2006. F__gs t__uint64_t
  2007. }
  2008. type t__darwin_x86_thread_full_state64 = struct {
  2009. F__ss64 t__darwin_x86_thread_state64
  2010. F__ds t__uint64_t
  2011. F__es t__uint64_t
  2012. F__ss t__uint64_t
  2013. F__gsbase t__uint64_t
  2014. }
  2015. type t__darwin_x86_float_state64 = struct {
  2016. F__fpu_reserved [2]int32
  2017. F__fpu_fcw t__darwin_fp_control
  2018. F__fpu_fsw t__darwin_fp_status
  2019. F__fpu_ftw t__uint8_t
  2020. F__fpu_rsrv1 t__uint8_t
  2021. F__fpu_fop t__uint16_t
  2022. F__fpu_ip t__uint32_t
  2023. F__fpu_cs t__uint16_t
  2024. F__fpu_rsrv2 t__uint16_t
  2025. F__fpu_dp t__uint32_t
  2026. F__fpu_ds t__uint16_t
  2027. F__fpu_rsrv3 t__uint16_t
  2028. F__fpu_mxcsr t__uint32_t
  2029. F__fpu_mxcsrmask t__uint32_t
  2030. F__fpu_stmm0 t__darwin_mmst_reg
  2031. F__fpu_stmm1 t__darwin_mmst_reg
  2032. F__fpu_stmm2 t__darwin_mmst_reg
  2033. F__fpu_stmm3 t__darwin_mmst_reg
  2034. F__fpu_stmm4 t__darwin_mmst_reg
  2035. F__fpu_stmm5 t__darwin_mmst_reg
  2036. F__fpu_stmm6 t__darwin_mmst_reg
  2037. F__fpu_stmm7 t__darwin_mmst_reg
  2038. F__fpu_xmm0 t__darwin_xmm_reg
  2039. F__fpu_xmm1 t__darwin_xmm_reg
  2040. F__fpu_xmm2 t__darwin_xmm_reg
  2041. F__fpu_xmm3 t__darwin_xmm_reg
  2042. F__fpu_xmm4 t__darwin_xmm_reg
  2043. F__fpu_xmm5 t__darwin_xmm_reg
  2044. F__fpu_xmm6 t__darwin_xmm_reg
  2045. F__fpu_xmm7 t__darwin_xmm_reg
  2046. F__fpu_xmm8 t__darwin_xmm_reg
  2047. F__fpu_xmm9 t__darwin_xmm_reg
  2048. F__fpu_xmm10 t__darwin_xmm_reg
  2049. F__fpu_xmm11 t__darwin_xmm_reg
  2050. F__fpu_xmm12 t__darwin_xmm_reg
  2051. F__fpu_xmm13 t__darwin_xmm_reg
  2052. F__fpu_xmm14 t__darwin_xmm_reg
  2053. F__fpu_xmm15 t__darwin_xmm_reg
  2054. F__fpu_rsrv4 [96]int8
  2055. F__fpu_reserved1 int32
  2056. }
  2057. type t__darwin_x86_avx_state64 = struct {
  2058. F__fpu_reserved [2]int32
  2059. F__fpu_fcw t__darwin_fp_control
  2060. F__fpu_fsw t__darwin_fp_status
  2061. F__fpu_ftw t__uint8_t
  2062. F__fpu_rsrv1 t__uint8_t
  2063. F__fpu_fop t__uint16_t
  2064. F__fpu_ip t__uint32_t
  2065. F__fpu_cs t__uint16_t
  2066. F__fpu_rsrv2 t__uint16_t
  2067. F__fpu_dp t__uint32_t
  2068. F__fpu_ds t__uint16_t
  2069. F__fpu_rsrv3 t__uint16_t
  2070. F__fpu_mxcsr t__uint32_t
  2071. F__fpu_mxcsrmask t__uint32_t
  2072. F__fpu_stmm0 t__darwin_mmst_reg
  2073. F__fpu_stmm1 t__darwin_mmst_reg
  2074. F__fpu_stmm2 t__darwin_mmst_reg
  2075. F__fpu_stmm3 t__darwin_mmst_reg
  2076. F__fpu_stmm4 t__darwin_mmst_reg
  2077. F__fpu_stmm5 t__darwin_mmst_reg
  2078. F__fpu_stmm6 t__darwin_mmst_reg
  2079. F__fpu_stmm7 t__darwin_mmst_reg
  2080. F__fpu_xmm0 t__darwin_xmm_reg
  2081. F__fpu_xmm1 t__darwin_xmm_reg
  2082. F__fpu_xmm2 t__darwin_xmm_reg
  2083. F__fpu_xmm3 t__darwin_xmm_reg
  2084. F__fpu_xmm4 t__darwin_xmm_reg
  2085. F__fpu_xmm5 t__darwin_xmm_reg
  2086. F__fpu_xmm6 t__darwin_xmm_reg
  2087. F__fpu_xmm7 t__darwin_xmm_reg
  2088. F__fpu_xmm8 t__darwin_xmm_reg
  2089. F__fpu_xmm9 t__darwin_xmm_reg
  2090. F__fpu_xmm10 t__darwin_xmm_reg
  2091. F__fpu_xmm11 t__darwin_xmm_reg
  2092. F__fpu_xmm12 t__darwin_xmm_reg
  2093. F__fpu_xmm13 t__darwin_xmm_reg
  2094. F__fpu_xmm14 t__darwin_xmm_reg
  2095. F__fpu_xmm15 t__darwin_xmm_reg
  2096. F__fpu_rsrv4 [96]int8
  2097. F__fpu_reserved1 int32
  2098. F__avx_reserved1 [64]int8
  2099. F__fpu_ymmh0 t__darwin_xmm_reg
  2100. F__fpu_ymmh1 t__darwin_xmm_reg
  2101. F__fpu_ymmh2 t__darwin_xmm_reg
  2102. F__fpu_ymmh3 t__darwin_xmm_reg
  2103. F__fpu_ymmh4 t__darwin_xmm_reg
  2104. F__fpu_ymmh5 t__darwin_xmm_reg
  2105. F__fpu_ymmh6 t__darwin_xmm_reg
  2106. F__fpu_ymmh7 t__darwin_xmm_reg
  2107. F__fpu_ymmh8 t__darwin_xmm_reg
  2108. F__fpu_ymmh9 t__darwin_xmm_reg
  2109. F__fpu_ymmh10 t__darwin_xmm_reg
  2110. F__fpu_ymmh11 t__darwin_xmm_reg
  2111. F__fpu_ymmh12 t__darwin_xmm_reg
  2112. F__fpu_ymmh13 t__darwin_xmm_reg
  2113. F__fpu_ymmh14 t__darwin_xmm_reg
  2114. F__fpu_ymmh15 t__darwin_xmm_reg
  2115. }
  2116. type t__darwin_x86_avx512_state64 = struct {
  2117. F__fpu_reserved [2]int32
  2118. F__fpu_fcw t__darwin_fp_control
  2119. F__fpu_fsw t__darwin_fp_status
  2120. F__fpu_ftw t__uint8_t
  2121. F__fpu_rsrv1 t__uint8_t
  2122. F__fpu_fop t__uint16_t
  2123. F__fpu_ip t__uint32_t
  2124. F__fpu_cs t__uint16_t
  2125. F__fpu_rsrv2 t__uint16_t
  2126. F__fpu_dp t__uint32_t
  2127. F__fpu_ds t__uint16_t
  2128. F__fpu_rsrv3 t__uint16_t
  2129. F__fpu_mxcsr t__uint32_t
  2130. F__fpu_mxcsrmask t__uint32_t
  2131. F__fpu_stmm0 t__darwin_mmst_reg
  2132. F__fpu_stmm1 t__darwin_mmst_reg
  2133. F__fpu_stmm2 t__darwin_mmst_reg
  2134. F__fpu_stmm3 t__darwin_mmst_reg
  2135. F__fpu_stmm4 t__darwin_mmst_reg
  2136. F__fpu_stmm5 t__darwin_mmst_reg
  2137. F__fpu_stmm6 t__darwin_mmst_reg
  2138. F__fpu_stmm7 t__darwin_mmst_reg
  2139. F__fpu_xmm0 t__darwin_xmm_reg
  2140. F__fpu_xmm1 t__darwin_xmm_reg
  2141. F__fpu_xmm2 t__darwin_xmm_reg
  2142. F__fpu_xmm3 t__darwin_xmm_reg
  2143. F__fpu_xmm4 t__darwin_xmm_reg
  2144. F__fpu_xmm5 t__darwin_xmm_reg
  2145. F__fpu_xmm6 t__darwin_xmm_reg
  2146. F__fpu_xmm7 t__darwin_xmm_reg
  2147. F__fpu_xmm8 t__darwin_xmm_reg
  2148. F__fpu_xmm9 t__darwin_xmm_reg
  2149. F__fpu_xmm10 t__darwin_xmm_reg
  2150. F__fpu_xmm11 t__darwin_xmm_reg
  2151. F__fpu_xmm12 t__darwin_xmm_reg
  2152. F__fpu_xmm13 t__darwin_xmm_reg
  2153. F__fpu_xmm14 t__darwin_xmm_reg
  2154. F__fpu_xmm15 t__darwin_xmm_reg
  2155. F__fpu_rsrv4 [96]int8
  2156. F__fpu_reserved1 int32
  2157. F__avx_reserved1 [64]int8
  2158. F__fpu_ymmh0 t__darwin_xmm_reg
  2159. F__fpu_ymmh1 t__darwin_xmm_reg
  2160. F__fpu_ymmh2 t__darwin_xmm_reg
  2161. F__fpu_ymmh3 t__darwin_xmm_reg
  2162. F__fpu_ymmh4 t__darwin_xmm_reg
  2163. F__fpu_ymmh5 t__darwin_xmm_reg
  2164. F__fpu_ymmh6 t__darwin_xmm_reg
  2165. F__fpu_ymmh7 t__darwin_xmm_reg
  2166. F__fpu_ymmh8 t__darwin_xmm_reg
  2167. F__fpu_ymmh9 t__darwin_xmm_reg
  2168. F__fpu_ymmh10 t__darwin_xmm_reg
  2169. F__fpu_ymmh11 t__darwin_xmm_reg
  2170. F__fpu_ymmh12 t__darwin_xmm_reg
  2171. F__fpu_ymmh13 t__darwin_xmm_reg
  2172. F__fpu_ymmh14 t__darwin_xmm_reg
  2173. F__fpu_ymmh15 t__darwin_xmm_reg
  2174. F__fpu_k0 t__darwin_opmask_reg
  2175. F__fpu_k1 t__darwin_opmask_reg
  2176. F__fpu_k2 t__darwin_opmask_reg
  2177. F__fpu_k3 t__darwin_opmask_reg
  2178. F__fpu_k4 t__darwin_opmask_reg
  2179. F__fpu_k5 t__darwin_opmask_reg
  2180. F__fpu_k6 t__darwin_opmask_reg
  2181. F__fpu_k7 t__darwin_opmask_reg
  2182. F__fpu_zmmh0 t__darwin_ymm_reg
  2183. F__fpu_zmmh1 t__darwin_ymm_reg
  2184. F__fpu_zmmh2 t__darwin_ymm_reg
  2185. F__fpu_zmmh3 t__darwin_ymm_reg
  2186. F__fpu_zmmh4 t__darwin_ymm_reg
  2187. F__fpu_zmmh5 t__darwin_ymm_reg
  2188. F__fpu_zmmh6 t__darwin_ymm_reg
  2189. F__fpu_zmmh7 t__darwin_ymm_reg
  2190. F__fpu_zmmh8 t__darwin_ymm_reg
  2191. F__fpu_zmmh9 t__darwin_ymm_reg
  2192. F__fpu_zmmh10 t__darwin_ymm_reg
  2193. F__fpu_zmmh11 t__darwin_ymm_reg
  2194. F__fpu_zmmh12 t__darwin_ymm_reg
  2195. F__fpu_zmmh13 t__darwin_ymm_reg
  2196. F__fpu_zmmh14 t__darwin_ymm_reg
  2197. F__fpu_zmmh15 t__darwin_ymm_reg
  2198. F__fpu_zmm16 t__darwin_zmm_reg
  2199. F__fpu_zmm17 t__darwin_zmm_reg
  2200. F__fpu_zmm18 t__darwin_zmm_reg
  2201. F__fpu_zmm19 t__darwin_zmm_reg
  2202. F__fpu_zmm20 t__darwin_zmm_reg
  2203. F__fpu_zmm21 t__darwin_zmm_reg
  2204. F__fpu_zmm22 t__darwin_zmm_reg
  2205. F__fpu_zmm23 t__darwin_zmm_reg
  2206. F__fpu_zmm24 t__darwin_zmm_reg
  2207. F__fpu_zmm25 t__darwin_zmm_reg
  2208. F__fpu_zmm26 t__darwin_zmm_reg
  2209. F__fpu_zmm27 t__darwin_zmm_reg
  2210. F__fpu_zmm28 t__darwin_zmm_reg
  2211. F__fpu_zmm29 t__darwin_zmm_reg
  2212. F__fpu_zmm30 t__darwin_zmm_reg
  2213. F__fpu_zmm31 t__darwin_zmm_reg
  2214. }
  2215. type t__darwin_x86_exception_state64 = struct {
  2216. F__trapno t__uint16_t
  2217. F__cpu t__uint16_t
  2218. F__err t__uint32_t
  2219. F__faultvaddr t__uint64_t
  2220. }
  2221. type t__darwin_x86_debug_state64 = struct {
  2222. F__dr0 t__uint64_t
  2223. F__dr1 t__uint64_t
  2224. F__dr2 t__uint64_t
  2225. F__dr3 t__uint64_t
  2226. F__dr4 t__uint64_t
  2227. F__dr5 t__uint64_t
  2228. F__dr6 t__uint64_t
  2229. F__dr7 t__uint64_t
  2230. }
  2231. type t__darwin_x86_cpmu_state64 = struct {
  2232. F__ctrs [16]t__uint64_t
  2233. }
  2234. type t__darwin_mcontext32 = struct {
  2235. F__es t__darwin_i386_exception_state
  2236. F__ss t__darwin_i386_thread_state
  2237. F__fs t__darwin_i386_float_state
  2238. }
  2239. type t__darwin_mcontext_avx32 = struct {
  2240. F__es t__darwin_i386_exception_state
  2241. F__ss t__darwin_i386_thread_state
  2242. F__fs t__darwin_i386_avx_state
  2243. }
  2244. type t__darwin_mcontext_avx512_32 = struct {
  2245. F__es t__darwin_i386_exception_state
  2246. F__ss t__darwin_i386_thread_state
  2247. F__fs t__darwin_i386_avx512_state
  2248. }
  2249. type t__darwin_mcontext64 = struct {
  2250. F__es t__darwin_x86_exception_state64
  2251. F__ss t__darwin_x86_thread_state64
  2252. F__fs t__darwin_x86_float_state64
  2253. }
  2254. type t__darwin_mcontext64_full = struct {
  2255. F__es t__darwin_x86_exception_state64
  2256. F__ss t__darwin_x86_thread_full_state64
  2257. F__fs t__darwin_x86_float_state64
  2258. }
  2259. type t__darwin_mcontext_avx64 = struct {
  2260. F__es t__darwin_x86_exception_state64
  2261. F__ss t__darwin_x86_thread_state64
  2262. F__fs t__darwin_x86_avx_state64
  2263. }
  2264. type t__darwin_mcontext_avx64_full = struct {
  2265. F__es t__darwin_x86_exception_state64
  2266. F__ss t__darwin_x86_thread_full_state64
  2267. F__fs t__darwin_x86_avx_state64
  2268. }
  2269. type t__darwin_mcontext_avx512_64 = struct {
  2270. F__es t__darwin_x86_exception_state64
  2271. F__ss t__darwin_x86_thread_state64
  2272. F__fs t__darwin_x86_avx512_state64
  2273. }
  2274. type t__darwin_mcontext_avx512_64_full = struct {
  2275. F__es t__darwin_x86_exception_state64
  2276. F__ss t__darwin_x86_thread_full_state64
  2277. F__fs t__darwin_x86_avx512_state64
  2278. }
  2279. type Tmcontext_t = uintptr
  2280. type t__darwin_sigaltstack = struct {
  2281. Fss_sp uintptr
  2282. Fss_size t__darwin_size_t
  2283. Fss_flags int32
  2284. }
  2285. type Tstack_t = struct {
  2286. Fss_sp uintptr
  2287. Fss_size t__darwin_size_t
  2288. Fss_flags int32
  2289. }
  2290. type t__darwin_ucontext = struct {
  2291. Fuc_onstack int32
  2292. Fuc_sigmask t__darwin_sigset_t
  2293. Fuc_stack t__darwin_sigaltstack
  2294. Fuc_link uintptr
  2295. Fuc_mcsize t__darwin_size_t
  2296. Fuc_mcontext uintptr
  2297. }
  2298. type Tucontext_t = struct {
  2299. Fuc_onstack int32
  2300. Fuc_sigmask t__darwin_sigset_t
  2301. Fuc_stack t__darwin_sigaltstack
  2302. Fuc_link uintptr
  2303. Fuc_mcsize t__darwin_size_t
  2304. Fuc_mcontext uintptr
  2305. }
  2306. type Tsigval = struct {
  2307. Fsival_ptr [0]uintptr
  2308. Fsival_int int32
  2309. F__ccgo_pad2 [4]byte
  2310. }
  2311. type Tsigevent = struct {
  2312. Fsigev_notify int32
  2313. Fsigev_signo int32
  2314. Fsigev_value Tsigval
  2315. Fsigev_notify_function uintptr
  2316. Fsigev_notify_attributes uintptr
  2317. }
  2318. type Tsiginfo_t = struct {
  2319. Fsi_signo int32
  2320. Fsi_errno int32
  2321. Fsi_code int32
  2322. Fsi_pid Tpid_t
  2323. Fsi_uid Tuid_t
  2324. Fsi_status int32
  2325. Fsi_addr uintptr
  2326. Fsi_value Tsigval
  2327. Fsi_band int64
  2328. F__pad [7]uint64
  2329. }
  2330. type t__siginfo = Tsiginfo_t
  2331. type t__sigaction_u = struct {
  2332. F__sa_sigaction [0]uintptr
  2333. F__sa_handler uintptr
  2334. }
  2335. type t__sigaction = struct {
  2336. F__sigaction_u t__sigaction_u
  2337. Fsa_tramp uintptr
  2338. Fsa_mask Tsigset_t
  2339. Fsa_flags int32
  2340. }
  2341. type Tsigaction = struct {
  2342. F__sigaction_u t__sigaction_u
  2343. Fsa_mask Tsigset_t
  2344. Fsa_flags int32
  2345. }
  2346. type Tsig_t = uintptr
  2347. type Tsigvec = struct {
  2348. Fsv_handler uintptr
  2349. Fsv_mask int32
  2350. Fsv_flags int32
  2351. }
  2352. type Tsigstack = struct {
  2353. Fss_sp uintptr
  2354. Fss_onstack int32
  2355. }
  2356. type Tint_least64_t = int64
  2357. type Tuint_least64_t = uint64
  2358. type Tint_fast64_t = int64
  2359. type Tuint_fast64_t = uint64
  2360. type Tint_least32_t = int32
  2361. type Tuint_least32_t = uint32
  2362. type Tint_fast32_t = int32
  2363. type Tuint_fast32_t = uint32
  2364. type Tuint16_t = uint16
  2365. type Tint_least16_t = int16
  2366. type Tuint_least16_t = uint16
  2367. type Tint_fast16_t = int16
  2368. type Tuint_fast16_t = uint16
  2369. type Tuint8_t = uint8
  2370. type Tint_least8_t = int8
  2371. type Tuint_least8_t = uint8
  2372. type Tint_fast8_t = int8
  2373. type Tuint_fast8_t = uint8
  2374. type Tintmax_t = int64
  2375. type Tuintmax_t = uint64
  2376. type Trlim_t = uint64
  2377. type Trusage = struct {
  2378. Fru_utime Ttimeval
  2379. Fru_stime Ttimeval
  2380. Fru_maxrss int64
  2381. Fru_ixrss int64
  2382. Fru_idrss int64
  2383. Fru_isrss int64
  2384. Fru_minflt int64
  2385. Fru_majflt int64
  2386. Fru_nswap int64
  2387. Fru_inblock int64
  2388. Fru_oublock int64
  2389. Fru_msgsnd int64
  2390. Fru_msgrcv int64
  2391. Fru_nsignals int64
  2392. Fru_nvcsw int64
  2393. Fru_nivcsw int64
  2394. }
  2395. type Trusage_info_t = uintptr
  2396. type Trusage_info_v0 = struct {
  2397. Fri_uuid [16]Tuint8_t
  2398. Fri_user_time Tuint64_t
  2399. Fri_system_time Tuint64_t
  2400. Fri_pkg_idle_wkups Tuint64_t
  2401. Fri_interrupt_wkups Tuint64_t
  2402. Fri_pageins Tuint64_t
  2403. Fri_wired_size Tuint64_t
  2404. Fri_resident_size Tuint64_t
  2405. Fri_phys_footprint Tuint64_t
  2406. Fri_proc_start_abstime Tuint64_t
  2407. Fri_proc_exit_abstime Tuint64_t
  2408. }
  2409. type Trusage_info_v1 = struct {
  2410. Fri_uuid [16]Tuint8_t
  2411. Fri_user_time Tuint64_t
  2412. Fri_system_time Tuint64_t
  2413. Fri_pkg_idle_wkups Tuint64_t
  2414. Fri_interrupt_wkups Tuint64_t
  2415. Fri_pageins Tuint64_t
  2416. Fri_wired_size Tuint64_t
  2417. Fri_resident_size Tuint64_t
  2418. Fri_phys_footprint Tuint64_t
  2419. Fri_proc_start_abstime Tuint64_t
  2420. Fri_proc_exit_abstime Tuint64_t
  2421. Fri_child_user_time Tuint64_t
  2422. Fri_child_system_time Tuint64_t
  2423. Fri_child_pkg_idle_wkups Tuint64_t
  2424. Fri_child_interrupt_wkups Tuint64_t
  2425. Fri_child_pageins Tuint64_t
  2426. Fri_child_elapsed_abstime Tuint64_t
  2427. }
  2428. type Trusage_info_v2 = struct {
  2429. Fri_uuid [16]Tuint8_t
  2430. Fri_user_time Tuint64_t
  2431. Fri_system_time Tuint64_t
  2432. Fri_pkg_idle_wkups Tuint64_t
  2433. Fri_interrupt_wkups Tuint64_t
  2434. Fri_pageins Tuint64_t
  2435. Fri_wired_size Tuint64_t
  2436. Fri_resident_size Tuint64_t
  2437. Fri_phys_footprint Tuint64_t
  2438. Fri_proc_start_abstime Tuint64_t
  2439. Fri_proc_exit_abstime Tuint64_t
  2440. Fri_child_user_time Tuint64_t
  2441. Fri_child_system_time Tuint64_t
  2442. Fri_child_pkg_idle_wkups Tuint64_t
  2443. Fri_child_interrupt_wkups Tuint64_t
  2444. Fri_child_pageins Tuint64_t
  2445. Fri_child_elapsed_abstime Tuint64_t
  2446. Fri_diskio_bytesread Tuint64_t
  2447. Fri_diskio_byteswritten Tuint64_t
  2448. }
  2449. type Trusage_info_v3 = struct {
  2450. Fri_uuid [16]Tuint8_t
  2451. Fri_user_time Tuint64_t
  2452. Fri_system_time Tuint64_t
  2453. Fri_pkg_idle_wkups Tuint64_t
  2454. Fri_interrupt_wkups Tuint64_t
  2455. Fri_pageins Tuint64_t
  2456. Fri_wired_size Tuint64_t
  2457. Fri_resident_size Tuint64_t
  2458. Fri_phys_footprint Tuint64_t
  2459. Fri_proc_start_abstime Tuint64_t
  2460. Fri_proc_exit_abstime Tuint64_t
  2461. Fri_child_user_time Tuint64_t
  2462. Fri_child_system_time Tuint64_t
  2463. Fri_child_pkg_idle_wkups Tuint64_t
  2464. Fri_child_interrupt_wkups Tuint64_t
  2465. Fri_child_pageins Tuint64_t
  2466. Fri_child_elapsed_abstime Tuint64_t
  2467. Fri_diskio_bytesread Tuint64_t
  2468. Fri_diskio_byteswritten Tuint64_t
  2469. Fri_cpu_time_qos_default Tuint64_t
  2470. Fri_cpu_time_qos_maintenance Tuint64_t
  2471. Fri_cpu_time_qos_background Tuint64_t
  2472. Fri_cpu_time_qos_utility Tuint64_t
  2473. Fri_cpu_time_qos_legacy Tuint64_t
  2474. Fri_cpu_time_qos_user_initiated Tuint64_t
  2475. Fri_cpu_time_qos_user_interactive Tuint64_t
  2476. Fri_billed_system_time Tuint64_t
  2477. Fri_serviced_system_time Tuint64_t
  2478. }
  2479. type Trusage_info_v4 = struct {
  2480. Fri_uuid [16]Tuint8_t
  2481. Fri_user_time Tuint64_t
  2482. Fri_system_time Tuint64_t
  2483. Fri_pkg_idle_wkups Tuint64_t
  2484. Fri_interrupt_wkups Tuint64_t
  2485. Fri_pageins Tuint64_t
  2486. Fri_wired_size Tuint64_t
  2487. Fri_resident_size Tuint64_t
  2488. Fri_phys_footprint Tuint64_t
  2489. Fri_proc_start_abstime Tuint64_t
  2490. Fri_proc_exit_abstime Tuint64_t
  2491. Fri_child_user_time Tuint64_t
  2492. Fri_child_system_time Tuint64_t
  2493. Fri_child_pkg_idle_wkups Tuint64_t
  2494. Fri_child_interrupt_wkups Tuint64_t
  2495. Fri_child_pageins Tuint64_t
  2496. Fri_child_elapsed_abstime Tuint64_t
  2497. Fri_diskio_bytesread Tuint64_t
  2498. Fri_diskio_byteswritten Tuint64_t
  2499. Fri_cpu_time_qos_default Tuint64_t
  2500. Fri_cpu_time_qos_maintenance Tuint64_t
  2501. Fri_cpu_time_qos_background Tuint64_t
  2502. Fri_cpu_time_qos_utility Tuint64_t
  2503. Fri_cpu_time_qos_legacy Tuint64_t
  2504. Fri_cpu_time_qos_user_initiated Tuint64_t
  2505. Fri_cpu_time_qos_user_interactive Tuint64_t
  2506. Fri_billed_system_time Tuint64_t
  2507. Fri_serviced_system_time Tuint64_t
  2508. Fri_logical_writes Tuint64_t
  2509. Fri_lifetime_max_phys_footprint Tuint64_t
  2510. Fri_instructions Tuint64_t
  2511. Fri_cycles Tuint64_t
  2512. Fri_billed_energy Tuint64_t
  2513. Fri_serviced_energy Tuint64_t
  2514. Fri_interval_max_phys_footprint Tuint64_t
  2515. Fri_runnable_time Tuint64_t
  2516. }
  2517. type Trusage_info_v5 = struct {
  2518. Fri_uuid [16]Tuint8_t
  2519. Fri_user_time Tuint64_t
  2520. Fri_system_time Tuint64_t
  2521. Fri_pkg_idle_wkups Tuint64_t
  2522. Fri_interrupt_wkups Tuint64_t
  2523. Fri_pageins Tuint64_t
  2524. Fri_wired_size Tuint64_t
  2525. Fri_resident_size Tuint64_t
  2526. Fri_phys_footprint Tuint64_t
  2527. Fri_proc_start_abstime Tuint64_t
  2528. Fri_proc_exit_abstime Tuint64_t
  2529. Fri_child_user_time Tuint64_t
  2530. Fri_child_system_time Tuint64_t
  2531. Fri_child_pkg_idle_wkups Tuint64_t
  2532. Fri_child_interrupt_wkups Tuint64_t
  2533. Fri_child_pageins Tuint64_t
  2534. Fri_child_elapsed_abstime Tuint64_t
  2535. Fri_diskio_bytesread Tuint64_t
  2536. Fri_diskio_byteswritten Tuint64_t
  2537. Fri_cpu_time_qos_default Tuint64_t
  2538. Fri_cpu_time_qos_maintenance Tuint64_t
  2539. Fri_cpu_time_qos_background Tuint64_t
  2540. Fri_cpu_time_qos_utility Tuint64_t
  2541. Fri_cpu_time_qos_legacy Tuint64_t
  2542. Fri_cpu_time_qos_user_initiated Tuint64_t
  2543. Fri_cpu_time_qos_user_interactive Tuint64_t
  2544. Fri_billed_system_time Tuint64_t
  2545. Fri_serviced_system_time Tuint64_t
  2546. Fri_logical_writes Tuint64_t
  2547. Fri_lifetime_max_phys_footprint Tuint64_t
  2548. Fri_instructions Tuint64_t
  2549. Fri_cycles Tuint64_t
  2550. Fri_billed_energy Tuint64_t
  2551. Fri_serviced_energy Tuint64_t
  2552. Fri_interval_max_phys_footprint Tuint64_t
  2553. Fri_runnable_time Tuint64_t
  2554. Fri_flags Tuint64_t
  2555. }
  2556. type Trusage_info_v6 = struct {
  2557. Fri_uuid [16]Tuint8_t
  2558. Fri_user_time Tuint64_t
  2559. Fri_system_time Tuint64_t
  2560. Fri_pkg_idle_wkups Tuint64_t
  2561. Fri_interrupt_wkups Tuint64_t
  2562. Fri_pageins Tuint64_t
  2563. Fri_wired_size Tuint64_t
  2564. Fri_resident_size Tuint64_t
  2565. Fri_phys_footprint Tuint64_t
  2566. Fri_proc_start_abstime Tuint64_t
  2567. Fri_proc_exit_abstime Tuint64_t
  2568. Fri_child_user_time Tuint64_t
  2569. Fri_child_system_time Tuint64_t
  2570. Fri_child_pkg_idle_wkups Tuint64_t
  2571. Fri_child_interrupt_wkups Tuint64_t
  2572. Fri_child_pageins Tuint64_t
  2573. Fri_child_elapsed_abstime Tuint64_t
  2574. Fri_diskio_bytesread Tuint64_t
  2575. Fri_diskio_byteswritten Tuint64_t
  2576. Fri_cpu_time_qos_default Tuint64_t
  2577. Fri_cpu_time_qos_maintenance Tuint64_t
  2578. Fri_cpu_time_qos_background Tuint64_t
  2579. Fri_cpu_time_qos_utility Tuint64_t
  2580. Fri_cpu_time_qos_legacy Tuint64_t
  2581. Fri_cpu_time_qos_user_initiated Tuint64_t
  2582. Fri_cpu_time_qos_user_interactive Tuint64_t
  2583. Fri_billed_system_time Tuint64_t
  2584. Fri_serviced_system_time Tuint64_t
  2585. Fri_logical_writes Tuint64_t
  2586. Fri_lifetime_max_phys_footprint Tuint64_t
  2587. Fri_instructions Tuint64_t
  2588. Fri_cycles Tuint64_t
  2589. Fri_billed_energy Tuint64_t
  2590. Fri_serviced_energy Tuint64_t
  2591. Fri_interval_max_phys_footprint Tuint64_t
  2592. Fri_runnable_time Tuint64_t
  2593. Fri_flags Tuint64_t
  2594. Fri_user_ptime Tuint64_t
  2595. Fri_system_ptime Tuint64_t
  2596. Fri_pinstructions Tuint64_t
  2597. Fri_pcycles Tuint64_t
  2598. Fri_energy_nj Tuint64_t
  2599. Fri_penergy_nj Tuint64_t
  2600. Fri_secure_time_in_system Tuint64_t
  2601. Fri_secure_ptime_in_system Tuint64_t
  2602. Fri_neural_footprint Tuint64_t
  2603. Fri_lifetime_max_neural_footprint Tuint64_t
  2604. Fri_interval_max_neural_footprint Tuint64_t
  2605. Fri_reserved [9]Tuint64_t
  2606. }
  2607. type Trusage_info_current = struct {
  2608. Fri_uuid [16]Tuint8_t
  2609. Fri_user_time Tuint64_t
  2610. Fri_system_time Tuint64_t
  2611. Fri_pkg_idle_wkups Tuint64_t
  2612. Fri_interrupt_wkups Tuint64_t
  2613. Fri_pageins Tuint64_t
  2614. Fri_wired_size Tuint64_t
  2615. Fri_resident_size Tuint64_t
  2616. Fri_phys_footprint Tuint64_t
  2617. Fri_proc_start_abstime Tuint64_t
  2618. Fri_proc_exit_abstime Tuint64_t
  2619. Fri_child_user_time Tuint64_t
  2620. Fri_child_system_time Tuint64_t
  2621. Fri_child_pkg_idle_wkups Tuint64_t
  2622. Fri_child_interrupt_wkups Tuint64_t
  2623. Fri_child_pageins Tuint64_t
  2624. Fri_child_elapsed_abstime Tuint64_t
  2625. Fri_diskio_bytesread Tuint64_t
  2626. Fri_diskio_byteswritten Tuint64_t
  2627. Fri_cpu_time_qos_default Tuint64_t
  2628. Fri_cpu_time_qos_maintenance Tuint64_t
  2629. Fri_cpu_time_qos_background Tuint64_t
  2630. Fri_cpu_time_qos_utility Tuint64_t
  2631. Fri_cpu_time_qos_legacy Tuint64_t
  2632. Fri_cpu_time_qos_user_initiated Tuint64_t
  2633. Fri_cpu_time_qos_user_interactive Tuint64_t
  2634. Fri_billed_system_time Tuint64_t
  2635. Fri_serviced_system_time Tuint64_t
  2636. Fri_logical_writes Tuint64_t
  2637. Fri_lifetime_max_phys_footprint Tuint64_t
  2638. Fri_instructions Tuint64_t
  2639. Fri_cycles Tuint64_t
  2640. Fri_billed_energy Tuint64_t
  2641. Fri_serviced_energy Tuint64_t
  2642. Fri_interval_max_phys_footprint Tuint64_t
  2643. Fri_runnable_time Tuint64_t
  2644. Fri_flags Tuint64_t
  2645. Fri_user_ptime Tuint64_t
  2646. Fri_system_ptime Tuint64_t
  2647. Fri_pinstructions Tuint64_t
  2648. Fri_pcycles Tuint64_t
  2649. Fri_energy_nj Tuint64_t
  2650. Fri_penergy_nj Tuint64_t
  2651. Fri_secure_time_in_system Tuint64_t
  2652. Fri_secure_ptime_in_system Tuint64_t
  2653. Fri_neural_footprint Tuint64_t
  2654. Fri_lifetime_max_neural_footprint Tuint64_t
  2655. Fri_interval_max_neural_footprint Tuint64_t
  2656. Fri_reserved [9]Tuint64_t
  2657. }
  2658. type Trlimit = struct {
  2659. Frlim_cur Trlim_t
  2660. Frlim_max Trlim_t
  2661. }
  2662. type Tproc_rlimit_control_wakeupmon = struct {
  2663. Fwm_flags Tuint32_t
  2664. Fwm_rate Tint32_t
  2665. }
  2666. type Twait = struct {
  2667. Fw_T [0]struct {
  2668. F__ccgo0 uint32
  2669. }
  2670. Fw_S [0]struct {
  2671. F__ccgo0 uint32
  2672. }
  2673. Fw_status int32
  2674. }
  2675. type Tct_rune_t = int32
  2676. type Trune_t = int32
  2677. type Tdiv_t = struct {
  2678. Fquot int32
  2679. Frem int32
  2680. }
  2681. type Tldiv_t = struct {
  2682. Fquot int64
  2683. Frem int64
  2684. }
  2685. type Tlldiv_t = struct {
  2686. Fquot int64
  2687. Frem int64
  2688. }
  2689. type Tmalloc_type_id_t = uint64
  2690. type Tuch = uint8
  2691. type Tuchf = uint8
  2692. type Tush = uint16
  2693. type Tushf = uint16
  2694. type Tulg = uint64
  2695. /* Reverse the bytes in a 32-bit value */
  2696. /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
  2697. /* use NO_DIVIDE if your processor does not do division in hardware --
  2698. try it both ways to see which is faster */
  2699. // C documentation
  2700. //
  2701. // /* ========================================================================= */
  2702. func Xadler32_z(tls *libc.TLS, adler TuLong, buf uintptr, len1 Tz_size_t) (r TuLong) {
  2703. var n, v3 uint32
  2704. var sum2 uint64
  2705. var v1, v5 Tz_size_t
  2706. var v2, v6 uintptr
  2707. _, _, _, _, _, _, _ = n, sum2, v1, v2, v3, v5, v6
  2708. /* split Adler-32 into component sums */
  2709. sum2 = adler >> libc.Int32FromInt32(16) & uint64(0xffff)
  2710. adler &= uint64(0xffff)
  2711. /* in case user likes doing a byte at a time, keep it fast */
  2712. if len1 == uint64(1) {
  2713. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  2714. if adler >= uint64(65521) {
  2715. adler -= uint64(65521)
  2716. }
  2717. sum2 += adler
  2718. if sum2 >= uint64(65521) {
  2719. sum2 -= uint64(65521)
  2720. }
  2721. return adler | sum2<<int32(16)
  2722. }
  2723. /* initial Adler-32 value (deferred check for len == 1 speed) */
  2724. if buf == uintptr(m_Z_NULL) {
  2725. return uint64(1)
  2726. }
  2727. /* in case short lengths are provided, keep it somewhat fast */
  2728. if len1 < uint64(16) {
  2729. for {
  2730. v1 = len1
  2731. len1--
  2732. if !(v1 != 0) {
  2733. break
  2734. }
  2735. v2 = buf
  2736. buf++
  2737. adler += uint64(*(*TBytef)(unsafe.Pointer(v2)))
  2738. sum2 += adler
  2739. }
  2740. if adler >= uint64(65521) {
  2741. adler -= uint64(65521)
  2742. }
  2743. sum2 %= uint64(65521) /* only added so many BASE's */
  2744. return adler | sum2<<int32(16)
  2745. }
  2746. /* do length NMAX blocks -- requires just one modulo operation */
  2747. for len1 >= uint64(m_NMAX) {
  2748. len1 -= uint64(m_NMAX)
  2749. n = libc.Uint32FromInt32(libc.Int32FromInt32(m_NMAX) / libc.Int32FromInt32(16)) /* NMAX is divisible by 16 */
  2750. for {
  2751. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  2752. sum2 += adler
  2753. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  2754. sum2 += adler
  2755. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  2756. sum2 += adler
  2757. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2758. sum2 += adler
  2759. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  2760. sum2 += adler
  2761. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  2762. sum2 += adler
  2763. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  2764. sum2 += adler
  2765. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2766. sum2 += adler
  2767. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  2768. sum2 += adler
  2769. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  2770. sum2 += adler
  2771. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  2772. sum2 += adler
  2773. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2774. sum2 += adler
  2775. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  2776. sum2 += adler
  2777. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  2778. sum2 += adler
  2779. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  2780. sum2 += adler
  2781. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2782. sum2 += adler /* 16 sums unrolled */
  2783. buf += uintptr(16)
  2784. goto _4
  2785. _4:
  2786. ;
  2787. n--
  2788. v3 = n
  2789. if !(v3 != 0) {
  2790. break
  2791. }
  2792. }
  2793. adler %= uint64(65521)
  2794. sum2 %= uint64(65521)
  2795. }
  2796. /* do remaining bytes (less than NMAX, still just one modulo) */
  2797. if len1 != 0 { /* avoid modulos if none remaining */
  2798. for len1 >= uint64(16) {
  2799. len1 -= uint64(16)
  2800. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  2801. sum2 += adler
  2802. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  2803. sum2 += adler
  2804. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  2805. sum2 += adler
  2806. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2807. sum2 += adler
  2808. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  2809. sum2 += adler
  2810. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  2811. sum2 += adler
  2812. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  2813. sum2 += adler
  2814. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2815. sum2 += adler
  2816. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  2817. sum2 += adler
  2818. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  2819. sum2 += adler
  2820. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  2821. sum2 += adler
  2822. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2823. sum2 += adler
  2824. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  2825. sum2 += adler
  2826. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  2827. sum2 += adler
  2828. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  2829. sum2 += adler
  2830. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  2831. sum2 += adler
  2832. buf += uintptr(16)
  2833. }
  2834. for {
  2835. v5 = len1
  2836. len1--
  2837. if !(v5 != 0) {
  2838. break
  2839. }
  2840. v6 = buf
  2841. buf++
  2842. adler += uint64(*(*TBytef)(unsafe.Pointer(v6)))
  2843. sum2 += adler
  2844. }
  2845. adler %= uint64(65521)
  2846. sum2 %= uint64(65521)
  2847. }
  2848. /* return recombined sums */
  2849. return adler | sum2<<int32(16)
  2850. }
  2851. // C documentation
  2852. //
  2853. // /* ========================================================================= */
  2854. func Xadler32(tls *libc.TLS, adler TuLong, buf uintptr, len1 TuInt) (r TuLong) {
  2855. return Xadler32_z(tls, adler, buf, uint64(len1))
  2856. }
  2857. // C documentation
  2858. //
  2859. // /* ========================================================================= */
  2860. func _adler32_combine_(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  2861. var rem uint32
  2862. var sum1, sum2 uint64
  2863. _, _, _ = rem, sum1, sum2
  2864. /* for negative len, return invalid adler32 as a clue for debugging */
  2865. if len2 < 0 {
  2866. return uint64(0xffffffff)
  2867. }
  2868. /* the derivation of this formula is left as an exercise for the reader */
  2869. len2 %= libc.Int64FromUint32(65521) /* assumes len2 >= 0 */
  2870. rem = libc.Uint32FromInt64(len2)
  2871. sum1 = adler1 & uint64(0xffff)
  2872. sum2 = uint64(rem) * sum1
  2873. sum2 %= uint64(65521)
  2874. sum1 += adler2&uint64(0xffff) + uint64(65521) - uint64(1)
  2875. sum2 += adler1>>libc.Int32FromInt32(16)&uint64(0xffff) + adler2>>libc.Int32FromInt32(16)&uint64(0xffff) + uint64(65521) - uint64(rem)
  2876. if sum1 >= uint64(65521) {
  2877. sum1 -= uint64(65521)
  2878. }
  2879. if sum1 >= uint64(65521) {
  2880. sum1 -= uint64(65521)
  2881. }
  2882. if sum2 >= libc.Uint64FromUint32(65521)<<libc.Int32FromInt32(1) {
  2883. sum2 -= libc.Uint64FromUint32(65521) << libc.Int32FromInt32(1)
  2884. }
  2885. if sum2 >= uint64(65521) {
  2886. sum2 -= uint64(65521)
  2887. }
  2888. return sum1 | sum2<<int32(16)
  2889. }
  2890. // C documentation
  2891. //
  2892. // /* ========================================================================= */
  2893. func Xadler32_combine(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  2894. return _adler32_combine_(tls, adler1, adler2, len2)
  2895. }
  2896. func Xadler32_combine64(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  2897. return _adler32_combine_(tls, adler1, adler2, len2)
  2898. }
  2899. const m_N = 5
  2900. const m_POLY = 3988292384
  2901. const m_W = 8
  2902. /* Reverse the bytes in a 32-bit value */
  2903. /*
  2904. A CRC of a message is computed on N braids of words in the message, where
  2905. each word consists of W bytes (4 or 8). If N is 3, for example, then three
  2906. running sparse CRCs are calculated respectively on each braid, at these
  2907. indices in the array of words: 0, 3, 6, ..., 1, 4, 7, ..., and 2, 5, 8, ...
  2908. This is done starting at a word boundary, and continues until as many blocks
  2909. of N * W bytes as are available have been processed. The results are combined
  2910. into a single CRC at the end. For this code, N must be in the range 1..6 and
  2911. W must be 4 or 8. The upper limit on N can be increased if desired by adding
  2912. more #if blocks, extending the patterns apparent in the code. In addition,
  2913. crc32.h would need to be regenerated, if the maximum N value is increased.
  2914. N and W are chosen empirically by benchmarking the execution time on a given
  2915. processor. The choices for N and W below were based on testing on Intel Kaby
  2916. Lake i7, AMD Ryzen 7, ARM Cortex-A57, Sparc64-VII, PowerPC POWER9, and MIPS64
  2917. Octeon II processors. The Intel, AMD, and ARM processors were all fastest
  2918. with N=5, W=8. The Sparc, PowerPC, and MIPS64 were all fastest at N=5, W=4.
  2919. They were all tested with either gcc or clang, all using the -O3 optimization
  2920. level. Your mileage may vary.
  2921. */
  2922. /* Define N */
  2923. /*
  2924. z_crc_t must be at least 32 bits. z_word_t must be at least as long as
  2925. z_crc_t. It is assumed here that z_word_t is either 32 bits or 64 bits, and
  2926. that bytes are eight bits.
  2927. */
  2928. // C documentation
  2929. //
  2930. // /*
  2931. // Define W and the associated z_word_t type. If W is not defined, then a
  2932. // braided calculation is not used, and the associated tables and code are not
  2933. // compiled.
  2934. // */
  2935. type Tz_word_t = uint64
  2936. /* If available, use the ARM processor CRC32 instruction. */
  2937. // C documentation
  2938. //
  2939. // /*
  2940. // Swap the bytes in a z_word_t to convert between little and big endian. Any
  2941. // self-respecting compiler will optimize this to a single machine byte-swap
  2942. // instruction, if one is available. This assumes that word_t is either 32 bits
  2943. // or 64 bits.
  2944. // */
  2945. func _byte_swap(tls *libc.TLS, word Tz_word_t) (r Tz_word_t) {
  2946. 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)
  2947. }
  2948. var _crc_table = [256]Tz_crc_t{
  2949. 1: uint32(0x77073096),
  2950. 2: uint32(0xee0e612c),
  2951. 3: uint32(0x990951ba),
  2952. 4: uint32(0x076dc419),
  2953. 5: uint32(0x706af48f),
  2954. 6: uint32(0xe963a535),
  2955. 7: uint32(0x9e6495a3),
  2956. 8: uint32(0x0edb8832),
  2957. 9: uint32(0x79dcb8a4),
  2958. 10: uint32(0xe0d5e91e),
  2959. 11: uint32(0x97d2d988),
  2960. 12: uint32(0x09b64c2b),
  2961. 13: uint32(0x7eb17cbd),
  2962. 14: uint32(0xe7b82d07),
  2963. 15: uint32(0x90bf1d91),
  2964. 16: uint32(0x1db71064),
  2965. 17: uint32(0x6ab020f2),
  2966. 18: uint32(0xf3b97148),
  2967. 19: uint32(0x84be41de),
  2968. 20: uint32(0x1adad47d),
  2969. 21: uint32(0x6ddde4eb),
  2970. 22: uint32(0xf4d4b551),
  2971. 23: uint32(0x83d385c7),
  2972. 24: uint32(0x136c9856),
  2973. 25: uint32(0x646ba8c0),
  2974. 26: uint32(0xfd62f97a),
  2975. 27: uint32(0x8a65c9ec),
  2976. 28: uint32(0x14015c4f),
  2977. 29: uint32(0x63066cd9),
  2978. 30: uint32(0xfa0f3d63),
  2979. 31: uint32(0x8d080df5),
  2980. 32: uint32(0x3b6e20c8),
  2981. 33: uint32(0x4c69105e),
  2982. 34: uint32(0xd56041e4),
  2983. 35: uint32(0xa2677172),
  2984. 36: uint32(0x3c03e4d1),
  2985. 37: uint32(0x4b04d447),
  2986. 38: uint32(0xd20d85fd),
  2987. 39: uint32(0xa50ab56b),
  2988. 40: uint32(0x35b5a8fa),
  2989. 41: uint32(0x42b2986c),
  2990. 42: uint32(0xdbbbc9d6),
  2991. 43: uint32(0xacbcf940),
  2992. 44: uint32(0x32d86ce3),
  2993. 45: uint32(0x45df5c75),
  2994. 46: uint32(0xdcd60dcf),
  2995. 47: uint32(0xabd13d59),
  2996. 48: uint32(0x26d930ac),
  2997. 49: uint32(0x51de003a),
  2998. 50: uint32(0xc8d75180),
  2999. 51: uint32(0xbfd06116),
  3000. 52: uint32(0x21b4f4b5),
  3001. 53: uint32(0x56b3c423),
  3002. 54: uint32(0xcfba9599),
  3003. 55: uint32(0xb8bda50f),
  3004. 56: uint32(0x2802b89e),
  3005. 57: uint32(0x5f058808),
  3006. 58: uint32(0xc60cd9b2),
  3007. 59: uint32(0xb10be924),
  3008. 60: uint32(0x2f6f7c87),
  3009. 61: uint32(0x58684c11),
  3010. 62: uint32(0xc1611dab),
  3011. 63: uint32(0xb6662d3d),
  3012. 64: uint32(0x76dc4190),
  3013. 65: uint32(0x01db7106),
  3014. 66: uint32(0x98d220bc),
  3015. 67: uint32(0xefd5102a),
  3016. 68: uint32(0x71b18589),
  3017. 69: uint32(0x06b6b51f),
  3018. 70: uint32(0x9fbfe4a5),
  3019. 71: uint32(0xe8b8d433),
  3020. 72: uint32(0x7807c9a2),
  3021. 73: uint32(0x0f00f934),
  3022. 74: uint32(0x9609a88e),
  3023. 75: uint32(0xe10e9818),
  3024. 76: uint32(0x7f6a0dbb),
  3025. 77: uint32(0x086d3d2d),
  3026. 78: uint32(0x91646c97),
  3027. 79: uint32(0xe6635c01),
  3028. 80: uint32(0x6b6b51f4),
  3029. 81: uint32(0x1c6c6162),
  3030. 82: uint32(0x856530d8),
  3031. 83: uint32(0xf262004e),
  3032. 84: uint32(0x6c0695ed),
  3033. 85: uint32(0x1b01a57b),
  3034. 86: uint32(0x8208f4c1),
  3035. 87: uint32(0xf50fc457),
  3036. 88: uint32(0x65b0d9c6),
  3037. 89: uint32(0x12b7e950),
  3038. 90: uint32(0x8bbeb8ea),
  3039. 91: uint32(0xfcb9887c),
  3040. 92: uint32(0x62dd1ddf),
  3041. 93: uint32(0x15da2d49),
  3042. 94: uint32(0x8cd37cf3),
  3043. 95: uint32(0xfbd44c65),
  3044. 96: uint32(0x4db26158),
  3045. 97: uint32(0x3ab551ce),
  3046. 98: uint32(0xa3bc0074),
  3047. 99: uint32(0xd4bb30e2),
  3048. 100: uint32(0x4adfa541),
  3049. 101: uint32(0x3dd895d7),
  3050. 102: uint32(0xa4d1c46d),
  3051. 103: uint32(0xd3d6f4fb),
  3052. 104: uint32(0x4369e96a),
  3053. 105: uint32(0x346ed9fc),
  3054. 106: uint32(0xad678846),
  3055. 107: uint32(0xda60b8d0),
  3056. 108: uint32(0x44042d73),
  3057. 109: uint32(0x33031de5),
  3058. 110: uint32(0xaa0a4c5f),
  3059. 111: uint32(0xdd0d7cc9),
  3060. 112: uint32(0x5005713c),
  3061. 113: uint32(0x270241aa),
  3062. 114: uint32(0xbe0b1010),
  3063. 115: uint32(0xc90c2086),
  3064. 116: uint32(0x5768b525),
  3065. 117: uint32(0x206f85b3),
  3066. 118: uint32(0xb966d409),
  3067. 119: uint32(0xce61e49f),
  3068. 120: uint32(0x5edef90e),
  3069. 121: uint32(0x29d9c998),
  3070. 122: uint32(0xb0d09822),
  3071. 123: uint32(0xc7d7a8b4),
  3072. 124: uint32(0x59b33d17),
  3073. 125: uint32(0x2eb40d81),
  3074. 126: uint32(0xb7bd5c3b),
  3075. 127: uint32(0xc0ba6cad),
  3076. 128: uint32(0xedb88320),
  3077. 129: uint32(0x9abfb3b6),
  3078. 130: uint32(0x03b6e20c),
  3079. 131: uint32(0x74b1d29a),
  3080. 132: uint32(0xead54739),
  3081. 133: uint32(0x9dd277af),
  3082. 134: uint32(0x04db2615),
  3083. 135: uint32(0x73dc1683),
  3084. 136: uint32(0xe3630b12),
  3085. 137: uint32(0x94643b84),
  3086. 138: uint32(0x0d6d6a3e),
  3087. 139: uint32(0x7a6a5aa8),
  3088. 140: uint32(0xe40ecf0b),
  3089. 141: uint32(0x9309ff9d),
  3090. 142: uint32(0x0a00ae27),
  3091. 143: uint32(0x7d079eb1),
  3092. 144: uint32(0xf00f9344),
  3093. 145: uint32(0x8708a3d2),
  3094. 146: uint32(0x1e01f268),
  3095. 147: uint32(0x6906c2fe),
  3096. 148: uint32(0xf762575d),
  3097. 149: uint32(0x806567cb),
  3098. 150: uint32(0x196c3671),
  3099. 151: uint32(0x6e6b06e7),
  3100. 152: uint32(0xfed41b76),
  3101. 153: uint32(0x89d32be0),
  3102. 154: uint32(0x10da7a5a),
  3103. 155: uint32(0x67dd4acc),
  3104. 156: uint32(0xf9b9df6f),
  3105. 157: uint32(0x8ebeeff9),
  3106. 158: uint32(0x17b7be43),
  3107. 159: uint32(0x60b08ed5),
  3108. 160: uint32(0xd6d6a3e8),
  3109. 161: uint32(0xa1d1937e),
  3110. 162: uint32(0x38d8c2c4),
  3111. 163: uint32(0x4fdff252),
  3112. 164: uint32(0xd1bb67f1),
  3113. 165: uint32(0xa6bc5767),
  3114. 166: uint32(0x3fb506dd),
  3115. 167: uint32(0x48b2364b),
  3116. 168: uint32(0xd80d2bda),
  3117. 169: uint32(0xaf0a1b4c),
  3118. 170: uint32(0x36034af6),
  3119. 171: uint32(0x41047a60),
  3120. 172: uint32(0xdf60efc3),
  3121. 173: uint32(0xa867df55),
  3122. 174: uint32(0x316e8eef),
  3123. 175: uint32(0x4669be79),
  3124. 176: uint32(0xcb61b38c),
  3125. 177: uint32(0xbc66831a),
  3126. 178: uint32(0x256fd2a0),
  3127. 179: uint32(0x5268e236),
  3128. 180: uint32(0xcc0c7795),
  3129. 181: uint32(0xbb0b4703),
  3130. 182: uint32(0x220216b9),
  3131. 183: uint32(0x5505262f),
  3132. 184: uint32(0xc5ba3bbe),
  3133. 185: uint32(0xb2bd0b28),
  3134. 186: uint32(0x2bb45a92),
  3135. 187: uint32(0x5cb36a04),
  3136. 188: uint32(0xc2d7ffa7),
  3137. 189: uint32(0xb5d0cf31),
  3138. 190: uint32(0x2cd99e8b),
  3139. 191: uint32(0x5bdeae1d),
  3140. 192: uint32(0x9b64c2b0),
  3141. 193: uint32(0xec63f226),
  3142. 194: uint32(0x756aa39c),
  3143. 195: uint32(0x026d930a),
  3144. 196: uint32(0x9c0906a9),
  3145. 197: uint32(0xeb0e363f),
  3146. 198: uint32(0x72076785),
  3147. 199: uint32(0x05005713),
  3148. 200: uint32(0x95bf4a82),
  3149. 201: uint32(0xe2b87a14),
  3150. 202: uint32(0x7bb12bae),
  3151. 203: uint32(0x0cb61b38),
  3152. 204: uint32(0x92d28e9b),
  3153. 205: uint32(0xe5d5be0d),
  3154. 206: uint32(0x7cdcefb7),
  3155. 207: uint32(0x0bdbdf21),
  3156. 208: uint32(0x86d3d2d4),
  3157. 209: uint32(0xf1d4e242),
  3158. 210: uint32(0x68ddb3f8),
  3159. 211: uint32(0x1fda836e),
  3160. 212: uint32(0x81be16cd),
  3161. 213: uint32(0xf6b9265b),
  3162. 214: uint32(0x6fb077e1),
  3163. 215: uint32(0x18b74777),
  3164. 216: uint32(0x88085ae6),
  3165. 217: uint32(0xff0f6a70),
  3166. 218: uint32(0x66063bca),
  3167. 219: uint32(0x11010b5c),
  3168. 220: uint32(0x8f659eff),
  3169. 221: uint32(0xf862ae69),
  3170. 222: uint32(0x616bffd3),
  3171. 223: uint32(0x166ccf45),
  3172. 224: uint32(0xa00ae278),
  3173. 225: uint32(0xd70dd2ee),
  3174. 226: uint32(0x4e048354),
  3175. 227: uint32(0x3903b3c2),
  3176. 228: uint32(0xa7672661),
  3177. 229: uint32(0xd06016f7),
  3178. 230: uint32(0x4969474d),
  3179. 231: uint32(0x3e6e77db),
  3180. 232: uint32(0xaed16a4a),
  3181. 233: uint32(0xd9d65adc),
  3182. 234: uint32(0x40df0b66),
  3183. 235: uint32(0x37d83bf0),
  3184. 236: uint32(0xa9bcae53),
  3185. 237: uint32(0xdebb9ec5),
  3186. 238: uint32(0x47b2cf7f),
  3187. 239: uint32(0x30b5ffe9),
  3188. 240: uint32(0xbdbdf21c),
  3189. 241: uint32(0xcabac28a),
  3190. 242: uint32(0x53b39330),
  3191. 243: uint32(0x24b4a3a6),
  3192. 244: uint32(0xbad03605),
  3193. 245: uint32(0xcdd70693),
  3194. 246: uint32(0x54de5729),
  3195. 247: uint32(0x23d967bf),
  3196. 248: uint32(0xb3667a2e),
  3197. 249: uint32(0xc4614ab8),
  3198. 250: uint32(0x5d681b02),
  3199. 251: uint32(0x2a6f2b94),
  3200. 252: uint32(0xb40bbe37),
  3201. 253: uint32(0xc30c8ea1),
  3202. 254: uint32(0x5a05df1b),
  3203. 255: uint32(0x2d02ef8d),
  3204. }
  3205. var _crc_big_table = [256]Tz_word_t{
  3206. 1: uint64(0x9630077700000000),
  3207. 2: uint64(0x2c610eee00000000),
  3208. 3: uint64(0xba51099900000000),
  3209. 4: uint64(0x19c46d0700000000),
  3210. 5: uint64(0x8ff46a7000000000),
  3211. 6: uint64(0x35a563e900000000),
  3212. 7: uint64(0xa395649e00000000),
  3213. 8: uint64(0x3288db0e00000000),
  3214. 9: uint64(0xa4b8dc7900000000),
  3215. 10: uint64(0x1ee9d5e000000000),
  3216. 11: uint64(0x88d9d29700000000),
  3217. 12: uint64(0x2b4cb60900000000),
  3218. 13: uint64(0xbd7cb17e00000000),
  3219. 14: uint64(0x072db8e700000000),
  3220. 15: uint64(0x911dbf9000000000),
  3221. 16: uint64(0x6410b71d00000000),
  3222. 17: uint64(0xf220b06a00000000),
  3223. 18: uint64(0x4871b9f300000000),
  3224. 19: uint64(0xde41be8400000000),
  3225. 20: uint64(0x7dd4da1a00000000),
  3226. 21: uint64(0xebe4dd6d00000000),
  3227. 22: uint64(0x51b5d4f400000000),
  3228. 23: uint64(0xc785d38300000000),
  3229. 24: uint64(0x56986c1300000000),
  3230. 25: uint64(0xc0a86b6400000000),
  3231. 26: uint64(0x7af962fd00000000),
  3232. 27: uint64(0xecc9658a00000000),
  3233. 28: uint64(0x4f5c011400000000),
  3234. 29: uint64(0xd96c066300000000),
  3235. 30: uint64(0x633d0ffa00000000),
  3236. 31: uint64(0xf50d088d00000000),
  3237. 32: uint64(0xc8206e3b00000000),
  3238. 33: uint64(0x5e10694c00000000),
  3239. 34: uint64(0xe44160d500000000),
  3240. 35: uint64(0x727167a200000000),
  3241. 36: uint64(0xd1e4033c00000000),
  3242. 37: uint64(0x47d4044b00000000),
  3243. 38: uint64(0xfd850dd200000000),
  3244. 39: uint64(0x6bb50aa500000000),
  3245. 40: uint64(0xfaa8b53500000000),
  3246. 41: uint64(0x6c98b24200000000),
  3247. 42: uint64(0xd6c9bbdb00000000),
  3248. 43: uint64(0x40f9bcac00000000),
  3249. 44: uint64(0xe36cd83200000000),
  3250. 45: uint64(0x755cdf4500000000),
  3251. 46: uint64(0xcf0dd6dc00000000),
  3252. 47: uint64(0x593dd1ab00000000),
  3253. 48: uint64(0xac30d92600000000),
  3254. 49: uint64(0x3a00de5100000000),
  3255. 50: uint64(0x8051d7c800000000),
  3256. 51: uint64(0x1661d0bf00000000),
  3257. 52: uint64(0xb5f4b42100000000),
  3258. 53: uint64(0x23c4b35600000000),
  3259. 54: uint64(0x9995bacf00000000),
  3260. 55: uint64(0x0fa5bdb800000000),
  3261. 56: uint64(0x9eb8022800000000),
  3262. 57: uint64(0x0888055f00000000),
  3263. 58: uint64(0xb2d90cc600000000),
  3264. 59: uint64(0x24e90bb100000000),
  3265. 60: uint64(0x877c6f2f00000000),
  3266. 61: uint64(0x114c685800000000),
  3267. 62: uint64(0xab1d61c100000000),
  3268. 63: uint64(0x3d2d66b600000000),
  3269. 64: uint64(0x9041dc7600000000),
  3270. 65: uint64(0x0671db0100000000),
  3271. 66: uint64(0xbc20d29800000000),
  3272. 67: uint64(0x2a10d5ef00000000),
  3273. 68: uint64(0x8985b17100000000),
  3274. 69: uint64(0x1fb5b60600000000),
  3275. 70: uint64(0xa5e4bf9f00000000),
  3276. 71: uint64(0x33d4b8e800000000),
  3277. 72: uint64(0xa2c9077800000000),
  3278. 73: uint64(0x34f9000f00000000),
  3279. 74: uint64(0x8ea8099600000000),
  3280. 75: uint64(0x18980ee100000000),
  3281. 76: uint64(0xbb0d6a7f00000000),
  3282. 77: uint64(0x2d3d6d0800000000),
  3283. 78: uint64(0x976c649100000000),
  3284. 79: uint64(0x015c63e600000000),
  3285. 80: uint64(0xf4516b6b00000000),
  3286. 81: uint64(0x62616c1c00000000),
  3287. 82: uint64(0xd830658500000000),
  3288. 83: uint64(0x4e0062f200000000),
  3289. 84: uint64(0xed95066c00000000),
  3290. 85: uint64(0x7ba5011b00000000),
  3291. 86: uint64(0xc1f4088200000000),
  3292. 87: uint64(0x57c40ff500000000),
  3293. 88: uint64(0xc6d9b06500000000),
  3294. 89: uint64(0x50e9b71200000000),
  3295. 90: uint64(0xeab8be8b00000000),
  3296. 91: uint64(0x7c88b9fc00000000),
  3297. 92: uint64(0xdf1ddd6200000000),
  3298. 93: uint64(0x492dda1500000000),
  3299. 94: uint64(0xf37cd38c00000000),
  3300. 95: uint64(0x654cd4fb00000000),
  3301. 96: uint64(0x5861b24d00000000),
  3302. 97: uint64(0xce51b53a00000000),
  3303. 98: uint64(0x7400bca300000000),
  3304. 99: uint64(0xe230bbd400000000),
  3305. 100: uint64(0x41a5df4a00000000),
  3306. 101: uint64(0xd795d83d00000000),
  3307. 102: uint64(0x6dc4d1a400000000),
  3308. 103: uint64(0xfbf4d6d300000000),
  3309. 104: uint64(0x6ae9694300000000),
  3310. 105: uint64(0xfcd96e3400000000),
  3311. 106: uint64(0x468867ad00000000),
  3312. 107: uint64(0xd0b860da00000000),
  3313. 108: uint64(0x732d044400000000),
  3314. 109: uint64(0xe51d033300000000),
  3315. 110: uint64(0x5f4c0aaa00000000),
  3316. 111: uint64(0xc97c0ddd00000000),
  3317. 112: uint64(0x3c71055000000000),
  3318. 113: uint64(0xaa41022700000000),
  3319. 114: uint64(0x10100bbe00000000),
  3320. 115: uint64(0x86200cc900000000),
  3321. 116: uint64(0x25b5685700000000),
  3322. 117: uint64(0xb3856f2000000000),
  3323. 118: uint64(0x09d466b900000000),
  3324. 119: uint64(0x9fe461ce00000000),
  3325. 120: uint64(0x0ef9de5e00000000),
  3326. 121: uint64(0x98c9d92900000000),
  3327. 122: uint64(0x2298d0b000000000),
  3328. 123: uint64(0xb4a8d7c700000000),
  3329. 124: uint64(0x173db35900000000),
  3330. 125: uint64(0x810db42e00000000),
  3331. 126: uint64(0x3b5cbdb700000000),
  3332. 127: uint64(0xad6cbac000000000),
  3333. 128: uint64(0x2083b8ed00000000),
  3334. 129: uint64(0xb6b3bf9a00000000),
  3335. 130: uint64(0x0ce2b60300000000),
  3336. 131: uint64(0x9ad2b17400000000),
  3337. 132: uint64(0x3947d5ea00000000),
  3338. 133: uint64(0xaf77d29d00000000),
  3339. 134: uint64(0x1526db0400000000),
  3340. 135: uint64(0x8316dc7300000000),
  3341. 136: uint64(0x120b63e300000000),
  3342. 137: uint64(0x843b649400000000),
  3343. 138: uint64(0x3e6a6d0d00000000),
  3344. 139: uint64(0xa85a6a7a00000000),
  3345. 140: uint64(0x0bcf0ee400000000),
  3346. 141: uint64(0x9dff099300000000),
  3347. 142: uint64(0x27ae000a00000000),
  3348. 143: uint64(0xb19e077d00000000),
  3349. 144: uint64(0x44930ff000000000),
  3350. 145: uint64(0xd2a3088700000000),
  3351. 146: uint64(0x68f2011e00000000),
  3352. 147: uint64(0xfec2066900000000),
  3353. 148: uint64(0x5d5762f700000000),
  3354. 149: uint64(0xcb67658000000000),
  3355. 150: uint64(0x71366c1900000000),
  3356. 151: uint64(0xe7066b6e00000000),
  3357. 152: uint64(0x761bd4fe00000000),
  3358. 153: uint64(0xe02bd38900000000),
  3359. 154: uint64(0x5a7ada1000000000),
  3360. 155: uint64(0xcc4add6700000000),
  3361. 156: uint64(0x6fdfb9f900000000),
  3362. 157: uint64(0xf9efbe8e00000000),
  3363. 158: uint64(0x43beb71700000000),
  3364. 159: uint64(0xd58eb06000000000),
  3365. 160: uint64(0xe8a3d6d600000000),
  3366. 161: uint64(0x7e93d1a100000000),
  3367. 162: uint64(0xc4c2d83800000000),
  3368. 163: uint64(0x52f2df4f00000000),
  3369. 164: uint64(0xf167bbd100000000),
  3370. 165: uint64(0x6757bca600000000),
  3371. 166: uint64(0xdd06b53f00000000),
  3372. 167: uint64(0x4b36b24800000000),
  3373. 168: uint64(0xda2b0dd800000000),
  3374. 169: uint64(0x4c1b0aaf00000000),
  3375. 170: uint64(0xf64a033600000000),
  3376. 171: uint64(0x607a044100000000),
  3377. 172: uint64(0xc3ef60df00000000),
  3378. 173: uint64(0x55df67a800000000),
  3379. 174: uint64(0xef8e6e3100000000),
  3380. 175: uint64(0x79be694600000000),
  3381. 176: uint64(0x8cb361cb00000000),
  3382. 177: uint64(0x1a8366bc00000000),
  3383. 178: uint64(0xa0d26f2500000000),
  3384. 179: uint64(0x36e2685200000000),
  3385. 180: uint64(0x95770ccc00000000),
  3386. 181: uint64(0x03470bbb00000000),
  3387. 182: uint64(0xb916022200000000),
  3388. 183: uint64(0x2f26055500000000),
  3389. 184: uint64(0xbe3bbac500000000),
  3390. 185: uint64(0x280bbdb200000000),
  3391. 186: uint64(0x925ab42b00000000),
  3392. 187: uint64(0x046ab35c00000000),
  3393. 188: uint64(0xa7ffd7c200000000),
  3394. 189: uint64(0x31cfd0b500000000),
  3395. 190: uint64(0x8b9ed92c00000000),
  3396. 191: uint64(0x1daede5b00000000),
  3397. 192: uint64(0xb0c2649b00000000),
  3398. 193: uint64(0x26f263ec00000000),
  3399. 194: uint64(0x9ca36a7500000000),
  3400. 195: uint64(0x0a936d0200000000),
  3401. 196: uint64(0xa906099c00000000),
  3402. 197: uint64(0x3f360eeb00000000),
  3403. 198: uint64(0x8567077200000000),
  3404. 199: uint64(0x1357000500000000),
  3405. 200: uint64(0x824abf9500000000),
  3406. 201: uint64(0x147ab8e200000000),
  3407. 202: uint64(0xae2bb17b00000000),
  3408. 203: uint64(0x381bb60c00000000),
  3409. 204: uint64(0x9b8ed29200000000),
  3410. 205: uint64(0x0dbed5e500000000),
  3411. 206: uint64(0xb7efdc7c00000000),
  3412. 207: uint64(0x21dfdb0b00000000),
  3413. 208: uint64(0xd4d2d38600000000),
  3414. 209: uint64(0x42e2d4f100000000),
  3415. 210: uint64(0xf8b3dd6800000000),
  3416. 211: uint64(0x6e83da1f00000000),
  3417. 212: uint64(0xcd16be8100000000),
  3418. 213: uint64(0x5b26b9f600000000),
  3419. 214: uint64(0xe177b06f00000000),
  3420. 215: uint64(0x7747b71800000000),
  3421. 216: uint64(0xe65a088800000000),
  3422. 217: uint64(0x706a0fff00000000),
  3423. 218: uint64(0xca3b066600000000),
  3424. 219: uint64(0x5c0b011100000000),
  3425. 220: uint64(0xff9e658f00000000),
  3426. 221: uint64(0x69ae62f800000000),
  3427. 222: uint64(0xd3ff6b6100000000),
  3428. 223: uint64(0x45cf6c1600000000),
  3429. 224: uint64(0x78e20aa000000000),
  3430. 225: uint64(0xeed20dd700000000),
  3431. 226: uint64(0x5483044e00000000),
  3432. 227: uint64(0xc2b3033900000000),
  3433. 228: uint64(0x612667a700000000),
  3434. 229: uint64(0xf71660d000000000),
  3435. 230: uint64(0x4d47694900000000),
  3436. 231: uint64(0xdb776e3e00000000),
  3437. 232: uint64(0x4a6ad1ae00000000),
  3438. 233: uint64(0xdc5ad6d900000000),
  3439. 234: uint64(0x660bdf4000000000),
  3440. 235: uint64(0xf03bd83700000000),
  3441. 236: uint64(0x53aebca900000000),
  3442. 237: uint64(0xc59ebbde00000000),
  3443. 238: uint64(0x7fcfb24700000000),
  3444. 239: uint64(0xe9ffb53000000000),
  3445. 240: uint64(0x1cf2bdbd00000000),
  3446. 241: uint64(0x8ac2baca00000000),
  3447. 242: uint64(0x3093b35300000000),
  3448. 243: uint64(0xa6a3b42400000000),
  3449. 244: uint64(0x0536d0ba00000000),
  3450. 245: uint64(0x9306d7cd00000000),
  3451. 246: uint64(0x2957de5400000000),
  3452. 247: uint64(0xbf67d92300000000),
  3453. 248: uint64(0x2e7a66b300000000),
  3454. 249: uint64(0xb84a61c400000000),
  3455. 250: uint64(0x021b685d00000000),
  3456. 251: uint64(0x942b6f2a00000000),
  3457. 252: uint64(0x37be0bb400000000),
  3458. 253: uint64(0xa18e0cc300000000),
  3459. 254: uint64(0x1bdf055a00000000),
  3460. 255: uint64(0x8def022d00000000),
  3461. }
  3462. var _crc_braid_table = [8][256]Tz_crc_t{
  3463. 0: {
  3464. 1: uint32(0xaf449247),
  3465. 2: uint32(0x85f822cf),
  3466. 3: uint32(0x2abcb088),
  3467. 4: uint32(0xd08143df),
  3468. 5: uint32(0x7fc5d198),
  3469. 6: uint32(0x55796110),
  3470. 7: uint32(0xfa3df357),
  3471. 8: uint32(0x7a7381ff),
  3472. 9: uint32(0xd53713b8),
  3473. 10: uint32(0xff8ba330),
  3474. 11: uint32(0x50cf3177),
  3475. 12: uint32(0xaaf2c220),
  3476. 13: uint32(0x05b65067),
  3477. 14: uint32(0x2f0ae0ef),
  3478. 15: uint32(0x804e72a8),
  3479. 16: uint32(0xf4e703fe),
  3480. 17: uint32(0x5ba391b9),
  3481. 18: uint32(0x711f2131),
  3482. 19: uint32(0xde5bb376),
  3483. 20: uint32(0x24664021),
  3484. 21: uint32(0x8b22d266),
  3485. 22: uint32(0xa19e62ee),
  3486. 23: uint32(0x0edaf0a9),
  3487. 24: uint32(0x8e948201),
  3488. 25: uint32(0x21d01046),
  3489. 26: uint32(0x0b6ca0ce),
  3490. 27: uint32(0xa4283289),
  3491. 28: uint32(0x5e15c1de),
  3492. 29: uint32(0xf1515399),
  3493. 30: uint32(0xdbede311),
  3494. 31: uint32(0x74a97156),
  3495. 32: uint32(0x32bf01bd),
  3496. 33: uint32(0x9dfb93fa),
  3497. 34: uint32(0xb7472372),
  3498. 35: uint32(0x1803b135),
  3499. 36: uint32(0xe23e4262),
  3500. 37: uint32(0x4d7ad025),
  3501. 38: uint32(0x67c660ad),
  3502. 39: uint32(0xc882f2ea),
  3503. 40: uint32(0x48cc8042),
  3504. 41: uint32(0xe7881205),
  3505. 42: uint32(0xcd34a28d),
  3506. 43: uint32(0x627030ca),
  3507. 44: uint32(0x984dc39d),
  3508. 45: uint32(0x370951da),
  3509. 46: uint32(0x1db5e152),
  3510. 47: uint32(0xb2f17315),
  3511. 48: uint32(0xc6580243),
  3512. 49: uint32(0x691c9004),
  3513. 50: uint32(0x43a0208c),
  3514. 51: uint32(0xece4b2cb),
  3515. 52: uint32(0x16d9419c),
  3516. 53: uint32(0xb99dd3db),
  3517. 54: uint32(0x93216353),
  3518. 55: uint32(0x3c65f114),
  3519. 56: uint32(0xbc2b83bc),
  3520. 57: uint32(0x136f11fb),
  3521. 58: uint32(0x39d3a173),
  3522. 59: uint32(0x96973334),
  3523. 60: uint32(0x6caac063),
  3524. 61: uint32(0xc3ee5224),
  3525. 62: uint32(0xe952e2ac),
  3526. 63: uint32(0x461670eb),
  3527. 64: uint32(0x657e037a),
  3528. 65: uint32(0xca3a913d),
  3529. 66: uint32(0xe08621b5),
  3530. 67: uint32(0x4fc2b3f2),
  3531. 68: uint32(0xb5ff40a5),
  3532. 69: uint32(0x1abbd2e2),
  3533. 70: uint32(0x3007626a),
  3534. 71: uint32(0x9f43f02d),
  3535. 72: uint32(0x1f0d8285),
  3536. 73: uint32(0xb04910c2),
  3537. 74: uint32(0x9af5a04a),
  3538. 75: uint32(0x35b1320d),
  3539. 76: uint32(0xcf8cc15a),
  3540. 77: uint32(0x60c8531d),
  3541. 78: uint32(0x4a74e395),
  3542. 79: uint32(0xe53071d2),
  3543. 80: uint32(0x91990084),
  3544. 81: uint32(0x3edd92c3),
  3545. 82: uint32(0x1461224b),
  3546. 83: uint32(0xbb25b00c),
  3547. 84: uint32(0x4118435b),
  3548. 85: uint32(0xee5cd11c),
  3549. 86: uint32(0xc4e06194),
  3550. 87: uint32(0x6ba4f3d3),
  3551. 88: uint32(0xebea817b),
  3552. 89: uint32(0x44ae133c),
  3553. 90: uint32(0x6e12a3b4),
  3554. 91: uint32(0xc15631f3),
  3555. 92: uint32(0x3b6bc2a4),
  3556. 93: uint32(0x942f50e3),
  3557. 94: uint32(0xbe93e06b),
  3558. 95: uint32(0x11d7722c),
  3559. 96: uint32(0x57c102c7),
  3560. 97: uint32(0xf8859080),
  3561. 98: uint32(0xd2392008),
  3562. 99: uint32(0x7d7db24f),
  3563. 100: uint32(0x87404118),
  3564. 101: uint32(0x2804d35f),
  3565. 102: uint32(0x02b863d7),
  3566. 103: uint32(0xadfcf190),
  3567. 104: uint32(0x2db28338),
  3568. 105: uint32(0x82f6117f),
  3569. 106: uint32(0xa84aa1f7),
  3570. 107: uint32(0x070e33b0),
  3571. 108: uint32(0xfd33c0e7),
  3572. 109: uint32(0x527752a0),
  3573. 110: uint32(0x78cbe228),
  3574. 111: uint32(0xd78f706f),
  3575. 112: uint32(0xa3260139),
  3576. 113: uint32(0x0c62937e),
  3577. 114: uint32(0x26de23f6),
  3578. 115: uint32(0x899ab1b1),
  3579. 116: uint32(0x73a742e6),
  3580. 117: uint32(0xdce3d0a1),
  3581. 118: uint32(0xf65f6029),
  3582. 119: uint32(0x591bf26e),
  3583. 120: uint32(0xd95580c6),
  3584. 121: uint32(0x76111281),
  3585. 122: uint32(0x5cada209),
  3586. 123: uint32(0xf3e9304e),
  3587. 124: uint32(0x09d4c319),
  3588. 125: uint32(0xa690515e),
  3589. 126: uint32(0x8c2ce1d6),
  3590. 127: uint32(0x23687391),
  3591. 128: uint32(0xcafc06f4),
  3592. 129: uint32(0x65b894b3),
  3593. 130: uint32(0x4f04243b),
  3594. 131: uint32(0xe040b67c),
  3595. 132: uint32(0x1a7d452b),
  3596. 133: uint32(0xb539d76c),
  3597. 134: uint32(0x9f8567e4),
  3598. 135: uint32(0x30c1f5a3),
  3599. 136: uint32(0xb08f870b),
  3600. 137: uint32(0x1fcb154c),
  3601. 138: uint32(0x3577a5c4),
  3602. 139: uint32(0x9a333783),
  3603. 140: uint32(0x600ec4d4),
  3604. 141: uint32(0xcf4a5693),
  3605. 142: uint32(0xe5f6e61b),
  3606. 143: uint32(0x4ab2745c),
  3607. 144: uint32(0x3e1b050a),
  3608. 145: uint32(0x915f974d),
  3609. 146: uint32(0xbbe327c5),
  3610. 147: uint32(0x14a7b582),
  3611. 148: uint32(0xee9a46d5),
  3612. 149: uint32(0x41ded492),
  3613. 150: uint32(0x6b62641a),
  3614. 151: uint32(0xc426f65d),
  3615. 152: uint32(0x446884f5),
  3616. 153: uint32(0xeb2c16b2),
  3617. 154: uint32(0xc190a63a),
  3618. 155: uint32(0x6ed4347d),
  3619. 156: uint32(0x94e9c72a),
  3620. 157: uint32(0x3bad556d),
  3621. 158: uint32(0x1111e5e5),
  3622. 159: uint32(0xbe5577a2),
  3623. 160: uint32(0xf8430749),
  3624. 161: uint32(0x5707950e),
  3625. 162: uint32(0x7dbb2586),
  3626. 163: uint32(0xd2ffb7c1),
  3627. 164: uint32(0x28c24496),
  3628. 165: uint32(0x8786d6d1),
  3629. 166: uint32(0xad3a6659),
  3630. 167: uint32(0x027ef41e),
  3631. 168: uint32(0x823086b6),
  3632. 169: uint32(0x2d7414f1),
  3633. 170: uint32(0x07c8a479),
  3634. 171: uint32(0xa88c363e),
  3635. 172: uint32(0x52b1c569),
  3636. 173: uint32(0xfdf5572e),
  3637. 174: uint32(0xd749e7a6),
  3638. 175: uint32(0x780d75e1),
  3639. 176: uint32(0x0ca404b7),
  3640. 177: uint32(0xa3e096f0),
  3641. 178: uint32(0x895c2678),
  3642. 179: uint32(0x2618b43f),
  3643. 180: uint32(0xdc254768),
  3644. 181: uint32(0x7361d52f),
  3645. 182: uint32(0x59dd65a7),
  3646. 183: uint32(0xf699f7e0),
  3647. 184: uint32(0x76d78548),
  3648. 185: uint32(0xd993170f),
  3649. 186: uint32(0xf32fa787),
  3650. 187: uint32(0x5c6b35c0),
  3651. 188: uint32(0xa656c697),
  3652. 189: uint32(0x091254d0),
  3653. 190: uint32(0x23aee458),
  3654. 191: uint32(0x8cea761f),
  3655. 192: uint32(0xaf82058e),
  3656. 193: uint32(0x00c697c9),
  3657. 194: uint32(0x2a7a2741),
  3658. 195: uint32(0x853eb506),
  3659. 196: uint32(0x7f034651),
  3660. 197: uint32(0xd047d416),
  3661. 198: uint32(0xfafb649e),
  3662. 199: uint32(0x55bff6d9),
  3663. 200: uint32(0xd5f18471),
  3664. 201: uint32(0x7ab51636),
  3665. 202: uint32(0x5009a6be),
  3666. 203: uint32(0xff4d34f9),
  3667. 204: uint32(0x0570c7ae),
  3668. 205: uint32(0xaa3455e9),
  3669. 206: uint32(0x8088e561),
  3670. 207: uint32(0x2fcc7726),
  3671. 208: uint32(0x5b650670),
  3672. 209: uint32(0xf4219437),
  3673. 210: uint32(0xde9d24bf),
  3674. 211: uint32(0x71d9b6f8),
  3675. 212: uint32(0x8be445af),
  3676. 213: uint32(0x24a0d7e8),
  3677. 214: uint32(0x0e1c6760),
  3678. 215: uint32(0xa158f527),
  3679. 216: uint32(0x2116878f),
  3680. 217: uint32(0x8e5215c8),
  3681. 218: uint32(0xa4eea540),
  3682. 219: uint32(0x0baa3707),
  3683. 220: uint32(0xf197c450),
  3684. 221: uint32(0x5ed35617),
  3685. 222: uint32(0x746fe69f),
  3686. 223: uint32(0xdb2b74d8),
  3687. 224: uint32(0x9d3d0433),
  3688. 225: uint32(0x32799674),
  3689. 226: uint32(0x18c526fc),
  3690. 227: uint32(0xb781b4bb),
  3691. 228: uint32(0x4dbc47ec),
  3692. 229: uint32(0xe2f8d5ab),
  3693. 230: uint32(0xc8446523),
  3694. 231: uint32(0x6700f764),
  3695. 232: uint32(0xe74e85cc),
  3696. 233: uint32(0x480a178b),
  3697. 234: uint32(0x62b6a703),
  3698. 235: uint32(0xcdf23544),
  3699. 236: uint32(0x37cfc613),
  3700. 237: uint32(0x988b5454),
  3701. 238: uint32(0xb237e4dc),
  3702. 239: uint32(0x1d73769b),
  3703. 240: uint32(0x69da07cd),
  3704. 241: uint32(0xc69e958a),
  3705. 242: uint32(0xec222502),
  3706. 243: uint32(0x4366b745),
  3707. 244: uint32(0xb95b4412),
  3708. 245: uint32(0x161fd655),
  3709. 246: uint32(0x3ca366dd),
  3710. 247: uint32(0x93e7f49a),
  3711. 248: uint32(0x13a98632),
  3712. 249: uint32(0xbced1475),
  3713. 250: uint32(0x9651a4fd),
  3714. 251: uint32(0x391536ba),
  3715. 252: uint32(0xc328c5ed),
  3716. 253: uint32(0x6c6c57aa),
  3717. 254: uint32(0x46d0e722),
  3718. 255: uint32(0xe9947565),
  3719. },
  3720. 1: {
  3721. 1: uint32(0x4e890ba9),
  3722. 2: uint32(0x9d121752),
  3723. 3: uint32(0xd39b1cfb),
  3724. 4: uint32(0xe15528e5),
  3725. 5: uint32(0xafdc234c),
  3726. 6: uint32(0x7c473fb7),
  3727. 7: uint32(0x32ce341e),
  3728. 8: uint32(0x19db578b),
  3729. 9: uint32(0x57525c22),
  3730. 10: uint32(0x84c940d9),
  3731. 11: uint32(0xca404b70),
  3732. 12: uint32(0xf88e7f6e),
  3733. 13: uint32(0xb60774c7),
  3734. 14: uint32(0x659c683c),
  3735. 15: uint32(0x2b156395),
  3736. 16: uint32(0x33b6af16),
  3737. 17: uint32(0x7d3fa4bf),
  3738. 18: uint32(0xaea4b844),
  3739. 19: uint32(0xe02db3ed),
  3740. 20: uint32(0xd2e387f3),
  3741. 21: uint32(0x9c6a8c5a),
  3742. 22: uint32(0x4ff190a1),
  3743. 23: uint32(0x01789b08),
  3744. 24: uint32(0x2a6df89d),
  3745. 25: uint32(0x64e4f334),
  3746. 26: uint32(0xb77fefcf),
  3747. 27: uint32(0xf9f6e466),
  3748. 28: uint32(0xcb38d078),
  3749. 29: uint32(0x85b1dbd1),
  3750. 30: uint32(0x562ac72a),
  3751. 31: uint32(0x18a3cc83),
  3752. 32: uint32(0x676d5e2c),
  3753. 33: uint32(0x29e45585),
  3754. 34: uint32(0xfa7f497e),
  3755. 35: uint32(0xb4f642d7),
  3756. 36: uint32(0x863876c9),
  3757. 37: uint32(0xc8b17d60),
  3758. 38: uint32(0x1b2a619b),
  3759. 39: uint32(0x55a36a32),
  3760. 40: uint32(0x7eb609a7),
  3761. 41: uint32(0x303f020e),
  3762. 42: uint32(0xe3a41ef5),
  3763. 43: uint32(0xad2d155c),
  3764. 44: uint32(0x9fe32142),
  3765. 45: uint32(0xd16a2aeb),
  3766. 46: uint32(0x02f13610),
  3767. 47: uint32(0x4c783db9),
  3768. 48: uint32(0x54dbf13a),
  3769. 49: uint32(0x1a52fa93),
  3770. 50: uint32(0xc9c9e668),
  3771. 51: uint32(0x8740edc1),
  3772. 52: uint32(0xb58ed9df),
  3773. 53: uint32(0xfb07d276),
  3774. 54: uint32(0x289cce8d),
  3775. 55: uint32(0x6615c524),
  3776. 56: uint32(0x4d00a6b1),
  3777. 57: uint32(0x0389ad18),
  3778. 58: uint32(0xd012b1e3),
  3779. 59: uint32(0x9e9bba4a),
  3780. 60: uint32(0xac558e54),
  3781. 61: uint32(0xe2dc85fd),
  3782. 62: uint32(0x31479906),
  3783. 63: uint32(0x7fce92af),
  3784. 64: uint32(0xcedabc58),
  3785. 65: uint32(0x8053b7f1),
  3786. 66: uint32(0x53c8ab0a),
  3787. 67: uint32(0x1d41a0a3),
  3788. 68: uint32(0x2f8f94bd),
  3789. 69: uint32(0x61069f14),
  3790. 70: uint32(0xb29d83ef),
  3791. 71: uint32(0xfc148846),
  3792. 72: uint32(0xd701ebd3),
  3793. 73: uint32(0x9988e07a),
  3794. 74: uint32(0x4a13fc81),
  3795. 75: uint32(0x049af728),
  3796. 76: uint32(0x3654c336),
  3797. 77: uint32(0x78ddc89f),
  3798. 78: uint32(0xab46d464),
  3799. 79: uint32(0xe5cfdfcd),
  3800. 80: uint32(0xfd6c134e),
  3801. 81: uint32(0xb3e518e7),
  3802. 82: uint32(0x607e041c),
  3803. 83: uint32(0x2ef70fb5),
  3804. 84: uint32(0x1c393bab),
  3805. 85: uint32(0x52b03002),
  3806. 86: uint32(0x812b2cf9),
  3807. 87: uint32(0xcfa22750),
  3808. 88: uint32(0xe4b744c5),
  3809. 89: uint32(0xaa3e4f6c),
  3810. 90: uint32(0x79a55397),
  3811. 91: uint32(0x372c583e),
  3812. 92: uint32(0x05e26c20),
  3813. 93: uint32(0x4b6b6789),
  3814. 94: uint32(0x98f07b72),
  3815. 95: uint32(0xd67970db),
  3816. 96: uint32(0xa9b7e274),
  3817. 97: uint32(0xe73ee9dd),
  3818. 98: uint32(0x34a5f526),
  3819. 99: uint32(0x7a2cfe8f),
  3820. 100: uint32(0x48e2ca91),
  3821. 101: uint32(0x066bc138),
  3822. 102: uint32(0xd5f0ddc3),
  3823. 103: uint32(0x9b79d66a),
  3824. 104: uint32(0xb06cb5ff),
  3825. 105: uint32(0xfee5be56),
  3826. 106: uint32(0x2d7ea2ad),
  3827. 107: uint32(0x63f7a904),
  3828. 108: uint32(0x51399d1a),
  3829. 109: uint32(0x1fb096b3),
  3830. 110: uint32(0xcc2b8a48),
  3831. 111: uint32(0x82a281e1),
  3832. 112: uint32(0x9a014d62),
  3833. 113: uint32(0xd48846cb),
  3834. 114: uint32(0x07135a30),
  3835. 115: uint32(0x499a5199),
  3836. 116: uint32(0x7b546587),
  3837. 117: uint32(0x35dd6e2e),
  3838. 118: uint32(0xe64672d5),
  3839. 119: uint32(0xa8cf797c),
  3840. 120: uint32(0x83da1ae9),
  3841. 121: uint32(0xcd531140),
  3842. 122: uint32(0x1ec80dbb),
  3843. 123: uint32(0x50410612),
  3844. 124: uint32(0x628f320c),
  3845. 125: uint32(0x2c0639a5),
  3846. 126: uint32(0xff9d255e),
  3847. 127: uint32(0xb1142ef7),
  3848. 128: uint32(0x46c47ef1),
  3849. 129: uint32(0x084d7558),
  3850. 130: uint32(0xdbd669a3),
  3851. 131: uint32(0x955f620a),
  3852. 132: uint32(0xa7915614),
  3853. 133: uint32(0xe9185dbd),
  3854. 134: uint32(0x3a834146),
  3855. 135: uint32(0x740a4aef),
  3856. 136: uint32(0x5f1f297a),
  3857. 137: uint32(0x119622d3),
  3858. 138: uint32(0xc20d3e28),
  3859. 139: uint32(0x8c843581),
  3860. 140: uint32(0xbe4a019f),
  3861. 141: uint32(0xf0c30a36),
  3862. 142: uint32(0x235816cd),
  3863. 143: uint32(0x6dd11d64),
  3864. 144: uint32(0x7572d1e7),
  3865. 145: uint32(0x3bfbda4e),
  3866. 146: uint32(0xe860c6b5),
  3867. 147: uint32(0xa6e9cd1c),
  3868. 148: uint32(0x9427f902),
  3869. 149: uint32(0xdaaef2ab),
  3870. 150: uint32(0x0935ee50),
  3871. 151: uint32(0x47bce5f9),
  3872. 152: uint32(0x6ca9866c),
  3873. 153: uint32(0x22208dc5),
  3874. 154: uint32(0xf1bb913e),
  3875. 155: uint32(0xbf329a97),
  3876. 156: uint32(0x8dfcae89),
  3877. 157: uint32(0xc375a520),
  3878. 158: uint32(0x10eeb9db),
  3879. 159: uint32(0x5e67b272),
  3880. 160: uint32(0x21a920dd),
  3881. 161: uint32(0x6f202b74),
  3882. 162: uint32(0xbcbb378f),
  3883. 163: uint32(0xf2323c26),
  3884. 164: uint32(0xc0fc0838),
  3885. 165: uint32(0x8e750391),
  3886. 166: uint32(0x5dee1f6a),
  3887. 167: uint32(0x136714c3),
  3888. 168: uint32(0x38727756),
  3889. 169: uint32(0x76fb7cff),
  3890. 170: uint32(0xa5606004),
  3891. 171: uint32(0xebe96bad),
  3892. 172: uint32(0xd9275fb3),
  3893. 173: uint32(0x97ae541a),
  3894. 174: uint32(0x443548e1),
  3895. 175: uint32(0x0abc4348),
  3896. 176: uint32(0x121f8fcb),
  3897. 177: uint32(0x5c968462),
  3898. 178: uint32(0x8f0d9899),
  3899. 179: uint32(0xc1849330),
  3900. 180: uint32(0xf34aa72e),
  3901. 181: uint32(0xbdc3ac87),
  3902. 182: uint32(0x6e58b07c),
  3903. 183: uint32(0x20d1bbd5),
  3904. 184: uint32(0x0bc4d840),
  3905. 185: uint32(0x454dd3e9),
  3906. 186: uint32(0x96d6cf12),
  3907. 187: uint32(0xd85fc4bb),
  3908. 188: uint32(0xea91f0a5),
  3909. 189: uint32(0xa418fb0c),
  3910. 190: uint32(0x7783e7f7),
  3911. 191: uint32(0x390aec5e),
  3912. 192: uint32(0x881ec2a9),
  3913. 193: uint32(0xc697c900),
  3914. 194: uint32(0x150cd5fb),
  3915. 195: uint32(0x5b85de52),
  3916. 196: uint32(0x694bea4c),
  3917. 197: uint32(0x27c2e1e5),
  3918. 198: uint32(0xf459fd1e),
  3919. 199: uint32(0xbad0f6b7),
  3920. 200: uint32(0x91c59522),
  3921. 201: uint32(0xdf4c9e8b),
  3922. 202: uint32(0x0cd78270),
  3923. 203: uint32(0x425e89d9),
  3924. 204: uint32(0x7090bdc7),
  3925. 205: uint32(0x3e19b66e),
  3926. 206: uint32(0xed82aa95),
  3927. 207: uint32(0xa30ba13c),
  3928. 208: uint32(0xbba86dbf),
  3929. 209: uint32(0xf5216616),
  3930. 210: uint32(0x26ba7aed),
  3931. 211: uint32(0x68337144),
  3932. 212: uint32(0x5afd455a),
  3933. 213: uint32(0x14744ef3),
  3934. 214: uint32(0xc7ef5208),
  3935. 215: uint32(0x896659a1),
  3936. 216: uint32(0xa2733a34),
  3937. 217: uint32(0xecfa319d),
  3938. 218: uint32(0x3f612d66),
  3939. 219: uint32(0x71e826cf),
  3940. 220: uint32(0x432612d1),
  3941. 221: uint32(0x0daf1978),
  3942. 222: uint32(0xde340583),
  3943. 223: uint32(0x90bd0e2a),
  3944. 224: uint32(0xef739c85),
  3945. 225: uint32(0xa1fa972c),
  3946. 226: uint32(0x72618bd7),
  3947. 227: uint32(0x3ce8807e),
  3948. 228: uint32(0x0e26b460),
  3949. 229: uint32(0x40afbfc9),
  3950. 230: uint32(0x9334a332),
  3951. 231: uint32(0xddbda89b),
  3952. 232: uint32(0xf6a8cb0e),
  3953. 233: uint32(0xb821c0a7),
  3954. 234: uint32(0x6bbadc5c),
  3955. 235: uint32(0x2533d7f5),
  3956. 236: uint32(0x17fde3eb),
  3957. 237: uint32(0x5974e842),
  3958. 238: uint32(0x8aeff4b9),
  3959. 239: uint32(0xc466ff10),
  3960. 240: uint32(0xdcc53393),
  3961. 241: uint32(0x924c383a),
  3962. 242: uint32(0x41d724c1),
  3963. 243: uint32(0x0f5e2f68),
  3964. 244: uint32(0x3d901b76),
  3965. 245: uint32(0x731910df),
  3966. 246: uint32(0xa0820c24),
  3967. 247: uint32(0xee0b078d),
  3968. 248: uint32(0xc51e6418),
  3969. 249: uint32(0x8b976fb1),
  3970. 250: uint32(0x580c734a),
  3971. 251: uint32(0x168578e3),
  3972. 252: uint32(0x244b4cfd),
  3973. 253: uint32(0x6ac24754),
  3974. 254: uint32(0xb9595baf),
  3975. 255: uint32(0xf7d05006),
  3976. },
  3977. 2: {
  3978. 1: uint32(0x8d88fde2),
  3979. 2: uint32(0xc060fd85),
  3980. 3: uint32(0x4de80067),
  3981. 4: uint32(0x5bb0fd4b),
  3982. 5: uint32(0xd63800a9),
  3983. 6: uint32(0x9bd000ce),
  3984. 7: uint32(0x1658fd2c),
  3985. 8: uint32(0xb761fa96),
  3986. 9: uint32(0x3ae90774),
  3987. 10: uint32(0x77010713),
  3988. 11: uint32(0xfa89faf1),
  3989. 12: uint32(0xecd107dd),
  3990. 13: uint32(0x6159fa3f),
  3991. 14: uint32(0x2cb1fa58),
  3992. 15: uint32(0xa13907ba),
  3993. 16: uint32(0xb5b2f36d),
  3994. 17: uint32(0x383a0e8f),
  3995. 18: uint32(0x75d20ee8),
  3996. 19: uint32(0xf85af30a),
  3997. 20: uint32(0xee020e26),
  3998. 21: uint32(0x638af3c4),
  3999. 22: uint32(0x2e62f3a3),
  4000. 23: uint32(0xa3ea0e41),
  4001. 24: uint32(0x02d309fb),
  4002. 25: uint32(0x8f5bf419),
  4003. 26: uint32(0xc2b3f47e),
  4004. 27: uint32(0x4f3b099c),
  4005. 28: uint32(0x5963f4b0),
  4006. 29: uint32(0xd4eb0952),
  4007. 30: uint32(0x99030935),
  4008. 31: uint32(0x148bf4d7),
  4009. 32: uint32(0xb014e09b),
  4010. 33: uint32(0x3d9c1d79),
  4011. 34: uint32(0x70741d1e),
  4012. 35: uint32(0xfdfce0fc),
  4013. 36: uint32(0xeba41dd0),
  4014. 37: uint32(0x662ce032),
  4015. 38: uint32(0x2bc4e055),
  4016. 39: uint32(0xa64c1db7),
  4017. 40: uint32(0x07751a0d),
  4018. 41: uint32(0x8afde7ef),
  4019. 42: uint32(0xc715e788),
  4020. 43: uint32(0x4a9d1a6a),
  4021. 44: uint32(0x5cc5e746),
  4022. 45: uint32(0xd14d1aa4),
  4023. 46: uint32(0x9ca51ac3),
  4024. 47: uint32(0x112de721),
  4025. 48: uint32(0x05a613f6),
  4026. 49: uint32(0x882eee14),
  4027. 50: uint32(0xc5c6ee73),
  4028. 51: uint32(0x484e1391),
  4029. 52: uint32(0x5e16eebd),
  4030. 53: uint32(0xd39e135f),
  4031. 54: uint32(0x9e761338),
  4032. 55: uint32(0x13feeeda),
  4033. 56: uint32(0xb2c7e960),
  4034. 57: uint32(0x3f4f1482),
  4035. 58: uint32(0x72a714e5),
  4036. 59: uint32(0xff2fe907),
  4037. 60: uint32(0xe977142b),
  4038. 61: uint32(0x64ffe9c9),
  4039. 62: uint32(0x2917e9ae),
  4040. 63: uint32(0xa49f144c),
  4041. 64: uint32(0xbb58c777),
  4042. 65: uint32(0x36d03a95),
  4043. 66: uint32(0x7b383af2),
  4044. 67: uint32(0xf6b0c710),
  4045. 68: uint32(0xe0e83a3c),
  4046. 69: uint32(0x6d60c7de),
  4047. 70: uint32(0x2088c7b9),
  4048. 71: uint32(0xad003a5b),
  4049. 72: uint32(0x0c393de1),
  4050. 73: uint32(0x81b1c003),
  4051. 74: uint32(0xcc59c064),
  4052. 75: uint32(0x41d13d86),
  4053. 76: uint32(0x5789c0aa),
  4054. 77: uint32(0xda013d48),
  4055. 78: uint32(0x97e93d2f),
  4056. 79: uint32(0x1a61c0cd),
  4057. 80: uint32(0x0eea341a),
  4058. 81: uint32(0x8362c9f8),
  4059. 82: uint32(0xce8ac99f),
  4060. 83: uint32(0x4302347d),
  4061. 84: uint32(0x555ac951),
  4062. 85: uint32(0xd8d234b3),
  4063. 86: uint32(0x953a34d4),
  4064. 87: uint32(0x18b2c936),
  4065. 88: uint32(0xb98bce8c),
  4066. 89: uint32(0x3403336e),
  4067. 90: uint32(0x79eb3309),
  4068. 91: uint32(0xf463ceeb),
  4069. 92: uint32(0xe23b33c7),
  4070. 93: uint32(0x6fb3ce25),
  4071. 94: uint32(0x225bce42),
  4072. 95: uint32(0xafd333a0),
  4073. 96: uint32(0x0b4c27ec),
  4074. 97: uint32(0x86c4da0e),
  4075. 98: uint32(0xcb2cda69),
  4076. 99: uint32(0x46a4278b),
  4077. 100: uint32(0x50fcdaa7),
  4078. 101: uint32(0xdd742745),
  4079. 102: uint32(0x909c2722),
  4080. 103: uint32(0x1d14dac0),
  4081. 104: uint32(0xbc2ddd7a),
  4082. 105: uint32(0x31a52098),
  4083. 106: uint32(0x7c4d20ff),
  4084. 107: uint32(0xf1c5dd1d),
  4085. 108: uint32(0xe79d2031),
  4086. 109: uint32(0x6a15ddd3),
  4087. 110: uint32(0x27fdddb4),
  4088. 111: uint32(0xaa752056),
  4089. 112: uint32(0xbefed481),
  4090. 113: uint32(0x33762963),
  4091. 114: uint32(0x7e9e2904),
  4092. 115: uint32(0xf316d4e6),
  4093. 116: uint32(0xe54e29ca),
  4094. 117: uint32(0x68c6d428),
  4095. 118: uint32(0x252ed44f),
  4096. 119: uint32(0xa8a629ad),
  4097. 120: uint32(0x099f2e17),
  4098. 121: uint32(0x8417d3f5),
  4099. 122: uint32(0xc9ffd392),
  4100. 123: uint32(0x44772e70),
  4101. 124: uint32(0x522fd35c),
  4102. 125: uint32(0xdfa72ebe),
  4103. 126: uint32(0x924f2ed9),
  4104. 127: uint32(0x1fc7d33b),
  4105. 128: uint32(0xadc088af),
  4106. 129: uint32(0x2048754d),
  4107. 130: uint32(0x6da0752a),
  4108. 131: uint32(0xe02888c8),
  4109. 132: uint32(0xf67075e4),
  4110. 133: uint32(0x7bf88806),
  4111. 134: uint32(0x36108861),
  4112. 135: uint32(0xbb987583),
  4113. 136: uint32(0x1aa17239),
  4114. 137: uint32(0x97298fdb),
  4115. 138: uint32(0xdac18fbc),
  4116. 139: uint32(0x5749725e),
  4117. 140: uint32(0x41118f72),
  4118. 141: uint32(0xcc997290),
  4119. 142: uint32(0x817172f7),
  4120. 143: uint32(0x0cf98f15),
  4121. 144: uint32(0x18727bc2),
  4122. 145: uint32(0x95fa8620),
  4123. 146: uint32(0xd8128647),
  4124. 147: uint32(0x559a7ba5),
  4125. 148: uint32(0x43c28689),
  4126. 149: uint32(0xce4a7b6b),
  4127. 150: uint32(0x83a27b0c),
  4128. 151: uint32(0x0e2a86ee),
  4129. 152: uint32(0xaf138154),
  4130. 153: uint32(0x229b7cb6),
  4131. 154: uint32(0x6f737cd1),
  4132. 155: uint32(0xe2fb8133),
  4133. 156: uint32(0xf4a37c1f),
  4134. 157: uint32(0x792b81fd),
  4135. 158: uint32(0x34c3819a),
  4136. 159: uint32(0xb94b7c78),
  4137. 160: uint32(0x1dd46834),
  4138. 161: uint32(0x905c95d6),
  4139. 162: uint32(0xddb495b1),
  4140. 163: uint32(0x503c6853),
  4141. 164: uint32(0x4664957f),
  4142. 165: uint32(0xcbec689d),
  4143. 166: uint32(0x860468fa),
  4144. 167: uint32(0x0b8c9518),
  4145. 168: uint32(0xaab592a2),
  4146. 169: uint32(0x273d6f40),
  4147. 170: uint32(0x6ad56f27),
  4148. 171: uint32(0xe75d92c5),
  4149. 172: uint32(0xf1056fe9),
  4150. 173: uint32(0x7c8d920b),
  4151. 174: uint32(0x3165926c),
  4152. 175: uint32(0xbced6f8e),
  4153. 176: uint32(0xa8669b59),
  4154. 177: uint32(0x25ee66bb),
  4155. 178: uint32(0x680666dc),
  4156. 179: uint32(0xe58e9b3e),
  4157. 180: uint32(0xf3d66612),
  4158. 181: uint32(0x7e5e9bf0),
  4159. 182: uint32(0x33b69b97),
  4160. 183: uint32(0xbe3e6675),
  4161. 184: uint32(0x1f0761cf),
  4162. 185: uint32(0x928f9c2d),
  4163. 186: uint32(0xdf679c4a),
  4164. 187: uint32(0x52ef61a8),
  4165. 188: uint32(0x44b79c84),
  4166. 189: uint32(0xc93f6166),
  4167. 190: uint32(0x84d76101),
  4168. 191: uint32(0x095f9ce3),
  4169. 192: uint32(0x16984fd8),
  4170. 193: uint32(0x9b10b23a),
  4171. 194: uint32(0xd6f8b25d),
  4172. 195: uint32(0x5b704fbf),
  4173. 196: uint32(0x4d28b293),
  4174. 197: uint32(0xc0a04f71),
  4175. 198: uint32(0x8d484f16),
  4176. 199: uint32(0x00c0b2f4),
  4177. 200: uint32(0xa1f9b54e),
  4178. 201: uint32(0x2c7148ac),
  4179. 202: uint32(0x619948cb),
  4180. 203: uint32(0xec11b529),
  4181. 204: uint32(0xfa494805),
  4182. 205: uint32(0x77c1b5e7),
  4183. 206: uint32(0x3a29b580),
  4184. 207: uint32(0xb7a14862),
  4185. 208: uint32(0xa32abcb5),
  4186. 209: uint32(0x2ea24157),
  4187. 210: uint32(0x634a4130),
  4188. 211: uint32(0xeec2bcd2),
  4189. 212: uint32(0xf89a41fe),
  4190. 213: uint32(0x7512bc1c),
  4191. 214: uint32(0x38fabc7b),
  4192. 215: uint32(0xb5724199),
  4193. 216: uint32(0x144b4623),
  4194. 217: uint32(0x99c3bbc1),
  4195. 218: uint32(0xd42bbba6),
  4196. 219: uint32(0x59a34644),
  4197. 220: uint32(0x4ffbbb68),
  4198. 221: uint32(0xc273468a),
  4199. 222: uint32(0x8f9b46ed),
  4200. 223: uint32(0x0213bb0f),
  4201. 224: uint32(0xa68caf43),
  4202. 225: uint32(0x2b0452a1),
  4203. 226: uint32(0x66ec52c6),
  4204. 227: uint32(0xeb64af24),
  4205. 228: uint32(0xfd3c5208),
  4206. 229: uint32(0x70b4afea),
  4207. 230: uint32(0x3d5caf8d),
  4208. 231: uint32(0xb0d4526f),
  4209. 232: uint32(0x11ed55d5),
  4210. 233: uint32(0x9c65a837),
  4211. 234: uint32(0xd18da850),
  4212. 235: uint32(0x5c0555b2),
  4213. 236: uint32(0x4a5da89e),
  4214. 237: uint32(0xc7d5557c),
  4215. 238: uint32(0x8a3d551b),
  4216. 239: uint32(0x07b5a8f9),
  4217. 240: uint32(0x133e5c2e),
  4218. 241: uint32(0x9eb6a1cc),
  4219. 242: uint32(0xd35ea1ab),
  4220. 243: uint32(0x5ed65c49),
  4221. 244: uint32(0x488ea165),
  4222. 245: uint32(0xc5065c87),
  4223. 246: uint32(0x88ee5ce0),
  4224. 247: uint32(0x0566a102),
  4225. 248: uint32(0xa45fa6b8),
  4226. 249: uint32(0x29d75b5a),
  4227. 250: uint32(0x643f5b3d),
  4228. 251: uint32(0xe9b7a6df),
  4229. 252: uint32(0xffef5bf3),
  4230. 253: uint32(0x7267a611),
  4231. 254: uint32(0x3f8fa676),
  4232. 255: uint32(0xb2075b94),
  4233. },
  4234. 3: {
  4235. 1: uint32(0x80f0171f),
  4236. 2: uint32(0xda91287f),
  4237. 3: uint32(0x5a613f60),
  4238. 4: uint32(0x6e5356bf),
  4239. 5: uint32(0xeea341a0),
  4240. 6: uint32(0xb4c27ec0),
  4241. 7: uint32(0x343269df),
  4242. 8: uint32(0xdca6ad7e),
  4243. 9: uint32(0x5c56ba61),
  4244. 10: uint32(0x06378501),
  4245. 11: uint32(0x86c7921e),
  4246. 12: uint32(0xb2f5fbc1),
  4247. 13: uint32(0x3205ecde),
  4248. 14: uint32(0x6864d3be),
  4249. 15: uint32(0xe894c4a1),
  4250. 16: uint32(0x623c5cbd),
  4251. 17: uint32(0xe2cc4ba2),
  4252. 18: uint32(0xb8ad74c2),
  4253. 19: uint32(0x385d63dd),
  4254. 20: uint32(0x0c6f0a02),
  4255. 21: uint32(0x8c9f1d1d),
  4256. 22: uint32(0xd6fe227d),
  4257. 23: uint32(0x560e3562),
  4258. 24: uint32(0xbe9af1c3),
  4259. 25: uint32(0x3e6ae6dc),
  4260. 26: uint32(0x640bd9bc),
  4261. 27: uint32(0xe4fbcea3),
  4262. 28: uint32(0xd0c9a77c),
  4263. 29: uint32(0x5039b063),
  4264. 30: uint32(0x0a588f03),
  4265. 31: uint32(0x8aa8981c),
  4266. 32: uint32(0xc478b97a),
  4267. 33: uint32(0x4488ae65),
  4268. 34: uint32(0x1ee99105),
  4269. 35: uint32(0x9e19861a),
  4270. 36: uint32(0xaa2befc5),
  4271. 37: uint32(0x2adbf8da),
  4272. 38: uint32(0x70bac7ba),
  4273. 39: uint32(0xf04ad0a5),
  4274. 40: uint32(0x18de1404),
  4275. 41: uint32(0x982e031b),
  4276. 42: uint32(0xc24f3c7b),
  4277. 43: uint32(0x42bf2b64),
  4278. 44: uint32(0x768d42bb),
  4279. 45: uint32(0xf67d55a4),
  4280. 46: uint32(0xac1c6ac4),
  4281. 47: uint32(0x2cec7ddb),
  4282. 48: uint32(0xa644e5c7),
  4283. 49: uint32(0x26b4f2d8),
  4284. 50: uint32(0x7cd5cdb8),
  4285. 51: uint32(0xfc25daa7),
  4286. 52: uint32(0xc817b378),
  4287. 53: uint32(0x48e7a467),
  4288. 54: uint32(0x12869b07),
  4289. 55: uint32(0x92768c18),
  4290. 56: uint32(0x7ae248b9),
  4291. 57: uint32(0xfa125fa6),
  4292. 58: uint32(0xa07360c6),
  4293. 59: uint32(0x208377d9),
  4294. 60: uint32(0x14b11e06),
  4295. 61: uint32(0x94410919),
  4296. 62: uint32(0xce203679),
  4297. 63: uint32(0x4ed02166),
  4298. 64: uint32(0x538074b5),
  4299. 65: uint32(0xd37063aa),
  4300. 66: uint32(0x89115cca),
  4301. 67: uint32(0x09e14bd5),
  4302. 68: uint32(0x3dd3220a),
  4303. 69: uint32(0xbd233515),
  4304. 70: uint32(0xe7420a75),
  4305. 71: uint32(0x67b21d6a),
  4306. 72: uint32(0x8f26d9cb),
  4307. 73: uint32(0x0fd6ced4),
  4308. 74: uint32(0x55b7f1b4),
  4309. 75: uint32(0xd547e6ab),
  4310. 76: uint32(0xe1758f74),
  4311. 77: uint32(0x6185986b),
  4312. 78: uint32(0x3be4a70b),
  4313. 79: uint32(0xbb14b014),
  4314. 80: uint32(0x31bc2808),
  4315. 81: uint32(0xb14c3f17),
  4316. 82: uint32(0xeb2d0077),
  4317. 83: uint32(0x6bdd1768),
  4318. 84: uint32(0x5fef7eb7),
  4319. 85: uint32(0xdf1f69a8),
  4320. 86: uint32(0x857e56c8),
  4321. 87: uint32(0x058e41d7),
  4322. 88: uint32(0xed1a8576),
  4323. 89: uint32(0x6dea9269),
  4324. 90: uint32(0x378bad09),
  4325. 91: uint32(0xb77bba16),
  4326. 92: uint32(0x8349d3c9),
  4327. 93: uint32(0x03b9c4d6),
  4328. 94: uint32(0x59d8fbb6),
  4329. 95: uint32(0xd928eca9),
  4330. 96: uint32(0x97f8cdcf),
  4331. 97: uint32(0x1708dad0),
  4332. 98: uint32(0x4d69e5b0),
  4333. 99: uint32(0xcd99f2af),
  4334. 100: uint32(0xf9ab9b70),
  4335. 101: uint32(0x795b8c6f),
  4336. 102: uint32(0x233ab30f),
  4337. 103: uint32(0xa3caa410),
  4338. 104: uint32(0x4b5e60b1),
  4339. 105: uint32(0xcbae77ae),
  4340. 106: uint32(0x91cf48ce),
  4341. 107: uint32(0x113f5fd1),
  4342. 108: uint32(0x250d360e),
  4343. 109: uint32(0xa5fd2111),
  4344. 110: uint32(0xff9c1e71),
  4345. 111: uint32(0x7f6c096e),
  4346. 112: uint32(0xf5c49172),
  4347. 113: uint32(0x7534866d),
  4348. 114: uint32(0x2f55b90d),
  4349. 115: uint32(0xafa5ae12),
  4350. 116: uint32(0x9b97c7cd),
  4351. 117: uint32(0x1b67d0d2),
  4352. 118: uint32(0x4106efb2),
  4353. 119: uint32(0xc1f6f8ad),
  4354. 120: uint32(0x29623c0c),
  4355. 121: uint32(0xa9922b13),
  4356. 122: uint32(0xf3f31473),
  4357. 123: uint32(0x7303036c),
  4358. 124: uint32(0x47316ab3),
  4359. 125: uint32(0xc7c17dac),
  4360. 126: uint32(0x9da042cc),
  4361. 127: uint32(0x1d5055d3),
  4362. 128: uint32(0xa700e96a),
  4363. 129: uint32(0x27f0fe75),
  4364. 130: uint32(0x7d91c115),
  4365. 131: uint32(0xfd61d60a),
  4366. 132: uint32(0xc953bfd5),
  4367. 133: uint32(0x49a3a8ca),
  4368. 134: uint32(0x13c297aa),
  4369. 135: uint32(0x933280b5),
  4370. 136: uint32(0x7ba64414),
  4371. 137: uint32(0xfb56530b),
  4372. 138: uint32(0xa1376c6b),
  4373. 139: uint32(0x21c77b74),
  4374. 140: uint32(0x15f512ab),
  4375. 141: uint32(0x950505b4),
  4376. 142: uint32(0xcf643ad4),
  4377. 143: uint32(0x4f942dcb),
  4378. 144: uint32(0xc53cb5d7),
  4379. 145: uint32(0x45cca2c8),
  4380. 146: uint32(0x1fad9da8),
  4381. 147: uint32(0x9f5d8ab7),
  4382. 148: uint32(0xab6fe368),
  4383. 149: uint32(0x2b9ff477),
  4384. 150: uint32(0x71fecb17),
  4385. 151: uint32(0xf10edc08),
  4386. 152: uint32(0x199a18a9),
  4387. 153: uint32(0x996a0fb6),
  4388. 154: uint32(0xc30b30d6),
  4389. 155: uint32(0x43fb27c9),
  4390. 156: uint32(0x77c94e16),
  4391. 157: uint32(0xf7395909),
  4392. 158: uint32(0xad586669),
  4393. 159: uint32(0x2da87176),
  4394. 160: uint32(0x63785010),
  4395. 161: uint32(0xe388470f),
  4396. 162: uint32(0xb9e9786f),
  4397. 163: uint32(0x39196f70),
  4398. 164: uint32(0x0d2b06af),
  4399. 165: uint32(0x8ddb11b0),
  4400. 166: uint32(0xd7ba2ed0),
  4401. 167: uint32(0x574a39cf),
  4402. 168: uint32(0xbfdefd6e),
  4403. 169: uint32(0x3f2eea71),
  4404. 170: uint32(0x654fd511),
  4405. 171: uint32(0xe5bfc20e),
  4406. 172: uint32(0xd18dabd1),
  4407. 173: uint32(0x517dbcce),
  4408. 174: uint32(0x0b1c83ae),
  4409. 175: uint32(0x8bec94b1),
  4410. 176: uint32(0x01440cad),
  4411. 177: uint32(0x81b41bb2),
  4412. 178: uint32(0xdbd524d2),
  4413. 179: uint32(0x5b2533cd),
  4414. 180: uint32(0x6f175a12),
  4415. 181: uint32(0xefe74d0d),
  4416. 182: uint32(0xb586726d),
  4417. 183: uint32(0x35766572),
  4418. 184: uint32(0xdde2a1d3),
  4419. 185: uint32(0x5d12b6cc),
  4420. 186: uint32(0x077389ac),
  4421. 187: uint32(0x87839eb3),
  4422. 188: uint32(0xb3b1f76c),
  4423. 189: uint32(0x3341e073),
  4424. 190: uint32(0x6920df13),
  4425. 191: uint32(0xe9d0c80c),
  4426. 192: uint32(0xf4809ddf),
  4427. 193: uint32(0x74708ac0),
  4428. 194: uint32(0x2e11b5a0),
  4429. 195: uint32(0xaee1a2bf),
  4430. 196: uint32(0x9ad3cb60),
  4431. 197: uint32(0x1a23dc7f),
  4432. 198: uint32(0x4042e31f),
  4433. 199: uint32(0xc0b2f400),
  4434. 200: uint32(0x282630a1),
  4435. 201: uint32(0xa8d627be),
  4436. 202: uint32(0xf2b718de),
  4437. 203: uint32(0x72470fc1),
  4438. 204: uint32(0x4675661e),
  4439. 205: uint32(0xc6857101),
  4440. 206: uint32(0x9ce44e61),
  4441. 207: uint32(0x1c14597e),
  4442. 208: uint32(0x96bcc162),
  4443. 209: uint32(0x164cd67d),
  4444. 210: uint32(0x4c2de91d),
  4445. 211: uint32(0xccddfe02),
  4446. 212: uint32(0xf8ef97dd),
  4447. 213: uint32(0x781f80c2),
  4448. 214: uint32(0x227ebfa2),
  4449. 215: uint32(0xa28ea8bd),
  4450. 216: uint32(0x4a1a6c1c),
  4451. 217: uint32(0xcaea7b03),
  4452. 218: uint32(0x908b4463),
  4453. 219: uint32(0x107b537c),
  4454. 220: uint32(0x24493aa3),
  4455. 221: uint32(0xa4b92dbc),
  4456. 222: uint32(0xfed812dc),
  4457. 223: uint32(0x7e2805c3),
  4458. 224: uint32(0x30f824a5),
  4459. 225: uint32(0xb00833ba),
  4460. 226: uint32(0xea690cda),
  4461. 227: uint32(0x6a991bc5),
  4462. 228: uint32(0x5eab721a),
  4463. 229: uint32(0xde5b6505),
  4464. 230: uint32(0x843a5a65),
  4465. 231: uint32(0x04ca4d7a),
  4466. 232: uint32(0xec5e89db),
  4467. 233: uint32(0x6cae9ec4),
  4468. 234: uint32(0x36cfa1a4),
  4469. 235: uint32(0xb63fb6bb),
  4470. 236: uint32(0x820ddf64),
  4471. 237: uint32(0x02fdc87b),
  4472. 238: uint32(0x589cf71b),
  4473. 239: uint32(0xd86ce004),
  4474. 240: uint32(0x52c47818),
  4475. 241: uint32(0xd2346f07),
  4476. 242: uint32(0x88555067),
  4477. 243: uint32(0x08a54778),
  4478. 244: uint32(0x3c972ea7),
  4479. 245: uint32(0xbc6739b8),
  4480. 246: uint32(0xe60606d8),
  4481. 247: uint32(0x66f611c7),
  4482. 248: uint32(0x8e62d566),
  4483. 249: uint32(0x0e92c279),
  4484. 250: uint32(0x54f3fd19),
  4485. 251: uint32(0xd403ea06),
  4486. 252: uint32(0xe03183d9),
  4487. 253: uint32(0x60c194c6),
  4488. 254: uint32(0x3aa0aba6),
  4489. 255: uint32(0xba50bcb9),
  4490. },
  4491. 4: {
  4492. 1: uint32(0x9570d495),
  4493. 2: uint32(0xf190af6b),
  4494. 3: uint32(0x64e07bfe),
  4495. 4: uint32(0x38505897),
  4496. 5: uint32(0xad208c02),
  4497. 6: uint32(0xc9c0f7fc),
  4498. 7: uint32(0x5cb02369),
  4499. 8: uint32(0x70a0b12e),
  4500. 9: uint32(0xe5d065bb),
  4501. 10: uint32(0x81301e45),
  4502. 11: uint32(0x1440cad0),
  4503. 12: uint32(0x48f0e9b9),
  4504. 13: uint32(0xdd803d2c),
  4505. 14: uint32(0xb96046d2),
  4506. 15: uint32(0x2c109247),
  4507. 16: uint32(0xe141625c),
  4508. 17: uint32(0x7431b6c9),
  4509. 18: uint32(0x10d1cd37),
  4510. 19: uint32(0x85a119a2),
  4511. 20: uint32(0xd9113acb),
  4512. 21: uint32(0x4c61ee5e),
  4513. 22: uint32(0x288195a0),
  4514. 23: uint32(0xbdf14135),
  4515. 24: uint32(0x91e1d372),
  4516. 25: uint32(0x049107e7),
  4517. 26: uint32(0x60717c19),
  4518. 27: uint32(0xf501a88c),
  4519. 28: uint32(0xa9b18be5),
  4520. 29: uint32(0x3cc15f70),
  4521. 30: uint32(0x5821248e),
  4522. 31: uint32(0xcd51f01b),
  4523. 32: uint32(0x19f3c2f9),
  4524. 33: uint32(0x8c83166c),
  4525. 34: uint32(0xe8636d92),
  4526. 35: uint32(0x7d13b907),
  4527. 36: uint32(0x21a39a6e),
  4528. 37: uint32(0xb4d34efb),
  4529. 38: uint32(0xd0333505),
  4530. 39: uint32(0x4543e190),
  4531. 40: uint32(0x695373d7),
  4532. 41: uint32(0xfc23a742),
  4533. 42: uint32(0x98c3dcbc),
  4534. 43: uint32(0x0db30829),
  4535. 44: uint32(0x51032b40),
  4536. 45: uint32(0xc473ffd5),
  4537. 46: uint32(0xa093842b),
  4538. 47: uint32(0x35e350be),
  4539. 48: uint32(0xf8b2a0a5),
  4540. 49: uint32(0x6dc27430),
  4541. 50: uint32(0x09220fce),
  4542. 51: uint32(0x9c52db5b),
  4543. 52: uint32(0xc0e2f832),
  4544. 53: uint32(0x55922ca7),
  4545. 54: uint32(0x31725759),
  4546. 55: uint32(0xa40283cc),
  4547. 56: uint32(0x8812118b),
  4548. 57: uint32(0x1d62c51e),
  4549. 58: uint32(0x7982bee0),
  4550. 59: uint32(0xecf26a75),
  4551. 60: uint32(0xb042491c),
  4552. 61: uint32(0x25329d89),
  4553. 62: uint32(0x41d2e677),
  4554. 63: uint32(0xd4a232e2),
  4555. 64: uint32(0x33e785f2),
  4556. 65: uint32(0xa6975167),
  4557. 66: uint32(0xc2772a99),
  4558. 67: uint32(0x5707fe0c),
  4559. 68: uint32(0x0bb7dd65),
  4560. 69: uint32(0x9ec709f0),
  4561. 70: uint32(0xfa27720e),
  4562. 71: uint32(0x6f57a69b),
  4563. 72: uint32(0x434734dc),
  4564. 73: uint32(0xd637e049),
  4565. 74: uint32(0xb2d79bb7),
  4566. 75: uint32(0x27a74f22),
  4567. 76: uint32(0x7b176c4b),
  4568. 77: uint32(0xee67b8de),
  4569. 78: uint32(0x8a87c320),
  4570. 79: uint32(0x1ff717b5),
  4571. 80: uint32(0xd2a6e7ae),
  4572. 81: uint32(0x47d6333b),
  4573. 82: uint32(0x233648c5),
  4574. 83: uint32(0xb6469c50),
  4575. 84: uint32(0xeaf6bf39),
  4576. 85: uint32(0x7f866bac),
  4577. 86: uint32(0x1b661052),
  4578. 87: uint32(0x8e16c4c7),
  4579. 88: uint32(0xa2065680),
  4580. 89: uint32(0x37768215),
  4581. 90: uint32(0x5396f9eb),
  4582. 91: uint32(0xc6e62d7e),
  4583. 92: uint32(0x9a560e17),
  4584. 93: uint32(0x0f26da82),
  4585. 94: uint32(0x6bc6a17c),
  4586. 95: uint32(0xfeb675e9),
  4587. 96: uint32(0x2a14470b),
  4588. 97: uint32(0xbf64939e),
  4589. 98: uint32(0xdb84e860),
  4590. 99: uint32(0x4ef43cf5),
  4591. 100: uint32(0x12441f9c),
  4592. 101: uint32(0x8734cb09),
  4593. 102: uint32(0xe3d4b0f7),
  4594. 103: uint32(0x76a46462),
  4595. 104: uint32(0x5ab4f625),
  4596. 105: uint32(0xcfc422b0),
  4597. 106: uint32(0xab24594e),
  4598. 107: uint32(0x3e548ddb),
  4599. 108: uint32(0x62e4aeb2),
  4600. 109: uint32(0xf7947a27),
  4601. 110: uint32(0x937401d9),
  4602. 111: uint32(0x0604d54c),
  4603. 112: uint32(0xcb552557),
  4604. 113: uint32(0x5e25f1c2),
  4605. 114: uint32(0x3ac58a3c),
  4606. 115: uint32(0xafb55ea9),
  4607. 116: uint32(0xf3057dc0),
  4608. 117: uint32(0x6675a955),
  4609. 118: uint32(0x0295d2ab),
  4610. 119: uint32(0x97e5063e),
  4611. 120: uint32(0xbbf59479),
  4612. 121: uint32(0x2e8540ec),
  4613. 122: uint32(0x4a653b12),
  4614. 123: uint32(0xdf15ef87),
  4615. 124: uint32(0x83a5ccee),
  4616. 125: uint32(0x16d5187b),
  4617. 126: uint32(0x72356385),
  4618. 127: uint32(0xe745b710),
  4619. 128: uint32(0x67cf0be4),
  4620. 129: uint32(0xf2bfdf71),
  4621. 130: uint32(0x965fa48f),
  4622. 131: uint32(0x032f701a),
  4623. 132: uint32(0x5f9f5373),
  4624. 133: uint32(0xcaef87e6),
  4625. 134: uint32(0xae0ffc18),
  4626. 135: uint32(0x3b7f288d),
  4627. 136: uint32(0x176fbaca),
  4628. 137: uint32(0x821f6e5f),
  4629. 138: uint32(0xe6ff15a1),
  4630. 139: uint32(0x738fc134),
  4631. 140: uint32(0x2f3fe25d),
  4632. 141: uint32(0xba4f36c8),
  4633. 142: uint32(0xdeaf4d36),
  4634. 143: uint32(0x4bdf99a3),
  4635. 144: uint32(0x868e69b8),
  4636. 145: uint32(0x13febd2d),
  4637. 146: uint32(0x771ec6d3),
  4638. 147: uint32(0xe26e1246),
  4639. 148: uint32(0xbede312f),
  4640. 149: uint32(0x2baee5ba),
  4641. 150: uint32(0x4f4e9e44),
  4642. 151: uint32(0xda3e4ad1),
  4643. 152: uint32(0xf62ed896),
  4644. 153: uint32(0x635e0c03),
  4645. 154: uint32(0x07be77fd),
  4646. 155: uint32(0x92cea368),
  4647. 156: uint32(0xce7e8001),
  4648. 157: uint32(0x5b0e5494),
  4649. 158: uint32(0x3fee2f6a),
  4650. 159: uint32(0xaa9efbff),
  4651. 160: uint32(0x7e3cc91d),
  4652. 161: uint32(0xeb4c1d88),
  4653. 162: uint32(0x8fac6676),
  4654. 163: uint32(0x1adcb2e3),
  4655. 164: uint32(0x466c918a),
  4656. 165: uint32(0xd31c451f),
  4657. 166: uint32(0xb7fc3ee1),
  4658. 167: uint32(0x228cea74),
  4659. 168: uint32(0x0e9c7833),
  4660. 169: uint32(0x9becaca6),
  4661. 170: uint32(0xff0cd758),
  4662. 171: uint32(0x6a7c03cd),
  4663. 172: uint32(0x36cc20a4),
  4664. 173: uint32(0xa3bcf431),
  4665. 174: uint32(0xc75c8fcf),
  4666. 175: uint32(0x522c5b5a),
  4667. 176: uint32(0x9f7dab41),
  4668. 177: uint32(0x0a0d7fd4),
  4669. 178: uint32(0x6eed042a),
  4670. 179: uint32(0xfb9dd0bf),
  4671. 180: uint32(0xa72df3d6),
  4672. 181: uint32(0x325d2743),
  4673. 182: uint32(0x56bd5cbd),
  4674. 183: uint32(0xc3cd8828),
  4675. 184: uint32(0xefdd1a6f),
  4676. 185: uint32(0x7aadcefa),
  4677. 186: uint32(0x1e4db504),
  4678. 187: uint32(0x8b3d6191),
  4679. 188: uint32(0xd78d42f8),
  4680. 189: uint32(0x42fd966d),
  4681. 190: uint32(0x261ded93),
  4682. 191: uint32(0xb36d3906),
  4683. 192: uint32(0x54288e16),
  4684. 193: uint32(0xc1585a83),
  4685. 194: uint32(0xa5b8217d),
  4686. 195: uint32(0x30c8f5e8),
  4687. 196: uint32(0x6c78d681),
  4688. 197: uint32(0xf9080214),
  4689. 198: uint32(0x9de879ea),
  4690. 199: uint32(0x0898ad7f),
  4691. 200: uint32(0x24883f38),
  4692. 201: uint32(0xb1f8ebad),
  4693. 202: uint32(0xd5189053),
  4694. 203: uint32(0x406844c6),
  4695. 204: uint32(0x1cd867af),
  4696. 205: uint32(0x89a8b33a),
  4697. 206: uint32(0xed48c8c4),
  4698. 207: uint32(0x78381c51),
  4699. 208: uint32(0xb569ec4a),
  4700. 209: uint32(0x201938df),
  4701. 210: uint32(0x44f94321),
  4702. 211: uint32(0xd18997b4),
  4703. 212: uint32(0x8d39b4dd),
  4704. 213: uint32(0x18496048),
  4705. 214: uint32(0x7ca91bb6),
  4706. 215: uint32(0xe9d9cf23),
  4707. 216: uint32(0xc5c95d64),
  4708. 217: uint32(0x50b989f1),
  4709. 218: uint32(0x3459f20f),
  4710. 219: uint32(0xa129269a),
  4711. 220: uint32(0xfd9905f3),
  4712. 221: uint32(0x68e9d166),
  4713. 222: uint32(0x0c09aa98),
  4714. 223: uint32(0x99797e0d),
  4715. 224: uint32(0x4ddb4cef),
  4716. 225: uint32(0xd8ab987a),
  4717. 226: uint32(0xbc4be384),
  4718. 227: uint32(0x293b3711),
  4719. 228: uint32(0x758b1478),
  4720. 229: uint32(0xe0fbc0ed),
  4721. 230: uint32(0x841bbb13),
  4722. 231: uint32(0x116b6f86),
  4723. 232: uint32(0x3d7bfdc1),
  4724. 233: uint32(0xa80b2954),
  4725. 234: uint32(0xcceb52aa),
  4726. 235: uint32(0x599b863f),
  4727. 236: uint32(0x052ba556),
  4728. 237: uint32(0x905b71c3),
  4729. 238: uint32(0xf4bb0a3d),
  4730. 239: uint32(0x61cbdea8),
  4731. 240: uint32(0xac9a2eb3),
  4732. 241: uint32(0x39eafa26),
  4733. 242: uint32(0x5d0a81d8),
  4734. 243: uint32(0xc87a554d),
  4735. 244: uint32(0x94ca7624),
  4736. 245: uint32(0x01baa2b1),
  4737. 246: uint32(0x655ad94f),
  4738. 247: uint32(0xf02a0dda),
  4739. 248: uint32(0xdc3a9f9d),
  4740. 249: uint32(0x494a4b08),
  4741. 250: uint32(0x2daa30f6),
  4742. 251: uint32(0xb8dae463),
  4743. 252: uint32(0xe46ac70a),
  4744. 253: uint32(0x711a139f),
  4745. 254: uint32(0x15fa6861),
  4746. 255: uint32(0x808abcf4),
  4747. },
  4748. 5: {
  4749. 1: uint32(0xcf9e17c8),
  4750. 2: uint32(0x444d29d1),
  4751. 3: uint32(0x8bd33e19),
  4752. 4: uint32(0x889a53a2),
  4753. 5: uint32(0x4704446a),
  4754. 6: uint32(0xccd77a73),
  4755. 7: uint32(0x03496dbb),
  4756. 8: uint32(0xca45a105),
  4757. 9: uint32(0x05dbb6cd),
  4758. 10: uint32(0x8e0888d4),
  4759. 11: uint32(0x41969f1c),
  4760. 12: uint32(0x42dff2a7),
  4761. 13: uint32(0x8d41e56f),
  4762. 14: uint32(0x0692db76),
  4763. 15: uint32(0xc90cccbe),
  4764. 16: uint32(0x4ffa444b),
  4765. 17: uint32(0x80645383),
  4766. 18: uint32(0x0bb76d9a),
  4767. 19: uint32(0xc4297a52),
  4768. 20: uint32(0xc76017e9),
  4769. 21: uint32(0x08fe0021),
  4770. 22: uint32(0x832d3e38),
  4771. 23: uint32(0x4cb329f0),
  4772. 24: uint32(0x85bfe54e),
  4773. 25: uint32(0x4a21f286),
  4774. 26: uint32(0xc1f2cc9f),
  4775. 27: uint32(0x0e6cdb57),
  4776. 28: uint32(0x0d25b6ec),
  4777. 29: uint32(0xc2bba124),
  4778. 30: uint32(0x49689f3d),
  4779. 31: uint32(0x86f688f5),
  4780. 32: uint32(0x9ff48896),
  4781. 33: uint32(0x506a9f5e),
  4782. 34: uint32(0xdbb9a147),
  4783. 35: uint32(0x1427b68f),
  4784. 36: uint32(0x176edb34),
  4785. 37: uint32(0xd8f0ccfc),
  4786. 38: uint32(0x5323f2e5),
  4787. 39: uint32(0x9cbde52d),
  4788. 40: uint32(0x55b12993),
  4789. 41: uint32(0x9a2f3e5b),
  4790. 42: uint32(0x11fc0042),
  4791. 43: uint32(0xde62178a),
  4792. 44: uint32(0xdd2b7a31),
  4793. 45: uint32(0x12b56df9),
  4794. 46: uint32(0x996653e0),
  4795. 47: uint32(0x56f84428),
  4796. 48: uint32(0xd00eccdd),
  4797. 49: uint32(0x1f90db15),
  4798. 50: uint32(0x9443e50c),
  4799. 51: uint32(0x5bddf2c4),
  4800. 52: uint32(0x58949f7f),
  4801. 53: uint32(0x970a88b7),
  4802. 54: uint32(0x1cd9b6ae),
  4803. 55: uint32(0xd347a166),
  4804. 56: uint32(0x1a4b6dd8),
  4805. 57: uint32(0xd5d57a10),
  4806. 58: uint32(0x5e064409),
  4807. 59: uint32(0x919853c1),
  4808. 60: uint32(0x92d13e7a),
  4809. 61: uint32(0x5d4f29b2),
  4810. 62: uint32(0xd69c17ab),
  4811. 63: uint32(0x19020063),
  4812. 64: uint32(0xe498176d),
  4813. 65: uint32(0x2b0600a5),
  4814. 66: uint32(0xa0d53ebc),
  4815. 67: uint32(0x6f4b2974),
  4816. 68: uint32(0x6c0244cf),
  4817. 69: uint32(0xa39c5307),
  4818. 70: uint32(0x284f6d1e),
  4819. 71: uint32(0xe7d17ad6),
  4820. 72: uint32(0x2eddb668),
  4821. 73: uint32(0xe143a1a0),
  4822. 74: uint32(0x6a909fb9),
  4823. 75: uint32(0xa50e8871),
  4824. 76: uint32(0xa647e5ca),
  4825. 77: uint32(0x69d9f202),
  4826. 78: uint32(0xe20acc1b),
  4827. 79: uint32(0x2d94dbd3),
  4828. 80: uint32(0xab625326),
  4829. 81: uint32(0x64fc44ee),
  4830. 82: uint32(0xef2f7af7),
  4831. 83: uint32(0x20b16d3f),
  4832. 84: uint32(0x23f80084),
  4833. 85: uint32(0xec66174c),
  4834. 86: uint32(0x67b52955),
  4835. 87: uint32(0xa82b3e9d),
  4836. 88: uint32(0x6127f223),
  4837. 89: uint32(0xaeb9e5eb),
  4838. 90: uint32(0x256adbf2),
  4839. 91: uint32(0xeaf4cc3a),
  4840. 92: uint32(0xe9bda181),
  4841. 93: uint32(0x2623b649),
  4842. 94: uint32(0xadf08850),
  4843. 95: uint32(0x626e9f98),
  4844. 96: uint32(0x7b6c9ffb),
  4845. 97: uint32(0xb4f28833),
  4846. 98: uint32(0x3f21b62a),
  4847. 99: uint32(0xf0bfa1e2),
  4848. 100: uint32(0xf3f6cc59),
  4849. 101: uint32(0x3c68db91),
  4850. 102: uint32(0xb7bbe588),
  4851. 103: uint32(0x7825f240),
  4852. 104: uint32(0xb1293efe),
  4853. 105: uint32(0x7eb72936),
  4854. 106: uint32(0xf564172f),
  4855. 107: uint32(0x3afa00e7),
  4856. 108: uint32(0x39b36d5c),
  4857. 109: uint32(0xf62d7a94),
  4858. 110: uint32(0x7dfe448d),
  4859. 111: uint32(0xb2605345),
  4860. 112: uint32(0x3496dbb0),
  4861. 113: uint32(0xfb08cc78),
  4862. 114: uint32(0x70dbf261),
  4863. 115: uint32(0xbf45e5a9),
  4864. 116: uint32(0xbc0c8812),
  4865. 117: uint32(0x73929fda),
  4866. 118: uint32(0xf841a1c3),
  4867. 119: uint32(0x37dfb60b),
  4868. 120: uint32(0xfed37ab5),
  4869. 121: uint32(0x314d6d7d),
  4870. 122: uint32(0xba9e5364),
  4871. 123: uint32(0x750044ac),
  4872. 124: uint32(0x76492917),
  4873. 125: uint32(0xb9d73edf),
  4874. 126: uint32(0x320400c6),
  4875. 127: uint32(0xfd9a170e),
  4876. 128: uint32(0x1241289b),
  4877. 129: uint32(0xdddf3f53),
  4878. 130: uint32(0x560c014a),
  4879. 131: uint32(0x99921682),
  4880. 132: uint32(0x9adb7b39),
  4881. 133: uint32(0x55456cf1),
  4882. 134: uint32(0xde9652e8),
  4883. 135: uint32(0x11084520),
  4884. 136: uint32(0xd804899e),
  4885. 137: uint32(0x179a9e56),
  4886. 138: uint32(0x9c49a04f),
  4887. 139: uint32(0x53d7b787),
  4888. 140: uint32(0x509eda3c),
  4889. 141: uint32(0x9f00cdf4),
  4890. 142: uint32(0x14d3f3ed),
  4891. 143: uint32(0xdb4de425),
  4892. 144: uint32(0x5dbb6cd0),
  4893. 145: uint32(0x92257b18),
  4894. 146: uint32(0x19f64501),
  4895. 147: uint32(0xd66852c9),
  4896. 148: uint32(0xd5213f72),
  4897. 149: uint32(0x1abf28ba),
  4898. 150: uint32(0x916c16a3),
  4899. 151: uint32(0x5ef2016b),
  4900. 152: uint32(0x97fecdd5),
  4901. 153: uint32(0x5860da1d),
  4902. 154: uint32(0xd3b3e404),
  4903. 155: uint32(0x1c2df3cc),
  4904. 156: uint32(0x1f649e77),
  4905. 157: uint32(0xd0fa89bf),
  4906. 158: uint32(0x5b29b7a6),
  4907. 159: uint32(0x94b7a06e),
  4908. 160: uint32(0x8db5a00d),
  4909. 161: uint32(0x422bb7c5),
  4910. 162: uint32(0xc9f889dc),
  4911. 163: uint32(0x06669e14),
  4912. 164: uint32(0x052ff3af),
  4913. 165: uint32(0xcab1e467),
  4914. 166: uint32(0x4162da7e),
  4915. 167: uint32(0x8efccdb6),
  4916. 168: uint32(0x47f00108),
  4917. 169: uint32(0x886e16c0),
  4918. 170: uint32(0x03bd28d9),
  4919. 171: uint32(0xcc233f11),
  4920. 172: uint32(0xcf6a52aa),
  4921. 173: uint32(0x00f44562),
  4922. 174: uint32(0x8b277b7b),
  4923. 175: uint32(0x44b96cb3),
  4924. 176: uint32(0xc24fe446),
  4925. 177: uint32(0x0dd1f38e),
  4926. 178: uint32(0x8602cd97),
  4927. 179: uint32(0x499cda5f),
  4928. 180: uint32(0x4ad5b7e4),
  4929. 181: uint32(0x854ba02c),
  4930. 182: uint32(0x0e989e35),
  4931. 183: uint32(0xc10689fd),
  4932. 184: uint32(0x080a4543),
  4933. 185: uint32(0xc794528b),
  4934. 186: uint32(0x4c476c92),
  4935. 187: uint32(0x83d97b5a),
  4936. 188: uint32(0x809016e1),
  4937. 189: uint32(0x4f0e0129),
  4938. 190: uint32(0xc4dd3f30),
  4939. 191: uint32(0x0b4328f8),
  4940. 192: uint32(0xf6d93ff6),
  4941. 193: uint32(0x3947283e),
  4942. 194: uint32(0xb2941627),
  4943. 195: uint32(0x7d0a01ef),
  4944. 196: uint32(0x7e436c54),
  4945. 197: uint32(0xb1dd7b9c),
  4946. 198: uint32(0x3a0e4585),
  4947. 199: uint32(0xf590524d),
  4948. 200: uint32(0x3c9c9ef3),
  4949. 201: uint32(0xf302893b),
  4950. 202: uint32(0x78d1b722),
  4951. 203: uint32(0xb74fa0ea),
  4952. 204: uint32(0xb406cd51),
  4953. 205: uint32(0x7b98da99),
  4954. 206: uint32(0xf04be480),
  4955. 207: uint32(0x3fd5f348),
  4956. 208: uint32(0xb9237bbd),
  4957. 209: uint32(0x76bd6c75),
  4958. 210: uint32(0xfd6e526c),
  4959. 211: uint32(0x32f045a4),
  4960. 212: uint32(0x31b9281f),
  4961. 213: uint32(0xfe273fd7),
  4962. 214: uint32(0x75f401ce),
  4963. 215: uint32(0xba6a1606),
  4964. 216: uint32(0x7366dab8),
  4965. 217: uint32(0xbcf8cd70),
  4966. 218: uint32(0x372bf369),
  4967. 219: uint32(0xf8b5e4a1),
  4968. 220: uint32(0xfbfc891a),
  4969. 221: uint32(0x34629ed2),
  4970. 222: uint32(0xbfb1a0cb),
  4971. 223: uint32(0x702fb703),
  4972. 224: uint32(0x692db760),
  4973. 225: uint32(0xa6b3a0a8),
  4974. 226: uint32(0x2d609eb1),
  4975. 227: uint32(0xe2fe8979),
  4976. 228: uint32(0xe1b7e4c2),
  4977. 229: uint32(0x2e29f30a),
  4978. 230: uint32(0xa5facd13),
  4979. 231: uint32(0x6a64dadb),
  4980. 232: uint32(0xa3681665),
  4981. 233: uint32(0x6cf601ad),
  4982. 234: uint32(0xe7253fb4),
  4983. 235: uint32(0x28bb287c),
  4984. 236: uint32(0x2bf245c7),
  4985. 237: uint32(0xe46c520f),
  4986. 238: uint32(0x6fbf6c16),
  4987. 239: uint32(0xa0217bde),
  4988. 240: uint32(0x26d7f32b),
  4989. 241: uint32(0xe949e4e3),
  4990. 242: uint32(0x629adafa),
  4991. 243: uint32(0xad04cd32),
  4992. 244: uint32(0xae4da089),
  4993. 245: uint32(0x61d3b741),
  4994. 246: uint32(0xea008958),
  4995. 247: uint32(0x259e9e90),
  4996. 248: uint32(0xec92522e),
  4997. 249: uint32(0x230c45e6),
  4998. 250: uint32(0xa8df7bff),
  4999. 251: uint32(0x67416c37),
  5000. 252: uint32(0x6408018c),
  5001. 253: uint32(0xab961644),
  5002. 254: uint32(0x2045285d),
  5003. 255: uint32(0xefdb3f95),
  5004. },
  5005. 6: {
  5006. 1: uint32(0x24825136),
  5007. 2: uint32(0x4904a26c),
  5008. 3: uint32(0x6d86f35a),
  5009. 4: uint32(0x920944d8),
  5010. 5: uint32(0xb68b15ee),
  5011. 6: uint32(0xdb0de6b4),
  5012. 7: uint32(0xff8fb782),
  5013. 8: uint32(0xff638ff1),
  5014. 9: uint32(0xdbe1dec7),
  5015. 10: uint32(0xb6672d9d),
  5016. 11: uint32(0x92e57cab),
  5017. 12: uint32(0x6d6acb29),
  5018. 13: uint32(0x49e89a1f),
  5019. 14: uint32(0x246e6945),
  5020. 15: uint32(0x00ec3873),
  5021. 16: uint32(0x25b619a3),
  5022. 17: uint32(0x01344895),
  5023. 18: uint32(0x6cb2bbcf),
  5024. 19: uint32(0x4830eaf9),
  5025. 20: uint32(0xb7bf5d7b),
  5026. 21: uint32(0x933d0c4d),
  5027. 22: uint32(0xfebbff17),
  5028. 23: uint32(0xda39ae21),
  5029. 24: uint32(0xdad59652),
  5030. 25: uint32(0xfe57c764),
  5031. 26: uint32(0x93d1343e),
  5032. 27: uint32(0xb7536508),
  5033. 28: uint32(0x48dcd28a),
  5034. 29: uint32(0x6c5e83bc),
  5035. 30: uint32(0x01d870e6),
  5036. 31: uint32(0x255a21d0),
  5037. 32: uint32(0x4b6c3346),
  5038. 33: uint32(0x6fee6270),
  5039. 34: uint32(0x0268912a),
  5040. 35: uint32(0x26eac01c),
  5041. 36: uint32(0xd965779e),
  5042. 37: uint32(0xfde726a8),
  5043. 38: uint32(0x9061d5f2),
  5044. 39: uint32(0xb4e384c4),
  5045. 40: uint32(0xb40fbcb7),
  5046. 41: uint32(0x908ded81),
  5047. 42: uint32(0xfd0b1edb),
  5048. 43: uint32(0xd9894fed),
  5049. 44: uint32(0x2606f86f),
  5050. 45: uint32(0x0284a959),
  5051. 46: uint32(0x6f025a03),
  5052. 47: uint32(0x4b800b35),
  5053. 48: uint32(0x6eda2ae5),
  5054. 49: uint32(0x4a587bd3),
  5055. 50: uint32(0x27de8889),
  5056. 51: uint32(0x035cd9bf),
  5057. 52: uint32(0xfcd36e3d),
  5058. 53: uint32(0xd8513f0b),
  5059. 54: uint32(0xb5d7cc51),
  5060. 55: uint32(0x91559d67),
  5061. 56: uint32(0x91b9a514),
  5062. 57: uint32(0xb53bf422),
  5063. 58: uint32(0xd8bd0778),
  5064. 59: uint32(0xfc3f564e),
  5065. 60: uint32(0x03b0e1cc),
  5066. 61: uint32(0x2732b0fa),
  5067. 62: uint32(0x4ab443a0),
  5068. 63: uint32(0x6e361296),
  5069. 64: uint32(0x96d8668c),
  5070. 65: uint32(0xb25a37ba),
  5071. 66: uint32(0xdfdcc4e0),
  5072. 67: uint32(0xfb5e95d6),
  5073. 68: uint32(0x04d12254),
  5074. 69: uint32(0x20537362),
  5075. 70: uint32(0x4dd58038),
  5076. 71: uint32(0x6957d10e),
  5077. 72: uint32(0x69bbe97d),
  5078. 73: uint32(0x4d39b84b),
  5079. 74: uint32(0x20bf4b11),
  5080. 75: uint32(0x043d1a27),
  5081. 76: uint32(0xfbb2ada5),
  5082. 77: uint32(0xdf30fc93),
  5083. 78: uint32(0xb2b60fc9),
  5084. 79: uint32(0x96345eff),
  5085. 80: uint32(0xb36e7f2f),
  5086. 81: uint32(0x97ec2e19),
  5087. 82: uint32(0xfa6add43),
  5088. 83: uint32(0xdee88c75),
  5089. 84: uint32(0x21673bf7),
  5090. 85: uint32(0x05e56ac1),
  5091. 86: uint32(0x6863999b),
  5092. 87: uint32(0x4ce1c8ad),
  5093. 88: uint32(0x4c0df0de),
  5094. 89: uint32(0x688fa1e8),
  5095. 90: uint32(0x050952b2),
  5096. 91: uint32(0x218b0384),
  5097. 92: uint32(0xde04b406),
  5098. 93: uint32(0xfa86e530),
  5099. 94: uint32(0x9700166a),
  5100. 95: uint32(0xb382475c),
  5101. 96: uint32(0xddb455ca),
  5102. 97: uint32(0xf93604fc),
  5103. 98: uint32(0x94b0f7a6),
  5104. 99: uint32(0xb032a690),
  5105. 100: uint32(0x4fbd1112),
  5106. 101: uint32(0x6b3f4024),
  5107. 102: uint32(0x06b9b37e),
  5108. 103: uint32(0x223be248),
  5109. 104: uint32(0x22d7da3b),
  5110. 105: uint32(0x06558b0d),
  5111. 106: uint32(0x6bd37857),
  5112. 107: uint32(0x4f512961),
  5113. 108: uint32(0xb0de9ee3),
  5114. 109: uint32(0x945ccfd5),
  5115. 110: uint32(0xf9da3c8f),
  5116. 111: uint32(0xdd586db9),
  5117. 112: uint32(0xf8024c69),
  5118. 113: uint32(0xdc801d5f),
  5119. 114: uint32(0xb106ee05),
  5120. 115: uint32(0x9584bf33),
  5121. 116: uint32(0x6a0b08b1),
  5122. 117: uint32(0x4e895987),
  5123. 118: uint32(0x230faadd),
  5124. 119: uint32(0x078dfbeb),
  5125. 120: uint32(0x0761c398),
  5126. 121: uint32(0x23e392ae),
  5127. 122: uint32(0x4e6561f4),
  5128. 123: uint32(0x6ae730c2),
  5129. 124: uint32(0x95688740),
  5130. 125: uint32(0xb1ead676),
  5131. 126: uint32(0xdc6c252c),
  5132. 127: uint32(0xf8ee741a),
  5133. 128: uint32(0xf6c1cb59),
  5134. 129: uint32(0xd2439a6f),
  5135. 130: uint32(0xbfc56935),
  5136. 131: uint32(0x9b473803),
  5137. 132: uint32(0x64c88f81),
  5138. 133: uint32(0x404adeb7),
  5139. 134: uint32(0x2dcc2ded),
  5140. 135: uint32(0x094e7cdb),
  5141. 136: uint32(0x09a244a8),
  5142. 137: uint32(0x2d20159e),
  5143. 138: uint32(0x40a6e6c4),
  5144. 139: uint32(0x6424b7f2),
  5145. 140: uint32(0x9bab0070),
  5146. 141: uint32(0xbf295146),
  5147. 142: uint32(0xd2afa21c),
  5148. 143: uint32(0xf62df32a),
  5149. 144: uint32(0xd377d2fa),
  5150. 145: uint32(0xf7f583cc),
  5151. 146: uint32(0x9a737096),
  5152. 147: uint32(0xbef121a0),
  5153. 148: uint32(0x417e9622),
  5154. 149: uint32(0x65fcc714),
  5155. 150: uint32(0x087a344e),
  5156. 151: uint32(0x2cf86578),
  5157. 152: uint32(0x2c145d0b),
  5158. 153: uint32(0x08960c3d),
  5159. 154: uint32(0x6510ff67),
  5160. 155: uint32(0x4192ae51),
  5161. 156: uint32(0xbe1d19d3),
  5162. 157: uint32(0x9a9f48e5),
  5163. 158: uint32(0xf719bbbf),
  5164. 159: uint32(0xd39bea89),
  5165. 160: uint32(0xbdadf81f),
  5166. 161: uint32(0x992fa929),
  5167. 162: uint32(0xf4a95a73),
  5168. 163: uint32(0xd02b0b45),
  5169. 164: uint32(0x2fa4bcc7),
  5170. 165: uint32(0x0b26edf1),
  5171. 166: uint32(0x66a01eab),
  5172. 167: uint32(0x42224f9d),
  5173. 168: uint32(0x42ce77ee),
  5174. 169: uint32(0x664c26d8),
  5175. 170: uint32(0x0bcad582),
  5176. 171: uint32(0x2f4884b4),
  5177. 172: uint32(0xd0c73336),
  5178. 173: uint32(0xf4456200),
  5179. 174: uint32(0x99c3915a),
  5180. 175: uint32(0xbd41c06c),
  5181. 176: uint32(0x981be1bc),
  5182. 177: uint32(0xbc99b08a),
  5183. 178: uint32(0xd11f43d0),
  5184. 179: uint32(0xf59d12e6),
  5185. 180: uint32(0x0a12a564),
  5186. 181: uint32(0x2e90f452),
  5187. 182: uint32(0x43160708),
  5188. 183: uint32(0x6794563e),
  5189. 184: uint32(0x67786e4d),
  5190. 185: uint32(0x43fa3f7b),
  5191. 186: uint32(0x2e7ccc21),
  5192. 187: uint32(0x0afe9d17),
  5193. 188: uint32(0xf5712a95),
  5194. 189: uint32(0xd1f37ba3),
  5195. 190: uint32(0xbc7588f9),
  5196. 191: uint32(0x98f7d9cf),
  5197. 192: uint32(0x6019add5),
  5198. 193: uint32(0x449bfce3),
  5199. 194: uint32(0x291d0fb9),
  5200. 195: uint32(0x0d9f5e8f),
  5201. 196: uint32(0xf210e90d),
  5202. 197: uint32(0xd692b83b),
  5203. 198: uint32(0xbb144b61),
  5204. 199: uint32(0x9f961a57),
  5205. 200: uint32(0x9f7a2224),
  5206. 201: uint32(0xbbf87312),
  5207. 202: uint32(0xd67e8048),
  5208. 203: uint32(0xf2fcd17e),
  5209. 204: uint32(0x0d7366fc),
  5210. 205: uint32(0x29f137ca),
  5211. 206: uint32(0x4477c490),
  5212. 207: uint32(0x60f595a6),
  5213. 208: uint32(0x45afb476),
  5214. 209: uint32(0x612de540),
  5215. 210: uint32(0x0cab161a),
  5216. 211: uint32(0x2829472c),
  5217. 212: uint32(0xd7a6f0ae),
  5218. 213: uint32(0xf324a198),
  5219. 214: uint32(0x9ea252c2),
  5220. 215: uint32(0xba2003f4),
  5221. 216: uint32(0xbacc3b87),
  5222. 217: uint32(0x9e4e6ab1),
  5223. 218: uint32(0xf3c899eb),
  5224. 219: uint32(0xd74ac8dd),
  5225. 220: uint32(0x28c57f5f),
  5226. 221: uint32(0x0c472e69),
  5227. 222: uint32(0x61c1dd33),
  5228. 223: uint32(0x45438c05),
  5229. 224: uint32(0x2b759e93),
  5230. 225: uint32(0x0ff7cfa5),
  5231. 226: uint32(0x62713cff),
  5232. 227: uint32(0x46f36dc9),
  5233. 228: uint32(0xb97cda4b),
  5234. 229: uint32(0x9dfe8b7d),
  5235. 230: uint32(0xf0787827),
  5236. 231: uint32(0xd4fa2911),
  5237. 232: uint32(0xd4161162),
  5238. 233: uint32(0xf0944054),
  5239. 234: uint32(0x9d12b30e),
  5240. 235: uint32(0xb990e238),
  5241. 236: uint32(0x461f55ba),
  5242. 237: uint32(0x629d048c),
  5243. 238: uint32(0x0f1bf7d6),
  5244. 239: uint32(0x2b99a6e0),
  5245. 240: uint32(0x0ec38730),
  5246. 241: uint32(0x2a41d606),
  5247. 242: uint32(0x47c7255c),
  5248. 243: uint32(0x6345746a),
  5249. 244: uint32(0x9ccac3e8),
  5250. 245: uint32(0xb84892de),
  5251. 246: uint32(0xd5ce6184),
  5252. 247: uint32(0xf14c30b2),
  5253. 248: uint32(0xf1a008c1),
  5254. 249: uint32(0xd52259f7),
  5255. 250: uint32(0xb8a4aaad),
  5256. 251: uint32(0x9c26fb9b),
  5257. 252: uint32(0x63a94c19),
  5258. 253: uint32(0x472b1d2f),
  5259. 254: uint32(0x2aadee75),
  5260. 255: uint32(0x0e2fbf43),
  5261. },
  5262. 7: {
  5263. 1: uint32(0x36f290f3),
  5264. 2: uint32(0x6de521e6),
  5265. 3: uint32(0x5b17b115),
  5266. 4: uint32(0xdbca43cc),
  5267. 5: uint32(0xed38d33f),
  5268. 6: uint32(0xb62f622a),
  5269. 7: uint32(0x80ddf2d9),
  5270. 8: uint32(0x6ce581d9),
  5271. 9: uint32(0x5a17112a),
  5272. 10: uint32(0x0100a03f),
  5273. 11: uint32(0x37f230cc),
  5274. 12: uint32(0xb72fc215),
  5275. 13: uint32(0x81dd52e6),
  5276. 14: uint32(0xdacae3f3),
  5277. 15: uint32(0xec387300),
  5278. 16: uint32(0xd9cb03b2),
  5279. 17: uint32(0xef399341),
  5280. 18: uint32(0xb42e2254),
  5281. 19: uint32(0x82dcb2a7),
  5282. 20: uint32(0x0201407e),
  5283. 21: uint32(0x34f3d08d),
  5284. 22: uint32(0x6fe46198),
  5285. 23: uint32(0x5916f16b),
  5286. 24: uint32(0xb52e826b),
  5287. 25: uint32(0x83dc1298),
  5288. 26: uint32(0xd8cba38d),
  5289. 27: uint32(0xee39337e),
  5290. 28: uint32(0x6ee4c1a7),
  5291. 29: uint32(0x58165154),
  5292. 30: uint32(0x0301e041),
  5293. 31: uint32(0x35f370b2),
  5294. 32: uint32(0x68e70125),
  5295. 33: uint32(0x5e1591d6),
  5296. 34: uint32(0x050220c3),
  5297. 35: uint32(0x33f0b030),
  5298. 36: uint32(0xb32d42e9),
  5299. 37: uint32(0x85dfd21a),
  5300. 38: uint32(0xdec8630f),
  5301. 39: uint32(0xe83af3fc),
  5302. 40: uint32(0x040280fc),
  5303. 41: uint32(0x32f0100f),
  5304. 42: uint32(0x69e7a11a),
  5305. 43: uint32(0x5f1531e9),
  5306. 44: uint32(0xdfc8c330),
  5307. 45: uint32(0xe93a53c3),
  5308. 46: uint32(0xb22de2d6),
  5309. 47: uint32(0x84df7225),
  5310. 48: uint32(0xb12c0297),
  5311. 49: uint32(0x87de9264),
  5312. 50: uint32(0xdcc92371),
  5313. 51: uint32(0xea3bb382),
  5314. 52: uint32(0x6ae6415b),
  5315. 53: uint32(0x5c14d1a8),
  5316. 54: uint32(0x070360bd),
  5317. 55: uint32(0x31f1f04e),
  5318. 56: uint32(0xddc9834e),
  5319. 57: uint32(0xeb3b13bd),
  5320. 58: uint32(0xb02ca2a8),
  5321. 59: uint32(0x86de325b),
  5322. 60: uint32(0x0603c082),
  5323. 61: uint32(0x30f15071),
  5324. 62: uint32(0x6be6e164),
  5325. 63: uint32(0x5d147197),
  5326. 64: uint32(0xd1ce024a),
  5327. 65: uint32(0xe73c92b9),
  5328. 66: uint32(0xbc2b23ac),
  5329. 67: uint32(0x8ad9b35f),
  5330. 68: uint32(0x0a044186),
  5331. 69: uint32(0x3cf6d175),
  5332. 70: uint32(0x67e16060),
  5333. 71: uint32(0x5113f093),
  5334. 72: uint32(0xbd2b8393),
  5335. 73: uint32(0x8bd91360),
  5336. 74: uint32(0xd0cea275),
  5337. 75: uint32(0xe63c3286),
  5338. 76: uint32(0x66e1c05f),
  5339. 77: uint32(0x501350ac),
  5340. 78: uint32(0x0b04e1b9),
  5341. 79: uint32(0x3df6714a),
  5342. 80: uint32(0x080501f8),
  5343. 81: uint32(0x3ef7910b),
  5344. 82: uint32(0x65e0201e),
  5345. 83: uint32(0x5312b0ed),
  5346. 84: uint32(0xd3cf4234),
  5347. 85: uint32(0xe53dd2c7),
  5348. 86: uint32(0xbe2a63d2),
  5349. 87: uint32(0x88d8f321),
  5350. 88: uint32(0x64e08021),
  5351. 89: uint32(0x521210d2),
  5352. 90: uint32(0x0905a1c7),
  5353. 91: uint32(0x3ff73134),
  5354. 92: uint32(0xbf2ac3ed),
  5355. 93: uint32(0x89d8531e),
  5356. 94: uint32(0xd2cfe20b),
  5357. 95: uint32(0xe43d72f8),
  5358. 96: uint32(0xb929036f),
  5359. 97: uint32(0x8fdb939c),
  5360. 98: uint32(0xd4cc2289),
  5361. 99: uint32(0xe23eb27a),
  5362. 100: uint32(0x62e340a3),
  5363. 101: uint32(0x5411d050),
  5364. 102: uint32(0x0f066145),
  5365. 103: uint32(0x39f4f1b6),
  5366. 104: uint32(0xd5cc82b6),
  5367. 105: uint32(0xe33e1245),
  5368. 106: uint32(0xb829a350),
  5369. 107: uint32(0x8edb33a3),
  5370. 108: uint32(0x0e06c17a),
  5371. 109: uint32(0x38f45189),
  5372. 110: uint32(0x63e3e09c),
  5373. 111: uint32(0x5511706f),
  5374. 112: uint32(0x60e200dd),
  5375. 113: uint32(0x5610902e),
  5376. 114: uint32(0x0d07213b),
  5377. 115: uint32(0x3bf5b1c8),
  5378. 116: uint32(0xbb284311),
  5379. 117: uint32(0x8ddad3e2),
  5380. 118: uint32(0xd6cd62f7),
  5381. 119: uint32(0xe03ff204),
  5382. 120: uint32(0x0c078104),
  5383. 121: uint32(0x3af511f7),
  5384. 122: uint32(0x61e2a0e2),
  5385. 123: uint32(0x57103011),
  5386. 124: uint32(0xd7cdc2c8),
  5387. 125: uint32(0xe13f523b),
  5388. 126: uint32(0xba28e32e),
  5389. 127: uint32(0x8cda73dd),
  5390. 128: uint32(0x78ed02d5),
  5391. 129: uint32(0x4e1f9226),
  5392. 130: uint32(0x15082333),
  5393. 131: uint32(0x23fab3c0),
  5394. 132: uint32(0xa3274119),
  5395. 133: uint32(0x95d5d1ea),
  5396. 134: uint32(0xcec260ff),
  5397. 135: uint32(0xf830f00c),
  5398. 136: uint32(0x1408830c),
  5399. 137: uint32(0x22fa13ff),
  5400. 138: uint32(0x79eda2ea),
  5401. 139: uint32(0x4f1f3219),
  5402. 140: uint32(0xcfc2c0c0),
  5403. 141: uint32(0xf9305033),
  5404. 142: uint32(0xa227e126),
  5405. 143: uint32(0x94d571d5),
  5406. 144: uint32(0xa1260167),
  5407. 145: uint32(0x97d49194),
  5408. 146: uint32(0xccc32081),
  5409. 147: uint32(0xfa31b072),
  5410. 148: uint32(0x7aec42ab),
  5411. 149: uint32(0x4c1ed258),
  5412. 150: uint32(0x1709634d),
  5413. 151: uint32(0x21fbf3be),
  5414. 152: uint32(0xcdc380be),
  5415. 153: uint32(0xfb31104d),
  5416. 154: uint32(0xa026a158),
  5417. 155: uint32(0x96d431ab),
  5418. 156: uint32(0x1609c372),
  5419. 157: uint32(0x20fb5381),
  5420. 158: uint32(0x7bece294),
  5421. 159: uint32(0x4d1e7267),
  5422. 160: uint32(0x100a03f0),
  5423. 161: uint32(0x26f89303),
  5424. 162: uint32(0x7def2216),
  5425. 163: uint32(0x4b1db2e5),
  5426. 164: uint32(0xcbc0403c),
  5427. 165: uint32(0xfd32d0cf),
  5428. 166: uint32(0xa62561da),
  5429. 167: uint32(0x90d7f129),
  5430. 168: uint32(0x7cef8229),
  5431. 169: uint32(0x4a1d12da),
  5432. 170: uint32(0x110aa3cf),
  5433. 171: uint32(0x27f8333c),
  5434. 172: uint32(0xa725c1e5),
  5435. 173: uint32(0x91d75116),
  5436. 174: uint32(0xcac0e003),
  5437. 175: uint32(0xfc3270f0),
  5438. 176: uint32(0xc9c10042),
  5439. 177: uint32(0xff3390b1),
  5440. 178: uint32(0xa42421a4),
  5441. 179: uint32(0x92d6b157),
  5442. 180: uint32(0x120b438e),
  5443. 181: uint32(0x24f9d37d),
  5444. 182: uint32(0x7fee6268),
  5445. 183: uint32(0x491cf29b),
  5446. 184: uint32(0xa524819b),
  5447. 185: uint32(0x93d61168),
  5448. 186: uint32(0xc8c1a07d),
  5449. 187: uint32(0xfe33308e),
  5450. 188: uint32(0x7eeec257),
  5451. 189: uint32(0x481c52a4),
  5452. 190: uint32(0x130be3b1),
  5453. 191: uint32(0x25f97342),
  5454. 192: uint32(0xa923009f),
  5455. 193: uint32(0x9fd1906c),
  5456. 194: uint32(0xc4c62179),
  5457. 195: uint32(0xf234b18a),
  5458. 196: uint32(0x72e94353),
  5459. 197: uint32(0x441bd3a0),
  5460. 198: uint32(0x1f0c62b5),
  5461. 199: uint32(0x29fef246),
  5462. 200: uint32(0xc5c68146),
  5463. 201: uint32(0xf33411b5),
  5464. 202: uint32(0xa823a0a0),
  5465. 203: uint32(0x9ed13053),
  5466. 204: uint32(0x1e0cc28a),
  5467. 205: uint32(0x28fe5279),
  5468. 206: uint32(0x73e9e36c),
  5469. 207: uint32(0x451b739f),
  5470. 208: uint32(0x70e8032d),
  5471. 209: uint32(0x461a93de),
  5472. 210: uint32(0x1d0d22cb),
  5473. 211: uint32(0x2bffb238),
  5474. 212: uint32(0xab2240e1),
  5475. 213: uint32(0x9dd0d012),
  5476. 214: uint32(0xc6c76107),
  5477. 215: uint32(0xf035f1f4),
  5478. 216: uint32(0x1c0d82f4),
  5479. 217: uint32(0x2aff1207),
  5480. 218: uint32(0x71e8a312),
  5481. 219: uint32(0x471a33e1),
  5482. 220: uint32(0xc7c7c138),
  5483. 221: uint32(0xf13551cb),
  5484. 222: uint32(0xaa22e0de),
  5485. 223: uint32(0x9cd0702d),
  5486. 224: uint32(0xc1c401ba),
  5487. 225: uint32(0xf7369149),
  5488. 226: uint32(0xac21205c),
  5489. 227: uint32(0x9ad3b0af),
  5490. 228: uint32(0x1a0e4276),
  5491. 229: uint32(0x2cfcd285),
  5492. 230: uint32(0x77eb6390),
  5493. 231: uint32(0x4119f363),
  5494. 232: uint32(0xad218063),
  5495. 233: uint32(0x9bd31090),
  5496. 234: uint32(0xc0c4a185),
  5497. 235: uint32(0xf6363176),
  5498. 236: uint32(0x76ebc3af),
  5499. 237: uint32(0x4019535c),
  5500. 238: uint32(0x1b0ee249),
  5501. 239: uint32(0x2dfc72ba),
  5502. 240: uint32(0x180f0208),
  5503. 241: uint32(0x2efd92fb),
  5504. 242: uint32(0x75ea23ee),
  5505. 243: uint32(0x4318b31d),
  5506. 244: uint32(0xc3c541c4),
  5507. 245: uint32(0xf537d137),
  5508. 246: uint32(0xae206022),
  5509. 247: uint32(0x98d2f0d1),
  5510. 248: uint32(0x74ea83d1),
  5511. 249: uint32(0x42181322),
  5512. 250: uint32(0x190fa237),
  5513. 251: uint32(0x2ffd32c4),
  5514. 252: uint32(0xaf20c01d),
  5515. 253: uint32(0x99d250ee),
  5516. 254: uint32(0xc2c5e1fb),
  5517. 255: uint32(0xf4377108),
  5518. },
  5519. }
  5520. var _crc_braid_big_table = [8][256]Tz_word_t{
  5521. 0: {
  5522. 1: uint64(0xf390f23600000000),
  5523. 2: uint64(0xe621e56d00000000),
  5524. 3: uint64(0x15b1175b00000000),
  5525. 4: uint64(0xcc43cadb00000000),
  5526. 5: uint64(0x3fd338ed00000000),
  5527. 6: uint64(0x2a622fb600000000),
  5528. 7: uint64(0xd9f2dd8000000000),
  5529. 8: uint64(0xd981e56c00000000),
  5530. 9: uint64(0x2a11175a00000000),
  5531. 10: uint64(0x3fa0000100000000),
  5532. 11: uint64(0xcc30f23700000000),
  5533. 12: uint64(0x15c22fb700000000),
  5534. 13: uint64(0xe652dd8100000000),
  5535. 14: uint64(0xf3e3cada00000000),
  5536. 15: uint64(0x007338ec00000000),
  5537. 16: uint64(0xb203cbd900000000),
  5538. 17: uint64(0x419339ef00000000),
  5539. 18: uint64(0x54222eb400000000),
  5540. 19: uint64(0xa7b2dc8200000000),
  5541. 20: uint64(0x7e40010200000000),
  5542. 21: uint64(0x8dd0f33400000000),
  5543. 22: uint64(0x9861e46f00000000),
  5544. 23: uint64(0x6bf1165900000000),
  5545. 24: uint64(0x6b822eb500000000),
  5546. 25: uint64(0x9812dc8300000000),
  5547. 26: uint64(0x8da3cbd800000000),
  5548. 27: uint64(0x7e3339ee00000000),
  5549. 28: uint64(0xa7c1e46e00000000),
  5550. 29: uint64(0x5451165800000000),
  5551. 30: uint64(0x41e0010300000000),
  5552. 31: uint64(0xb270f33500000000),
  5553. 32: uint64(0x2501e76800000000),
  5554. 33: uint64(0xd691155e00000000),
  5555. 34: uint64(0xc320020500000000),
  5556. 35: uint64(0x30b0f03300000000),
  5557. 36: uint64(0xe9422db300000000),
  5558. 37: uint64(0x1ad2df8500000000),
  5559. 38: uint64(0x0f63c8de00000000),
  5560. 39: uint64(0xfcf33ae800000000),
  5561. 40: uint64(0xfc80020400000000),
  5562. 41: uint64(0x0f10f03200000000),
  5563. 42: uint64(0x1aa1e76900000000),
  5564. 43: uint64(0xe931155f00000000),
  5565. 44: uint64(0x30c3c8df00000000),
  5566. 45: uint64(0xc3533ae900000000),
  5567. 46: uint64(0xd6e22db200000000),
  5568. 47: uint64(0x2572df8400000000),
  5569. 48: uint64(0x97022cb100000000),
  5570. 49: uint64(0x6492de8700000000),
  5571. 50: uint64(0x7123c9dc00000000),
  5572. 51: uint64(0x82b33bea00000000),
  5573. 52: uint64(0x5b41e66a00000000),
  5574. 53: uint64(0xa8d1145c00000000),
  5575. 54: uint64(0xbd60030700000000),
  5576. 55: uint64(0x4ef0f13100000000),
  5577. 56: uint64(0x4e83c9dd00000000),
  5578. 57: uint64(0xbd133beb00000000),
  5579. 58: uint64(0xa8a22cb000000000),
  5580. 59: uint64(0x5b32de8600000000),
  5581. 60: uint64(0x82c0030600000000),
  5582. 61: uint64(0x7150f13000000000),
  5583. 62: uint64(0x64e1e66b00000000),
  5584. 63: uint64(0x9771145d00000000),
  5585. 64: uint64(0x4a02ced100000000),
  5586. 65: uint64(0xb9923ce700000000),
  5587. 66: uint64(0xac232bbc00000000),
  5588. 67: uint64(0x5fb3d98a00000000),
  5589. 68: uint64(0x8641040a00000000),
  5590. 69: uint64(0x75d1f63c00000000),
  5591. 70: uint64(0x6060e16700000000),
  5592. 71: uint64(0x93f0135100000000),
  5593. 72: uint64(0x93832bbd00000000),
  5594. 73: uint64(0x6013d98b00000000),
  5595. 74: uint64(0x75a2ced000000000),
  5596. 75: uint64(0x86323ce600000000),
  5597. 76: uint64(0x5fc0e16600000000),
  5598. 77: uint64(0xac50135000000000),
  5599. 78: uint64(0xb9e1040b00000000),
  5600. 79: uint64(0x4a71f63d00000000),
  5601. 80: uint64(0xf801050800000000),
  5602. 81: uint64(0x0b91f73e00000000),
  5603. 82: uint64(0x1e20e06500000000),
  5604. 83: uint64(0xedb0125300000000),
  5605. 84: uint64(0x3442cfd300000000),
  5606. 85: uint64(0xc7d23de500000000),
  5607. 86: uint64(0xd2632abe00000000),
  5608. 87: uint64(0x21f3d88800000000),
  5609. 88: uint64(0x2180e06400000000),
  5610. 89: uint64(0xd210125200000000),
  5611. 90: uint64(0xc7a1050900000000),
  5612. 91: uint64(0x3431f73f00000000),
  5613. 92: uint64(0xedc32abf00000000),
  5614. 93: uint64(0x1e53d88900000000),
  5615. 94: uint64(0x0be2cfd200000000),
  5616. 95: uint64(0xf8723de400000000),
  5617. 96: uint64(0x6f0329b900000000),
  5618. 97: uint64(0x9c93db8f00000000),
  5619. 98: uint64(0x8922ccd400000000),
  5620. 99: uint64(0x7ab23ee200000000),
  5621. 100: uint64(0xa340e36200000000),
  5622. 101: uint64(0x50d0115400000000),
  5623. 102: uint64(0x4561060f00000000),
  5624. 103: uint64(0xb6f1f43900000000),
  5625. 104: uint64(0xb682ccd500000000),
  5626. 105: uint64(0x45123ee300000000),
  5627. 106: uint64(0x50a329b800000000),
  5628. 107: uint64(0xa333db8e00000000),
  5629. 108: uint64(0x7ac1060e00000000),
  5630. 109: uint64(0x8951f43800000000),
  5631. 110: uint64(0x9ce0e36300000000),
  5632. 111: uint64(0x6f70115500000000),
  5633. 112: uint64(0xdd00e26000000000),
  5634. 113: uint64(0x2e90105600000000),
  5635. 114: uint64(0x3b21070d00000000),
  5636. 115: uint64(0xc8b1f53b00000000),
  5637. 116: uint64(0x114328bb00000000),
  5638. 117: uint64(0xe2d3da8d00000000),
  5639. 118: uint64(0xf762cdd600000000),
  5640. 119: uint64(0x04f23fe000000000),
  5641. 120: uint64(0x0481070c00000000),
  5642. 121: uint64(0xf711f53a00000000),
  5643. 122: uint64(0xe2a0e26100000000),
  5644. 123: uint64(0x1130105700000000),
  5645. 124: uint64(0xc8c2cdd700000000),
  5646. 125: uint64(0x3b523fe100000000),
  5647. 126: uint64(0x2ee328ba00000000),
  5648. 127: uint64(0xdd73da8c00000000),
  5649. 128: uint64(0xd502ed7800000000),
  5650. 129: uint64(0x26921f4e00000000),
  5651. 130: uint64(0x3323081500000000),
  5652. 131: uint64(0xc0b3fa2300000000),
  5653. 132: uint64(0x194127a300000000),
  5654. 133: uint64(0xead1d59500000000),
  5655. 134: uint64(0xff60c2ce00000000),
  5656. 135: uint64(0x0cf030f800000000),
  5657. 136: uint64(0x0c83081400000000),
  5658. 137: uint64(0xff13fa2200000000),
  5659. 138: uint64(0xeaa2ed7900000000),
  5660. 139: uint64(0x19321f4f00000000),
  5661. 140: uint64(0xc0c0c2cf00000000),
  5662. 141: uint64(0x335030f900000000),
  5663. 142: uint64(0x26e127a200000000),
  5664. 143: uint64(0xd571d59400000000),
  5665. 144: uint64(0x670126a100000000),
  5666. 145: uint64(0x9491d49700000000),
  5667. 146: uint64(0x8120c3cc00000000),
  5668. 147: uint64(0x72b031fa00000000),
  5669. 148: uint64(0xab42ec7a00000000),
  5670. 149: uint64(0x58d21e4c00000000),
  5671. 150: uint64(0x4d63091700000000),
  5672. 151: uint64(0xbef3fb2100000000),
  5673. 152: uint64(0xbe80c3cd00000000),
  5674. 153: uint64(0x4d1031fb00000000),
  5675. 154: uint64(0x58a126a000000000),
  5676. 155: uint64(0xab31d49600000000),
  5677. 156: uint64(0x72c3091600000000),
  5678. 157: uint64(0x8153fb2000000000),
  5679. 158: uint64(0x94e2ec7b00000000),
  5680. 159: uint64(0x67721e4d00000000),
  5681. 160: uint64(0xf0030a1000000000),
  5682. 161: uint64(0x0393f82600000000),
  5683. 162: uint64(0x1622ef7d00000000),
  5684. 163: uint64(0xe5b21d4b00000000),
  5685. 164: uint64(0x3c40c0cb00000000),
  5686. 165: uint64(0xcfd032fd00000000),
  5687. 166: uint64(0xda6125a600000000),
  5688. 167: uint64(0x29f1d79000000000),
  5689. 168: uint64(0x2982ef7c00000000),
  5690. 169: uint64(0xda121d4a00000000),
  5691. 170: uint64(0xcfa30a1100000000),
  5692. 171: uint64(0x3c33f82700000000),
  5693. 172: uint64(0xe5c125a700000000),
  5694. 173: uint64(0x1651d79100000000),
  5695. 174: uint64(0x03e0c0ca00000000),
  5696. 175: uint64(0xf07032fc00000000),
  5697. 176: uint64(0x4200c1c900000000),
  5698. 177: uint64(0xb19033ff00000000),
  5699. 178: uint64(0xa42124a400000000),
  5700. 179: uint64(0x57b1d69200000000),
  5701. 180: uint64(0x8e430b1200000000),
  5702. 181: uint64(0x7dd3f92400000000),
  5703. 182: uint64(0x6862ee7f00000000),
  5704. 183: uint64(0x9bf21c4900000000),
  5705. 184: uint64(0x9b8124a500000000),
  5706. 185: uint64(0x6811d69300000000),
  5707. 186: uint64(0x7da0c1c800000000),
  5708. 187: uint64(0x8e3033fe00000000),
  5709. 188: uint64(0x57c2ee7e00000000),
  5710. 189: uint64(0xa4521c4800000000),
  5711. 190: uint64(0xb1e30b1300000000),
  5712. 191: uint64(0x4273f92500000000),
  5713. 192: uint64(0x9f0023a900000000),
  5714. 193: uint64(0x6c90d19f00000000),
  5715. 194: uint64(0x7921c6c400000000),
  5716. 195: uint64(0x8ab134f200000000),
  5717. 196: uint64(0x5343e97200000000),
  5718. 197: uint64(0xa0d31b4400000000),
  5719. 198: uint64(0xb5620c1f00000000),
  5720. 199: uint64(0x46f2fe2900000000),
  5721. 200: uint64(0x4681c6c500000000),
  5722. 201: uint64(0xb51134f300000000),
  5723. 202: uint64(0xa0a023a800000000),
  5724. 203: uint64(0x5330d19e00000000),
  5725. 204: uint64(0x8ac20c1e00000000),
  5726. 205: uint64(0x7952fe2800000000),
  5727. 206: uint64(0x6ce3e97300000000),
  5728. 207: uint64(0x9f731b4500000000),
  5729. 208: uint64(0x2d03e87000000000),
  5730. 209: uint64(0xde931a4600000000),
  5731. 210: uint64(0xcb220d1d00000000),
  5732. 211: uint64(0x38b2ff2b00000000),
  5733. 212: uint64(0xe14022ab00000000),
  5734. 213: uint64(0x12d0d09d00000000),
  5735. 214: uint64(0x0761c7c600000000),
  5736. 215: uint64(0xf4f135f000000000),
  5737. 216: uint64(0xf4820d1c00000000),
  5738. 217: uint64(0x0712ff2a00000000),
  5739. 218: uint64(0x12a3e87100000000),
  5740. 219: uint64(0xe1331a4700000000),
  5741. 220: uint64(0x38c1c7c700000000),
  5742. 221: uint64(0xcb5135f100000000),
  5743. 222: uint64(0xdee022aa00000000),
  5744. 223: uint64(0x2d70d09c00000000),
  5745. 224: uint64(0xba01c4c100000000),
  5746. 225: uint64(0x499136f700000000),
  5747. 226: uint64(0x5c2021ac00000000),
  5748. 227: uint64(0xafb0d39a00000000),
  5749. 228: uint64(0x76420e1a00000000),
  5750. 229: uint64(0x85d2fc2c00000000),
  5751. 230: uint64(0x9063eb7700000000),
  5752. 231: uint64(0x63f3194100000000),
  5753. 232: uint64(0x638021ad00000000),
  5754. 233: uint64(0x9010d39b00000000),
  5755. 234: uint64(0x85a1c4c000000000),
  5756. 235: uint64(0x763136f600000000),
  5757. 236: uint64(0xafc3eb7600000000),
  5758. 237: uint64(0x5c53194000000000),
  5759. 238: uint64(0x49e20e1b00000000),
  5760. 239: uint64(0xba72fc2d00000000),
  5761. 240: uint64(0x08020f1800000000),
  5762. 241: uint64(0xfb92fd2e00000000),
  5763. 242: uint64(0xee23ea7500000000),
  5764. 243: uint64(0x1db3184300000000),
  5765. 244: uint64(0xc441c5c300000000),
  5766. 245: uint64(0x37d137f500000000),
  5767. 246: uint64(0x226020ae00000000),
  5768. 247: uint64(0xd1f0d29800000000),
  5769. 248: uint64(0xd183ea7400000000),
  5770. 249: uint64(0x2213184200000000),
  5771. 250: uint64(0x37a20f1900000000),
  5772. 251: uint64(0xc432fd2f00000000),
  5773. 252: uint64(0x1dc020af00000000),
  5774. 253: uint64(0xee50d29900000000),
  5775. 254: uint64(0xfbe1c5c200000000),
  5776. 255: uint64(0x087137f400000000),
  5777. },
  5778. 1: {
  5779. 1: uint64(0x3651822400000000),
  5780. 2: uint64(0x6ca2044900000000),
  5781. 3: uint64(0x5af3866d00000000),
  5782. 4: uint64(0xd844099200000000),
  5783. 5: uint64(0xee158bb600000000),
  5784. 6: uint64(0xb4e60ddb00000000),
  5785. 7: uint64(0x82b78fff00000000),
  5786. 8: uint64(0xf18f63ff00000000),
  5787. 9: uint64(0xc7dee1db00000000),
  5788. 10: uint64(0x9d2d67b600000000),
  5789. 11: uint64(0xab7ce59200000000),
  5790. 12: uint64(0x29cb6a6d00000000),
  5791. 13: uint64(0x1f9ae84900000000),
  5792. 14: uint64(0x45696e2400000000),
  5793. 15: uint64(0x7338ec0000000000),
  5794. 16: uint64(0xa319b62500000000),
  5795. 17: uint64(0x9548340100000000),
  5796. 18: uint64(0xcfbbb26c00000000),
  5797. 19: uint64(0xf9ea304800000000),
  5798. 20: uint64(0x7b5dbfb700000000),
  5799. 21: uint64(0x4d0c3d9300000000),
  5800. 22: uint64(0x17ffbbfe00000000),
  5801. 23: uint64(0x21ae39da00000000),
  5802. 24: uint64(0x5296d5da00000000),
  5803. 25: uint64(0x64c757fe00000000),
  5804. 26: uint64(0x3e34d19300000000),
  5805. 27: uint64(0x086553b700000000),
  5806. 28: uint64(0x8ad2dc4800000000),
  5807. 29: uint64(0xbc835e6c00000000),
  5808. 30: uint64(0xe670d80100000000),
  5809. 31: uint64(0xd0215a2500000000),
  5810. 32: uint64(0x46336c4b00000000),
  5811. 33: uint64(0x7062ee6f00000000),
  5812. 34: uint64(0x2a91680200000000),
  5813. 35: uint64(0x1cc0ea2600000000),
  5814. 36: uint64(0x9e7765d900000000),
  5815. 37: uint64(0xa826e7fd00000000),
  5816. 38: uint64(0xf2d5619000000000),
  5817. 39: uint64(0xc484e3b400000000),
  5818. 40: uint64(0xb7bc0fb400000000),
  5819. 41: uint64(0x81ed8d9000000000),
  5820. 42: uint64(0xdb1e0bfd00000000),
  5821. 43: uint64(0xed4f89d900000000),
  5822. 44: uint64(0x6ff8062600000000),
  5823. 45: uint64(0x59a9840200000000),
  5824. 46: uint64(0x035a026f00000000),
  5825. 47: uint64(0x350b804b00000000),
  5826. 48: uint64(0xe52ada6e00000000),
  5827. 49: uint64(0xd37b584a00000000),
  5828. 50: uint64(0x8988de2700000000),
  5829. 51: uint64(0xbfd95c0300000000),
  5830. 52: uint64(0x3d6ed3fc00000000),
  5831. 53: uint64(0x0b3f51d800000000),
  5832. 54: uint64(0x51ccd7b500000000),
  5833. 55: uint64(0x679d559100000000),
  5834. 56: uint64(0x14a5b99100000000),
  5835. 57: uint64(0x22f43bb500000000),
  5836. 58: uint64(0x7807bdd800000000),
  5837. 59: uint64(0x4e563ffc00000000),
  5838. 60: uint64(0xcce1b00300000000),
  5839. 61: uint64(0xfab0322700000000),
  5840. 62: uint64(0xa043b44a00000000),
  5841. 63: uint64(0x9612366e00000000),
  5842. 64: uint64(0x8c66d89600000000),
  5843. 65: uint64(0xba375ab200000000),
  5844. 66: uint64(0xe0c4dcdf00000000),
  5845. 67: uint64(0xd6955efb00000000),
  5846. 68: uint64(0x5422d10400000000),
  5847. 69: uint64(0x6273532000000000),
  5848. 70: uint64(0x3880d54d00000000),
  5849. 71: uint64(0x0ed1576900000000),
  5850. 72: uint64(0x7de9bb6900000000),
  5851. 73: uint64(0x4bb8394d00000000),
  5852. 74: uint64(0x114bbf2000000000),
  5853. 75: uint64(0x271a3d0400000000),
  5854. 76: uint64(0xa5adb2fb00000000),
  5855. 77: uint64(0x93fc30df00000000),
  5856. 78: uint64(0xc90fb6b200000000),
  5857. 79: uint64(0xff5e349600000000),
  5858. 80: uint64(0x2f7f6eb300000000),
  5859. 81: uint64(0x192eec9700000000),
  5860. 82: uint64(0x43dd6afa00000000),
  5861. 83: uint64(0x758ce8de00000000),
  5862. 84: uint64(0xf73b672100000000),
  5863. 85: uint64(0xc16ae50500000000),
  5864. 86: uint64(0x9b99636800000000),
  5865. 87: uint64(0xadc8e14c00000000),
  5866. 88: uint64(0xdef00d4c00000000),
  5867. 89: uint64(0xe8a18f6800000000),
  5868. 90: uint64(0xb252090500000000),
  5869. 91: uint64(0x84038b2100000000),
  5870. 92: uint64(0x06b404de00000000),
  5871. 93: uint64(0x30e586fa00000000),
  5872. 94: uint64(0x6a16009700000000),
  5873. 95: uint64(0x5c4782b300000000),
  5874. 96: uint64(0xca55b4dd00000000),
  5875. 97: uint64(0xfc0436f900000000),
  5876. 98: uint64(0xa6f7b09400000000),
  5877. 99: uint64(0x90a632b000000000),
  5878. 100: uint64(0x1211bd4f00000000),
  5879. 101: uint64(0x24403f6b00000000),
  5880. 102: uint64(0x7eb3b90600000000),
  5881. 103: uint64(0x48e23b2200000000),
  5882. 104: uint64(0x3bdad72200000000),
  5883. 105: uint64(0x0d8b550600000000),
  5884. 106: uint64(0x5778d36b00000000),
  5885. 107: uint64(0x6129514f00000000),
  5886. 108: uint64(0xe39edeb000000000),
  5887. 109: uint64(0xd5cf5c9400000000),
  5888. 110: uint64(0x8f3cdaf900000000),
  5889. 111: uint64(0xb96d58dd00000000),
  5890. 112: uint64(0x694c02f800000000),
  5891. 113: uint64(0x5f1d80dc00000000),
  5892. 114: uint64(0x05ee06b100000000),
  5893. 115: uint64(0x33bf849500000000),
  5894. 116: uint64(0xb1080b6a00000000),
  5895. 117: uint64(0x8759894e00000000),
  5896. 118: uint64(0xddaa0f2300000000),
  5897. 119: uint64(0xebfb8d0700000000),
  5898. 120: uint64(0x98c3610700000000),
  5899. 121: uint64(0xae92e32300000000),
  5900. 122: uint64(0xf461654e00000000),
  5901. 123: uint64(0xc230e76a00000000),
  5902. 124: uint64(0x4087689500000000),
  5903. 125: uint64(0x76d6eab100000000),
  5904. 126: uint64(0x2c256cdc00000000),
  5905. 127: uint64(0x1a74eef800000000),
  5906. 128: uint64(0x59cbc1f600000000),
  5907. 129: uint64(0x6f9a43d200000000),
  5908. 130: uint64(0x3569c5bf00000000),
  5909. 131: uint64(0x0338479b00000000),
  5910. 132: uint64(0x818fc86400000000),
  5911. 133: uint64(0xb7de4a4000000000),
  5912. 134: uint64(0xed2dcc2d00000000),
  5913. 135: uint64(0xdb7c4e0900000000),
  5914. 136: uint64(0xa844a20900000000),
  5915. 137: uint64(0x9e15202d00000000),
  5916. 138: uint64(0xc4e6a64000000000),
  5917. 139: uint64(0xf2b7246400000000),
  5918. 140: uint64(0x7000ab9b00000000),
  5919. 141: uint64(0x465129bf00000000),
  5920. 142: uint64(0x1ca2afd200000000),
  5921. 143: uint64(0x2af32df600000000),
  5922. 144: uint64(0xfad277d300000000),
  5923. 145: uint64(0xcc83f5f700000000),
  5924. 146: uint64(0x9670739a00000000),
  5925. 147: uint64(0xa021f1be00000000),
  5926. 148: uint64(0x22967e4100000000),
  5927. 149: uint64(0x14c7fc6500000000),
  5928. 150: uint64(0x4e347a0800000000),
  5929. 151: uint64(0x7865f82c00000000),
  5930. 152: uint64(0x0b5d142c00000000),
  5931. 153: uint64(0x3d0c960800000000),
  5932. 154: uint64(0x67ff106500000000),
  5933. 155: uint64(0x51ae924100000000),
  5934. 156: uint64(0xd3191dbe00000000),
  5935. 157: uint64(0xe5489f9a00000000),
  5936. 158: uint64(0xbfbb19f700000000),
  5937. 159: uint64(0x89ea9bd300000000),
  5938. 160: uint64(0x1ff8adbd00000000),
  5939. 161: uint64(0x29a92f9900000000),
  5940. 162: uint64(0x735aa9f400000000),
  5941. 163: uint64(0x450b2bd000000000),
  5942. 164: uint64(0xc7bca42f00000000),
  5943. 165: uint64(0xf1ed260b00000000),
  5944. 166: uint64(0xab1ea06600000000),
  5945. 167: uint64(0x9d4f224200000000),
  5946. 168: uint64(0xee77ce4200000000),
  5947. 169: uint64(0xd8264c6600000000),
  5948. 170: uint64(0x82d5ca0b00000000),
  5949. 171: uint64(0xb484482f00000000),
  5950. 172: uint64(0x3633c7d000000000),
  5951. 173: uint64(0x006245f400000000),
  5952. 174: uint64(0x5a91c39900000000),
  5953. 175: uint64(0x6cc041bd00000000),
  5954. 176: uint64(0xbce11b9800000000),
  5955. 177: uint64(0x8ab099bc00000000),
  5956. 178: uint64(0xd0431fd100000000),
  5957. 179: uint64(0xe6129df500000000),
  5958. 180: uint64(0x64a5120a00000000),
  5959. 181: uint64(0x52f4902e00000000),
  5960. 182: uint64(0x0807164300000000),
  5961. 183: uint64(0x3e56946700000000),
  5962. 184: uint64(0x4d6e786700000000),
  5963. 185: uint64(0x7b3ffa4300000000),
  5964. 186: uint64(0x21cc7c2e00000000),
  5965. 187: uint64(0x179dfe0a00000000),
  5966. 188: uint64(0x952a71f500000000),
  5967. 189: uint64(0xa37bf3d100000000),
  5968. 190: uint64(0xf98875bc00000000),
  5969. 191: uint64(0xcfd9f79800000000),
  5970. 192: uint64(0xd5ad196000000000),
  5971. 193: uint64(0xe3fc9b4400000000),
  5972. 194: uint64(0xb90f1d2900000000),
  5973. 195: uint64(0x8f5e9f0d00000000),
  5974. 196: uint64(0x0de910f200000000),
  5975. 197: uint64(0x3bb892d600000000),
  5976. 198: uint64(0x614b14bb00000000),
  5977. 199: uint64(0x571a969f00000000),
  5978. 200: uint64(0x24227a9f00000000),
  5979. 201: uint64(0x1273f8bb00000000),
  5980. 202: uint64(0x48807ed600000000),
  5981. 203: uint64(0x7ed1fcf200000000),
  5982. 204: uint64(0xfc66730d00000000),
  5983. 205: uint64(0xca37f12900000000),
  5984. 206: uint64(0x90c4774400000000),
  5985. 207: uint64(0xa695f56000000000),
  5986. 208: uint64(0x76b4af4500000000),
  5987. 209: uint64(0x40e52d6100000000),
  5988. 210: uint64(0x1a16ab0c00000000),
  5989. 211: uint64(0x2c47292800000000),
  5990. 212: uint64(0xaef0a6d700000000),
  5991. 213: uint64(0x98a124f300000000),
  5992. 214: uint64(0xc252a29e00000000),
  5993. 215: uint64(0xf40320ba00000000),
  5994. 216: uint64(0x873bccba00000000),
  5995. 217: uint64(0xb16a4e9e00000000),
  5996. 218: uint64(0xeb99c8f300000000),
  5997. 219: uint64(0xddc84ad700000000),
  5998. 220: uint64(0x5f7fc52800000000),
  5999. 221: uint64(0x692e470c00000000),
  6000. 222: uint64(0x33ddc16100000000),
  6001. 223: uint64(0x058c434500000000),
  6002. 224: uint64(0x939e752b00000000),
  6003. 225: uint64(0xa5cff70f00000000),
  6004. 226: uint64(0xff3c716200000000),
  6005. 227: uint64(0xc96df34600000000),
  6006. 228: uint64(0x4bda7cb900000000),
  6007. 229: uint64(0x7d8bfe9d00000000),
  6008. 230: uint64(0x277878f000000000),
  6009. 231: uint64(0x1129fad400000000),
  6010. 232: uint64(0x621116d400000000),
  6011. 233: uint64(0x544094f000000000),
  6012. 234: uint64(0x0eb3129d00000000),
  6013. 235: uint64(0x38e290b900000000),
  6014. 236: uint64(0xba551f4600000000),
  6015. 237: uint64(0x8c049d6200000000),
  6016. 238: uint64(0xd6f71b0f00000000),
  6017. 239: uint64(0xe0a6992b00000000),
  6018. 240: uint64(0x3087c30e00000000),
  6019. 241: uint64(0x06d6412a00000000),
  6020. 242: uint64(0x5c25c74700000000),
  6021. 243: uint64(0x6a74456300000000),
  6022. 244: uint64(0xe8c3ca9c00000000),
  6023. 245: uint64(0xde9248b800000000),
  6024. 246: uint64(0x8461ced500000000),
  6025. 247: uint64(0xb2304cf100000000),
  6026. 248: uint64(0xc108a0f100000000),
  6027. 249: uint64(0xf75922d500000000),
  6028. 250: uint64(0xadaaa4b800000000),
  6029. 251: uint64(0x9bfb269c00000000),
  6030. 252: uint64(0x194ca96300000000),
  6031. 253: uint64(0x2f1d2b4700000000),
  6032. 254: uint64(0x75eead2a00000000),
  6033. 255: uint64(0x43bf2f0e00000000),
  6034. },
  6035. 2: {
  6036. 1: uint64(0xc8179ecf00000000),
  6037. 2: uint64(0xd1294d4400000000),
  6038. 3: uint64(0x193ed38b00000000),
  6039. 4: uint64(0xa2539a8800000000),
  6040. 5: uint64(0x6a44044700000000),
  6041. 6: uint64(0x737ad7cc00000000),
  6042. 7: uint64(0xbb6d490300000000),
  6043. 8: uint64(0x05a145ca00000000),
  6044. 9: uint64(0xcdb6db0500000000),
  6045. 10: uint64(0xd488088e00000000),
  6046. 11: uint64(0x1c9f964100000000),
  6047. 12: uint64(0xa7f2df4200000000),
  6048. 13: uint64(0x6fe5418d00000000),
  6049. 14: uint64(0x76db920600000000),
  6050. 15: uint64(0xbecc0cc900000000),
  6051. 16: uint64(0x4b44fa4f00000000),
  6052. 17: uint64(0x8353648000000000),
  6053. 18: uint64(0x9a6db70b00000000),
  6054. 19: uint64(0x527a29c400000000),
  6055. 20: uint64(0xe91760c700000000),
  6056. 21: uint64(0x2100fe0800000000),
  6057. 22: uint64(0x383e2d8300000000),
  6058. 23: uint64(0xf029b34c00000000),
  6059. 24: uint64(0x4ee5bf8500000000),
  6060. 25: uint64(0x86f2214a00000000),
  6061. 26: uint64(0x9fccf2c100000000),
  6062. 27: uint64(0x57db6c0e00000000),
  6063. 28: uint64(0xecb6250d00000000),
  6064. 29: uint64(0x24a1bbc200000000),
  6065. 30: uint64(0x3d9f684900000000),
  6066. 31: uint64(0xf588f68600000000),
  6067. 32: uint64(0x9688f49f00000000),
  6068. 33: uint64(0x5e9f6a5000000000),
  6069. 34: uint64(0x47a1b9db00000000),
  6070. 35: uint64(0x8fb6271400000000),
  6071. 36: uint64(0x34db6e1700000000),
  6072. 37: uint64(0xfcccf0d800000000),
  6073. 38: uint64(0xe5f2235300000000),
  6074. 39: uint64(0x2de5bd9c00000000),
  6075. 40: uint64(0x9329b15500000000),
  6076. 41: uint64(0x5b3e2f9a00000000),
  6077. 42: uint64(0x4200fc1100000000),
  6078. 43: uint64(0x8a1762de00000000),
  6079. 44: uint64(0x317a2bdd00000000),
  6080. 45: uint64(0xf96db51200000000),
  6081. 46: uint64(0xe053669900000000),
  6082. 47: uint64(0x2844f85600000000),
  6083. 48: uint64(0xddcc0ed000000000),
  6084. 49: uint64(0x15db901f00000000),
  6085. 50: uint64(0x0ce5439400000000),
  6086. 51: uint64(0xc4f2dd5b00000000),
  6087. 52: uint64(0x7f9f945800000000),
  6088. 53: uint64(0xb7880a9700000000),
  6089. 54: uint64(0xaeb6d91c00000000),
  6090. 55: uint64(0x66a147d300000000),
  6091. 56: uint64(0xd86d4b1a00000000),
  6092. 57: uint64(0x107ad5d500000000),
  6093. 58: uint64(0x0944065e00000000),
  6094. 59: uint64(0xc153989100000000),
  6095. 60: uint64(0x7a3ed19200000000),
  6096. 61: uint64(0xb2294f5d00000000),
  6097. 62: uint64(0xab179cd600000000),
  6098. 63: uint64(0x6300021900000000),
  6099. 64: uint64(0x6d1798e400000000),
  6100. 65: uint64(0xa500062b00000000),
  6101. 66: uint64(0xbc3ed5a000000000),
  6102. 67: uint64(0x74294b6f00000000),
  6103. 68: uint64(0xcf44026c00000000),
  6104. 69: uint64(0x07539ca300000000),
  6105. 70: uint64(0x1e6d4f2800000000),
  6106. 71: uint64(0xd67ad1e700000000),
  6107. 72: uint64(0x68b6dd2e00000000),
  6108. 73: uint64(0xa0a143e100000000),
  6109. 74: uint64(0xb99f906a00000000),
  6110. 75: uint64(0x71880ea500000000),
  6111. 76: uint64(0xcae547a600000000),
  6112. 77: uint64(0x02f2d96900000000),
  6113. 78: uint64(0x1bcc0ae200000000),
  6114. 79: uint64(0xd3db942d00000000),
  6115. 80: uint64(0x265362ab00000000),
  6116. 81: uint64(0xee44fc6400000000),
  6117. 82: uint64(0xf77a2fef00000000),
  6118. 83: uint64(0x3f6db12000000000),
  6119. 84: uint64(0x8400f82300000000),
  6120. 85: uint64(0x4c1766ec00000000),
  6121. 86: uint64(0x5529b56700000000),
  6122. 87: uint64(0x9d3e2ba800000000),
  6123. 88: uint64(0x23f2276100000000),
  6124. 89: uint64(0xebe5b9ae00000000),
  6125. 90: uint64(0xf2db6a2500000000),
  6126. 91: uint64(0x3accf4ea00000000),
  6127. 92: uint64(0x81a1bde900000000),
  6128. 93: uint64(0x49b6232600000000),
  6129. 94: uint64(0x5088f0ad00000000),
  6130. 95: uint64(0x989f6e6200000000),
  6131. 96: uint64(0xfb9f6c7b00000000),
  6132. 97: uint64(0x3388f2b400000000),
  6133. 98: uint64(0x2ab6213f00000000),
  6134. 99: uint64(0xe2a1bff000000000),
  6135. 100: uint64(0x59ccf6f300000000),
  6136. 101: uint64(0x91db683c00000000),
  6137. 102: uint64(0x88e5bbb700000000),
  6138. 103: uint64(0x40f2257800000000),
  6139. 104: uint64(0xfe3e29b100000000),
  6140. 105: uint64(0x3629b77e00000000),
  6141. 106: uint64(0x2f1764f500000000),
  6142. 107: uint64(0xe700fa3a00000000),
  6143. 108: uint64(0x5c6db33900000000),
  6144. 109: uint64(0x947a2df600000000),
  6145. 110: uint64(0x8d44fe7d00000000),
  6146. 111: uint64(0x455360b200000000),
  6147. 112: uint64(0xb0db963400000000),
  6148. 113: uint64(0x78cc08fb00000000),
  6149. 114: uint64(0x61f2db7000000000),
  6150. 115: uint64(0xa9e545bf00000000),
  6151. 116: uint64(0x12880cbc00000000),
  6152. 117: uint64(0xda9f927300000000),
  6153. 118: uint64(0xc3a141f800000000),
  6154. 119: uint64(0x0bb6df3700000000),
  6155. 120: uint64(0xb57ad3fe00000000),
  6156. 121: uint64(0x7d6d4d3100000000),
  6157. 122: uint64(0x64539eba00000000),
  6158. 123: uint64(0xac44007500000000),
  6159. 124: uint64(0x1729497600000000),
  6160. 125: uint64(0xdf3ed7b900000000),
  6161. 126: uint64(0xc600043200000000),
  6162. 127: uint64(0x0e179afd00000000),
  6163. 128: uint64(0x9b28411200000000),
  6164. 129: uint64(0x533fdfdd00000000),
  6165. 130: uint64(0x4a010c5600000000),
  6166. 131: uint64(0x8216929900000000),
  6167. 132: uint64(0x397bdb9a00000000),
  6168. 133: uint64(0xf16c455500000000),
  6169. 134: uint64(0xe85296de00000000),
  6170. 135: uint64(0x2045081100000000),
  6171. 136: uint64(0x9e8904d800000000),
  6172. 137: uint64(0x569e9a1700000000),
  6173. 138: uint64(0x4fa0499c00000000),
  6174. 139: uint64(0x87b7d75300000000),
  6175. 140: uint64(0x3cda9e5000000000),
  6176. 141: uint64(0xf4cd009f00000000),
  6177. 142: uint64(0xedf3d31400000000),
  6178. 143: uint64(0x25e44ddb00000000),
  6179. 144: uint64(0xd06cbb5d00000000),
  6180. 145: uint64(0x187b259200000000),
  6181. 146: uint64(0x0145f61900000000),
  6182. 147: uint64(0xc95268d600000000),
  6183. 148: uint64(0x723f21d500000000),
  6184. 149: uint64(0xba28bf1a00000000),
  6185. 150: uint64(0xa3166c9100000000),
  6186. 151: uint64(0x6b01f25e00000000),
  6187. 152: uint64(0xd5cdfe9700000000),
  6188. 153: uint64(0x1dda605800000000),
  6189. 154: uint64(0x04e4b3d300000000),
  6190. 155: uint64(0xccf32d1c00000000),
  6191. 156: uint64(0x779e641f00000000),
  6192. 157: uint64(0xbf89fad000000000),
  6193. 158: uint64(0xa6b7295b00000000),
  6194. 159: uint64(0x6ea0b79400000000),
  6195. 160: uint64(0x0da0b58d00000000),
  6196. 161: uint64(0xc5b72b4200000000),
  6197. 162: uint64(0xdc89f8c900000000),
  6198. 163: uint64(0x149e660600000000),
  6199. 164: uint64(0xaff32f0500000000),
  6200. 165: uint64(0x67e4b1ca00000000),
  6201. 166: uint64(0x7eda624100000000),
  6202. 167: uint64(0xb6cdfc8e00000000),
  6203. 168: uint64(0x0801f04700000000),
  6204. 169: uint64(0xc0166e8800000000),
  6205. 170: uint64(0xd928bd0300000000),
  6206. 171: uint64(0x113f23cc00000000),
  6207. 172: uint64(0xaa526acf00000000),
  6208. 173: uint64(0x6245f40000000000),
  6209. 174: uint64(0x7b7b278b00000000),
  6210. 175: uint64(0xb36cb94400000000),
  6211. 176: uint64(0x46e44fc200000000),
  6212. 177: uint64(0x8ef3d10d00000000),
  6213. 178: uint64(0x97cd028600000000),
  6214. 179: uint64(0x5fda9c4900000000),
  6215. 180: uint64(0xe4b7d54a00000000),
  6216. 181: uint64(0x2ca04b8500000000),
  6217. 182: uint64(0x359e980e00000000),
  6218. 183: uint64(0xfd8906c100000000),
  6219. 184: uint64(0x43450a0800000000),
  6220. 185: uint64(0x8b5294c700000000),
  6221. 186: uint64(0x926c474c00000000),
  6222. 187: uint64(0x5a7bd98300000000),
  6223. 188: uint64(0xe116908000000000),
  6224. 189: uint64(0x29010e4f00000000),
  6225. 190: uint64(0x303fddc400000000),
  6226. 191: uint64(0xf828430b00000000),
  6227. 192: uint64(0xf63fd9f600000000),
  6228. 193: uint64(0x3e28473900000000),
  6229. 194: uint64(0x271694b200000000),
  6230. 195: uint64(0xef010a7d00000000),
  6231. 196: uint64(0x546c437e00000000),
  6232. 197: uint64(0x9c7bddb100000000),
  6233. 198: uint64(0x85450e3a00000000),
  6234. 199: uint64(0x4d5290f500000000),
  6235. 200: uint64(0xf39e9c3c00000000),
  6236. 201: uint64(0x3b8902f300000000),
  6237. 202: uint64(0x22b7d17800000000),
  6238. 203: uint64(0xeaa04fb700000000),
  6239. 204: uint64(0x51cd06b400000000),
  6240. 205: uint64(0x99da987b00000000),
  6241. 206: uint64(0x80e44bf000000000),
  6242. 207: uint64(0x48f3d53f00000000),
  6243. 208: uint64(0xbd7b23b900000000),
  6244. 209: uint64(0x756cbd7600000000),
  6245. 210: uint64(0x6c526efd00000000),
  6246. 211: uint64(0xa445f03200000000),
  6247. 212: uint64(0x1f28b93100000000),
  6248. 213: uint64(0xd73f27fe00000000),
  6249. 214: uint64(0xce01f47500000000),
  6250. 215: uint64(0x06166aba00000000),
  6251. 216: uint64(0xb8da667300000000),
  6252. 217: uint64(0x70cdf8bc00000000),
  6253. 218: uint64(0x69f32b3700000000),
  6254. 219: uint64(0xa1e4b5f800000000),
  6255. 220: uint64(0x1a89fcfb00000000),
  6256. 221: uint64(0xd29e623400000000),
  6257. 222: uint64(0xcba0b1bf00000000),
  6258. 223: uint64(0x03b72f7000000000),
  6259. 224: uint64(0x60b72d6900000000),
  6260. 225: uint64(0xa8a0b3a600000000),
  6261. 226: uint64(0xb19e602d00000000),
  6262. 227: uint64(0x7989fee200000000),
  6263. 228: uint64(0xc2e4b7e100000000),
  6264. 229: uint64(0x0af3292e00000000),
  6265. 230: uint64(0x13cdfaa500000000),
  6266. 231: uint64(0xdbda646a00000000),
  6267. 232: uint64(0x651668a300000000),
  6268. 233: uint64(0xad01f66c00000000),
  6269. 234: uint64(0xb43f25e700000000),
  6270. 235: uint64(0x7c28bb2800000000),
  6271. 236: uint64(0xc745f22b00000000),
  6272. 237: uint64(0x0f526ce400000000),
  6273. 238: uint64(0x166cbf6f00000000),
  6274. 239: uint64(0xde7b21a000000000),
  6275. 240: uint64(0x2bf3d72600000000),
  6276. 241: uint64(0xe3e449e900000000),
  6277. 242: uint64(0xfada9a6200000000),
  6278. 243: uint64(0x32cd04ad00000000),
  6279. 244: uint64(0x89a04dae00000000),
  6280. 245: uint64(0x41b7d36100000000),
  6281. 246: uint64(0x588900ea00000000),
  6282. 247: uint64(0x909e9e2500000000),
  6283. 248: uint64(0x2e5292ec00000000),
  6284. 249: uint64(0xe6450c2300000000),
  6285. 250: uint64(0xff7bdfa800000000),
  6286. 251: uint64(0x376c416700000000),
  6287. 252: uint64(0x8c01086400000000),
  6288. 253: uint64(0x441696ab00000000),
  6289. 254: uint64(0x5d28452000000000),
  6290. 255: uint64(0x953fdbef00000000),
  6291. },
  6292. 3: {
  6293. 1: uint64(0x95d4709500000000),
  6294. 2: uint64(0x6baf90f100000000),
  6295. 3: uint64(0xfe7be06400000000),
  6296. 4: uint64(0x9758503800000000),
  6297. 5: uint64(0x028c20ad00000000),
  6298. 6: uint64(0xfcf7c0c900000000),
  6299. 7: uint64(0x6923b05c00000000),
  6300. 8: uint64(0x2eb1a07000000000),
  6301. 9: uint64(0xbb65d0e500000000),
  6302. 10: uint64(0x451e308100000000),
  6303. 11: uint64(0xd0ca401400000000),
  6304. 12: uint64(0xb9e9f04800000000),
  6305. 13: uint64(0x2c3d80dd00000000),
  6306. 14: uint64(0xd24660b900000000),
  6307. 15: uint64(0x4792102c00000000),
  6308. 16: uint64(0x5c6241e100000000),
  6309. 17: uint64(0xc9b6317400000000),
  6310. 18: uint64(0x37cdd11000000000),
  6311. 19: uint64(0xa219a18500000000),
  6312. 20: uint64(0xcb3a11d900000000),
  6313. 21: uint64(0x5eee614c00000000),
  6314. 22: uint64(0xa095812800000000),
  6315. 23: uint64(0x3541f1bd00000000),
  6316. 24: uint64(0x72d3e19100000000),
  6317. 25: uint64(0xe707910400000000),
  6318. 26: uint64(0x197c716000000000),
  6319. 27: uint64(0x8ca801f500000000),
  6320. 28: uint64(0xe58bb1a900000000),
  6321. 29: uint64(0x705fc13c00000000),
  6322. 30: uint64(0x8e24215800000000),
  6323. 31: uint64(0x1bf051cd00000000),
  6324. 32: uint64(0xf9c2f31900000000),
  6325. 33: uint64(0x6c16838c00000000),
  6326. 34: uint64(0x926d63e800000000),
  6327. 35: uint64(0x07b9137d00000000),
  6328. 36: uint64(0x6e9aa32100000000),
  6329. 37: uint64(0xfb4ed3b400000000),
  6330. 38: uint64(0x053533d000000000),
  6331. 39: uint64(0x90e1434500000000),
  6332. 40: uint64(0xd773536900000000),
  6333. 41: uint64(0x42a723fc00000000),
  6334. 42: uint64(0xbcdcc39800000000),
  6335. 43: uint64(0x2908b30d00000000),
  6336. 44: uint64(0x402b035100000000),
  6337. 45: uint64(0xd5ff73c400000000),
  6338. 46: uint64(0x2b8493a000000000),
  6339. 47: uint64(0xbe50e33500000000),
  6340. 48: uint64(0xa5a0b2f800000000),
  6341. 49: uint64(0x3074c26d00000000),
  6342. 50: uint64(0xce0f220900000000),
  6343. 51: uint64(0x5bdb529c00000000),
  6344. 52: uint64(0x32f8e2c000000000),
  6345. 53: uint64(0xa72c925500000000),
  6346. 54: uint64(0x5957723100000000),
  6347. 55: uint64(0xcc8302a400000000),
  6348. 56: uint64(0x8b11128800000000),
  6349. 57: uint64(0x1ec5621d00000000),
  6350. 58: uint64(0xe0be827900000000),
  6351. 59: uint64(0x756af2ec00000000),
  6352. 60: uint64(0x1c4942b000000000),
  6353. 61: uint64(0x899d322500000000),
  6354. 62: uint64(0x77e6d24100000000),
  6355. 63: uint64(0xe232a2d400000000),
  6356. 64: uint64(0xf285e73300000000),
  6357. 65: uint64(0x675197a600000000),
  6358. 66: uint64(0x992a77c200000000),
  6359. 67: uint64(0x0cfe075700000000),
  6360. 68: uint64(0x65ddb70b00000000),
  6361. 69: uint64(0xf009c79e00000000),
  6362. 70: uint64(0x0e7227fa00000000),
  6363. 71: uint64(0x9ba6576f00000000),
  6364. 72: uint64(0xdc34474300000000),
  6365. 73: uint64(0x49e037d600000000),
  6366. 74: uint64(0xb79bd7b200000000),
  6367. 75: uint64(0x224fa72700000000),
  6368. 76: uint64(0x4b6c177b00000000),
  6369. 77: uint64(0xdeb867ee00000000),
  6370. 78: uint64(0x20c3878a00000000),
  6371. 79: uint64(0xb517f71f00000000),
  6372. 80: uint64(0xaee7a6d200000000),
  6373. 81: uint64(0x3b33d64700000000),
  6374. 82: uint64(0xc548362300000000),
  6375. 83: uint64(0x509c46b600000000),
  6376. 84: uint64(0x39bff6ea00000000),
  6377. 85: uint64(0xac6b867f00000000),
  6378. 86: uint64(0x5210661b00000000),
  6379. 87: uint64(0xc7c4168e00000000),
  6380. 88: uint64(0x805606a200000000),
  6381. 89: uint64(0x1582763700000000),
  6382. 90: uint64(0xebf9965300000000),
  6383. 91: uint64(0x7e2de6c600000000),
  6384. 92: uint64(0x170e569a00000000),
  6385. 93: uint64(0x82da260f00000000),
  6386. 94: uint64(0x7ca1c66b00000000),
  6387. 95: uint64(0xe975b6fe00000000),
  6388. 96: uint64(0x0b47142a00000000),
  6389. 97: uint64(0x9e9364bf00000000),
  6390. 98: uint64(0x60e884db00000000),
  6391. 99: uint64(0xf53cf44e00000000),
  6392. 100: uint64(0x9c1f441200000000),
  6393. 101: uint64(0x09cb348700000000),
  6394. 102: uint64(0xf7b0d4e300000000),
  6395. 103: uint64(0x6264a47600000000),
  6396. 104: uint64(0x25f6b45a00000000),
  6397. 105: uint64(0xb022c4cf00000000),
  6398. 106: uint64(0x4e5924ab00000000),
  6399. 107: uint64(0xdb8d543e00000000),
  6400. 108: uint64(0xb2aee46200000000),
  6401. 109: uint64(0x277a94f700000000),
  6402. 110: uint64(0xd901749300000000),
  6403. 111: uint64(0x4cd5040600000000),
  6404. 112: uint64(0x572555cb00000000),
  6405. 113: uint64(0xc2f1255e00000000),
  6406. 114: uint64(0x3c8ac53a00000000),
  6407. 115: uint64(0xa95eb5af00000000),
  6408. 116: uint64(0xc07d05f300000000),
  6409. 117: uint64(0x55a9756600000000),
  6410. 118: uint64(0xabd2950200000000),
  6411. 119: uint64(0x3e06e59700000000),
  6412. 120: uint64(0x7994f5bb00000000),
  6413. 121: uint64(0xec40852e00000000),
  6414. 122: uint64(0x123b654a00000000),
  6415. 123: uint64(0x87ef15df00000000),
  6416. 124: uint64(0xeecca58300000000),
  6417. 125: uint64(0x7b18d51600000000),
  6418. 126: uint64(0x8563357200000000),
  6419. 127: uint64(0x10b745e700000000),
  6420. 128: uint64(0xe40bcf6700000000),
  6421. 129: uint64(0x71dfbff200000000),
  6422. 130: uint64(0x8fa45f9600000000),
  6423. 131: uint64(0x1a702f0300000000),
  6424. 132: uint64(0x73539f5f00000000),
  6425. 133: uint64(0xe687efca00000000),
  6426. 134: uint64(0x18fc0fae00000000),
  6427. 135: uint64(0x8d287f3b00000000),
  6428. 136: uint64(0xcaba6f1700000000),
  6429. 137: uint64(0x5f6e1f8200000000),
  6430. 138: uint64(0xa115ffe600000000),
  6431. 139: uint64(0x34c18f7300000000),
  6432. 140: uint64(0x5de23f2f00000000),
  6433. 141: uint64(0xc8364fba00000000),
  6434. 142: uint64(0x364dafde00000000),
  6435. 143: uint64(0xa399df4b00000000),
  6436. 144: uint64(0xb8698e8600000000),
  6437. 145: uint64(0x2dbdfe1300000000),
  6438. 146: uint64(0xd3c61e7700000000),
  6439. 147: uint64(0x46126ee200000000),
  6440. 148: uint64(0x2f31debe00000000),
  6441. 149: uint64(0xbae5ae2b00000000),
  6442. 150: uint64(0x449e4e4f00000000),
  6443. 151: uint64(0xd14a3eda00000000),
  6444. 152: uint64(0x96d82ef600000000),
  6445. 153: uint64(0x030c5e6300000000),
  6446. 154: uint64(0xfd77be0700000000),
  6447. 155: uint64(0x68a3ce9200000000),
  6448. 156: uint64(0x01807ece00000000),
  6449. 157: uint64(0x94540e5b00000000),
  6450. 158: uint64(0x6a2fee3f00000000),
  6451. 159: uint64(0xfffb9eaa00000000),
  6452. 160: uint64(0x1dc93c7e00000000),
  6453. 161: uint64(0x881d4ceb00000000),
  6454. 162: uint64(0x7666ac8f00000000),
  6455. 163: uint64(0xe3b2dc1a00000000),
  6456. 164: uint64(0x8a916c4600000000),
  6457. 165: uint64(0x1f451cd300000000),
  6458. 166: uint64(0xe13efcb700000000),
  6459. 167: uint64(0x74ea8c2200000000),
  6460. 168: uint64(0x33789c0e00000000),
  6461. 169: uint64(0xa6acec9b00000000),
  6462. 170: uint64(0x58d70cff00000000),
  6463. 171: uint64(0xcd037c6a00000000),
  6464. 172: uint64(0xa420cc3600000000),
  6465. 173: uint64(0x31f4bca300000000),
  6466. 174: uint64(0xcf8f5cc700000000),
  6467. 175: uint64(0x5a5b2c5200000000),
  6468. 176: uint64(0x41ab7d9f00000000),
  6469. 177: uint64(0xd47f0d0a00000000),
  6470. 178: uint64(0x2a04ed6e00000000),
  6471. 179: uint64(0xbfd09dfb00000000),
  6472. 180: uint64(0xd6f32da700000000),
  6473. 181: uint64(0x43275d3200000000),
  6474. 182: uint64(0xbd5cbd5600000000),
  6475. 183: uint64(0x2888cdc300000000),
  6476. 184: uint64(0x6f1addef00000000),
  6477. 185: uint64(0xfacead7a00000000),
  6478. 186: uint64(0x04b54d1e00000000),
  6479. 187: uint64(0x91613d8b00000000),
  6480. 188: uint64(0xf8428dd700000000),
  6481. 189: uint64(0x6d96fd4200000000),
  6482. 190: uint64(0x93ed1d2600000000),
  6483. 191: uint64(0x06396db300000000),
  6484. 192: uint64(0x168e285400000000),
  6485. 193: uint64(0x835a58c100000000),
  6486. 194: uint64(0x7d21b8a500000000),
  6487. 195: uint64(0xe8f5c83000000000),
  6488. 196: uint64(0x81d6786c00000000),
  6489. 197: uint64(0x140208f900000000),
  6490. 198: uint64(0xea79e89d00000000),
  6491. 199: uint64(0x7fad980800000000),
  6492. 200: uint64(0x383f882400000000),
  6493. 201: uint64(0xadebf8b100000000),
  6494. 202: uint64(0x539018d500000000),
  6495. 203: uint64(0xc644684000000000),
  6496. 204: uint64(0xaf67d81c00000000),
  6497. 205: uint64(0x3ab3a88900000000),
  6498. 206: uint64(0xc4c848ed00000000),
  6499. 207: uint64(0x511c387800000000),
  6500. 208: uint64(0x4aec69b500000000),
  6501. 209: uint64(0xdf38192000000000),
  6502. 210: uint64(0x2143f94400000000),
  6503. 211: uint64(0xb49789d100000000),
  6504. 212: uint64(0xddb4398d00000000),
  6505. 213: uint64(0x4860491800000000),
  6506. 214: uint64(0xb61ba97c00000000),
  6507. 215: uint64(0x23cfd9e900000000),
  6508. 216: uint64(0x645dc9c500000000),
  6509. 217: uint64(0xf189b95000000000),
  6510. 218: uint64(0x0ff2593400000000),
  6511. 219: uint64(0x9a2629a100000000),
  6512. 220: uint64(0xf30599fd00000000),
  6513. 221: uint64(0x66d1e96800000000),
  6514. 222: uint64(0x98aa090c00000000),
  6515. 223: uint64(0x0d7e799900000000),
  6516. 224: uint64(0xef4cdb4d00000000),
  6517. 225: uint64(0x7a98abd800000000),
  6518. 226: uint64(0x84e34bbc00000000),
  6519. 227: uint64(0x11373b2900000000),
  6520. 228: uint64(0x78148b7500000000),
  6521. 229: uint64(0xedc0fbe000000000),
  6522. 230: uint64(0x13bb1b8400000000),
  6523. 231: uint64(0x866f6b1100000000),
  6524. 232: uint64(0xc1fd7b3d00000000),
  6525. 233: uint64(0x54290ba800000000),
  6526. 234: uint64(0xaa52ebcc00000000),
  6527. 235: uint64(0x3f869b5900000000),
  6528. 236: uint64(0x56a52b0500000000),
  6529. 237: uint64(0xc3715b9000000000),
  6530. 238: uint64(0x3d0abbf400000000),
  6531. 239: uint64(0xa8decb6100000000),
  6532. 240: uint64(0xb32e9aac00000000),
  6533. 241: uint64(0x26faea3900000000),
  6534. 242: uint64(0xd8810a5d00000000),
  6535. 243: uint64(0x4d557ac800000000),
  6536. 244: uint64(0x2476ca9400000000),
  6537. 245: uint64(0xb1a2ba0100000000),
  6538. 246: uint64(0x4fd95a6500000000),
  6539. 247: uint64(0xda0d2af000000000),
  6540. 248: uint64(0x9d9f3adc00000000),
  6541. 249: uint64(0x084b4a4900000000),
  6542. 250: uint64(0xf630aa2d00000000),
  6543. 251: uint64(0x63e4dab800000000),
  6544. 252: uint64(0x0ac76ae400000000),
  6545. 253: uint64(0x9f131a7100000000),
  6546. 254: uint64(0x6168fa1500000000),
  6547. 255: uint64(0xf4bc8a8000000000),
  6548. },
  6549. 4: {
  6550. 1: uint64(0x1f17f08000000000),
  6551. 2: uint64(0x7f2891da00000000),
  6552. 3: uint64(0x603f615a00000000),
  6553. 4: uint64(0xbf56536e00000000),
  6554. 5: uint64(0xa041a3ee00000000),
  6555. 6: uint64(0xc07ec2b400000000),
  6556. 7: uint64(0xdf69323400000000),
  6557. 8: uint64(0x7eada6dc00000000),
  6558. 9: uint64(0x61ba565c00000000),
  6559. 10: uint64(0x0185370600000000),
  6560. 11: uint64(0x1e92c78600000000),
  6561. 12: uint64(0xc1fbf5b200000000),
  6562. 13: uint64(0xdeec053200000000),
  6563. 14: uint64(0xbed3646800000000),
  6564. 15: uint64(0xa1c494e800000000),
  6565. 16: uint64(0xbd5c3c6200000000),
  6566. 17: uint64(0xa24bcce200000000),
  6567. 18: uint64(0xc274adb800000000),
  6568. 19: uint64(0xdd635d3800000000),
  6569. 20: uint64(0x020a6f0c00000000),
  6570. 21: uint64(0x1d1d9f8c00000000),
  6571. 22: uint64(0x7d22fed600000000),
  6572. 23: uint64(0x62350e5600000000),
  6573. 24: uint64(0xc3f19abe00000000),
  6574. 25: uint64(0xdce66a3e00000000),
  6575. 26: uint64(0xbcd90b6400000000),
  6576. 27: uint64(0xa3cefbe400000000),
  6577. 28: uint64(0x7ca7c9d000000000),
  6578. 29: uint64(0x63b0395000000000),
  6579. 30: uint64(0x038f580a00000000),
  6580. 31: uint64(0x1c98a88a00000000),
  6581. 32: uint64(0x7ab978c400000000),
  6582. 33: uint64(0x65ae884400000000),
  6583. 34: uint64(0x0591e91e00000000),
  6584. 35: uint64(0x1a86199e00000000),
  6585. 36: uint64(0xc5ef2baa00000000),
  6586. 37: uint64(0xdaf8db2a00000000),
  6587. 38: uint64(0xbac7ba7000000000),
  6588. 39: uint64(0xa5d04af000000000),
  6589. 40: uint64(0x0414de1800000000),
  6590. 41: uint64(0x1b032e9800000000),
  6591. 42: uint64(0x7b3c4fc200000000),
  6592. 43: uint64(0x642bbf4200000000),
  6593. 44: uint64(0xbb428d7600000000),
  6594. 45: uint64(0xa4557df600000000),
  6595. 46: uint64(0xc46a1cac00000000),
  6596. 47: uint64(0xdb7dec2c00000000),
  6597. 48: uint64(0xc7e544a600000000),
  6598. 49: uint64(0xd8f2b42600000000),
  6599. 50: uint64(0xb8cdd57c00000000),
  6600. 51: uint64(0xa7da25fc00000000),
  6601. 52: uint64(0x78b317c800000000),
  6602. 53: uint64(0x67a4e74800000000),
  6603. 54: uint64(0x079b861200000000),
  6604. 55: uint64(0x188c769200000000),
  6605. 56: uint64(0xb948e27a00000000),
  6606. 57: uint64(0xa65f12fa00000000),
  6607. 58: uint64(0xc66073a000000000),
  6608. 59: uint64(0xd977832000000000),
  6609. 60: uint64(0x061eb11400000000),
  6610. 61: uint64(0x1909419400000000),
  6611. 62: uint64(0x793620ce00000000),
  6612. 63: uint64(0x6621d04e00000000),
  6613. 64: uint64(0xb574805300000000),
  6614. 65: uint64(0xaa6370d300000000),
  6615. 66: uint64(0xca5c118900000000),
  6616. 67: uint64(0xd54be10900000000),
  6617. 68: uint64(0x0a22d33d00000000),
  6618. 69: uint64(0x153523bd00000000),
  6619. 70: uint64(0x750a42e700000000),
  6620. 71: uint64(0x6a1db26700000000),
  6621. 72: uint64(0xcbd9268f00000000),
  6622. 73: uint64(0xd4ced60f00000000),
  6623. 74: uint64(0xb4f1b75500000000),
  6624. 75: uint64(0xabe647d500000000),
  6625. 76: uint64(0x748f75e100000000),
  6626. 77: uint64(0x6b98856100000000),
  6627. 78: uint64(0x0ba7e43b00000000),
  6628. 79: uint64(0x14b014bb00000000),
  6629. 80: uint64(0x0828bc3100000000),
  6630. 81: uint64(0x173f4cb100000000),
  6631. 82: uint64(0x77002deb00000000),
  6632. 83: uint64(0x6817dd6b00000000),
  6633. 84: uint64(0xb77eef5f00000000),
  6634. 85: uint64(0xa8691fdf00000000),
  6635. 86: uint64(0xc8567e8500000000),
  6636. 87: uint64(0xd7418e0500000000),
  6637. 88: uint64(0x76851aed00000000),
  6638. 89: uint64(0x6992ea6d00000000),
  6639. 90: uint64(0x09ad8b3700000000),
  6640. 91: uint64(0x16ba7bb700000000),
  6641. 92: uint64(0xc9d3498300000000),
  6642. 93: uint64(0xd6c4b90300000000),
  6643. 94: uint64(0xb6fbd85900000000),
  6644. 95: uint64(0xa9ec28d900000000),
  6645. 96: uint64(0xcfcdf89700000000),
  6646. 97: uint64(0xd0da081700000000),
  6647. 98: uint64(0xb0e5694d00000000),
  6648. 99: uint64(0xaff299cd00000000),
  6649. 100: uint64(0x709babf900000000),
  6650. 101: uint64(0x6f8c5b7900000000),
  6651. 102: uint64(0x0fb33a2300000000),
  6652. 103: uint64(0x10a4caa300000000),
  6653. 104: uint64(0xb1605e4b00000000),
  6654. 105: uint64(0xae77aecb00000000),
  6655. 106: uint64(0xce48cf9100000000),
  6656. 107: uint64(0xd15f3f1100000000),
  6657. 108: uint64(0x0e360d2500000000),
  6658. 109: uint64(0x1121fda500000000),
  6659. 110: uint64(0x711e9cff00000000),
  6660. 111: uint64(0x6e096c7f00000000),
  6661. 112: uint64(0x7291c4f500000000),
  6662. 113: uint64(0x6d86347500000000),
  6663. 114: uint64(0x0db9552f00000000),
  6664. 115: uint64(0x12aea5af00000000),
  6665. 116: uint64(0xcdc7979b00000000),
  6666. 117: uint64(0xd2d0671b00000000),
  6667. 118: uint64(0xb2ef064100000000),
  6668. 119: uint64(0xadf8f6c100000000),
  6669. 120: uint64(0x0c3c622900000000),
  6670. 121: uint64(0x132b92a900000000),
  6671. 122: uint64(0x7314f3f300000000),
  6672. 123: uint64(0x6c03037300000000),
  6673. 124: uint64(0xb36a314700000000),
  6674. 125: uint64(0xac7dc1c700000000),
  6675. 126: uint64(0xcc42a09d00000000),
  6676. 127: uint64(0xd355501d00000000),
  6677. 128: uint64(0x6ae900a700000000),
  6678. 129: uint64(0x75fef02700000000),
  6679. 130: uint64(0x15c1917d00000000),
  6680. 131: uint64(0x0ad661fd00000000),
  6681. 132: uint64(0xd5bf53c900000000),
  6682. 133: uint64(0xcaa8a34900000000),
  6683. 134: uint64(0xaa97c21300000000),
  6684. 135: uint64(0xb580329300000000),
  6685. 136: uint64(0x1444a67b00000000),
  6686. 137: uint64(0x0b5356fb00000000),
  6687. 138: uint64(0x6b6c37a100000000),
  6688. 139: uint64(0x747bc72100000000),
  6689. 140: uint64(0xab12f51500000000),
  6690. 141: uint64(0xb405059500000000),
  6691. 142: uint64(0xd43a64cf00000000),
  6692. 143: uint64(0xcb2d944f00000000),
  6693. 144: uint64(0xd7b53cc500000000),
  6694. 145: uint64(0xc8a2cc4500000000),
  6695. 146: uint64(0xa89dad1f00000000),
  6696. 147: uint64(0xb78a5d9f00000000),
  6697. 148: uint64(0x68e36fab00000000),
  6698. 149: uint64(0x77f49f2b00000000),
  6699. 150: uint64(0x17cbfe7100000000),
  6700. 151: uint64(0x08dc0ef100000000),
  6701. 152: uint64(0xa9189a1900000000),
  6702. 153: uint64(0xb60f6a9900000000),
  6703. 154: uint64(0xd6300bc300000000),
  6704. 155: uint64(0xc927fb4300000000),
  6705. 156: uint64(0x164ec97700000000),
  6706. 157: uint64(0x095939f700000000),
  6707. 158: uint64(0x696658ad00000000),
  6708. 159: uint64(0x7671a82d00000000),
  6709. 160: uint64(0x1050786300000000),
  6710. 161: uint64(0x0f4788e300000000),
  6711. 162: uint64(0x6f78e9b900000000),
  6712. 163: uint64(0x706f193900000000),
  6713. 164: uint64(0xaf062b0d00000000),
  6714. 165: uint64(0xb011db8d00000000),
  6715. 166: uint64(0xd02ebad700000000),
  6716. 167: uint64(0xcf394a5700000000),
  6717. 168: uint64(0x6efddebf00000000),
  6718. 169: uint64(0x71ea2e3f00000000),
  6719. 170: uint64(0x11d54f6500000000),
  6720. 171: uint64(0x0ec2bfe500000000),
  6721. 172: uint64(0xd1ab8dd100000000),
  6722. 173: uint64(0xcebc7d5100000000),
  6723. 174: uint64(0xae831c0b00000000),
  6724. 175: uint64(0xb194ec8b00000000),
  6725. 176: uint64(0xad0c440100000000),
  6726. 177: uint64(0xb21bb48100000000),
  6727. 178: uint64(0xd224d5db00000000),
  6728. 179: uint64(0xcd33255b00000000),
  6729. 180: uint64(0x125a176f00000000),
  6730. 181: uint64(0x0d4de7ef00000000),
  6731. 182: uint64(0x6d7286b500000000),
  6732. 183: uint64(0x7265763500000000),
  6733. 184: uint64(0xd3a1e2dd00000000),
  6734. 185: uint64(0xccb6125d00000000),
  6735. 186: uint64(0xac89730700000000),
  6736. 187: uint64(0xb39e838700000000),
  6737. 188: uint64(0x6cf7b1b300000000),
  6738. 189: uint64(0x73e0413300000000),
  6739. 190: uint64(0x13df206900000000),
  6740. 191: uint64(0x0cc8d0e900000000),
  6741. 192: uint64(0xdf9d80f400000000),
  6742. 193: uint64(0xc08a707400000000),
  6743. 194: uint64(0xa0b5112e00000000),
  6744. 195: uint64(0xbfa2e1ae00000000),
  6745. 196: uint64(0x60cbd39a00000000),
  6746. 197: uint64(0x7fdc231a00000000),
  6747. 198: uint64(0x1fe3424000000000),
  6748. 199: uint64(0x00f4b2c000000000),
  6749. 200: uint64(0xa130262800000000),
  6750. 201: uint64(0xbe27d6a800000000),
  6751. 202: uint64(0xde18b7f200000000),
  6752. 203: uint64(0xc10f477200000000),
  6753. 204: uint64(0x1e66754600000000),
  6754. 205: uint64(0x017185c600000000),
  6755. 206: uint64(0x614ee49c00000000),
  6756. 207: uint64(0x7e59141c00000000),
  6757. 208: uint64(0x62c1bc9600000000),
  6758. 209: uint64(0x7dd64c1600000000),
  6759. 210: uint64(0x1de92d4c00000000),
  6760. 211: uint64(0x02feddcc00000000),
  6761. 212: uint64(0xdd97eff800000000),
  6762. 213: uint64(0xc2801f7800000000),
  6763. 214: uint64(0xa2bf7e2200000000),
  6764. 215: uint64(0xbda88ea200000000),
  6765. 216: uint64(0x1c6c1a4a00000000),
  6766. 217: uint64(0x037beaca00000000),
  6767. 218: uint64(0x63448b9000000000),
  6768. 219: uint64(0x7c537b1000000000),
  6769. 220: uint64(0xa33a492400000000),
  6770. 221: uint64(0xbc2db9a400000000),
  6771. 222: uint64(0xdc12d8fe00000000),
  6772. 223: uint64(0xc305287e00000000),
  6773. 224: uint64(0xa524f83000000000),
  6774. 225: uint64(0xba3308b000000000),
  6775. 226: uint64(0xda0c69ea00000000),
  6776. 227: uint64(0xc51b996a00000000),
  6777. 228: uint64(0x1a72ab5e00000000),
  6778. 229: uint64(0x05655bde00000000),
  6779. 230: uint64(0x655a3a8400000000),
  6780. 231: uint64(0x7a4dca0400000000),
  6781. 232: uint64(0xdb895eec00000000),
  6782. 233: uint64(0xc49eae6c00000000),
  6783. 234: uint64(0xa4a1cf3600000000),
  6784. 235: uint64(0xbbb63fb600000000),
  6785. 236: uint64(0x64df0d8200000000),
  6786. 237: uint64(0x7bc8fd0200000000),
  6787. 238: uint64(0x1bf79c5800000000),
  6788. 239: uint64(0x04e06cd800000000),
  6789. 240: uint64(0x1878c45200000000),
  6790. 241: uint64(0x076f34d200000000),
  6791. 242: uint64(0x6750558800000000),
  6792. 243: uint64(0x7847a50800000000),
  6793. 244: uint64(0xa72e973c00000000),
  6794. 245: uint64(0xb83967bc00000000),
  6795. 246: uint64(0xd80606e600000000),
  6796. 247: uint64(0xc711f66600000000),
  6797. 248: uint64(0x66d5628e00000000),
  6798. 249: uint64(0x79c2920e00000000),
  6799. 250: uint64(0x19fdf35400000000),
  6800. 251: uint64(0x06ea03d400000000),
  6801. 252: uint64(0xd98331e000000000),
  6802. 253: uint64(0xc694c16000000000),
  6803. 254: uint64(0xa6aba03a00000000),
  6804. 255: uint64(0xb9bc50ba00000000),
  6805. },
  6806. 5: {
  6807. 1: uint64(0xe2fd888d00000000),
  6808. 2: uint64(0x85fd60c000000000),
  6809. 3: uint64(0x6700e84d00000000),
  6810. 4: uint64(0x4bfdb05b00000000),
  6811. 5: uint64(0xa90038d600000000),
  6812. 6: uint64(0xce00d09b00000000),
  6813. 7: uint64(0x2cfd581600000000),
  6814. 8: uint64(0x96fa61b700000000),
  6815. 9: uint64(0x7407e93a00000000),
  6816. 10: uint64(0x1307017700000000),
  6817. 11: uint64(0xf1fa89fa00000000),
  6818. 12: uint64(0xdd07d1ec00000000),
  6819. 13: uint64(0x3ffa596100000000),
  6820. 14: uint64(0x58fab12c00000000),
  6821. 15: uint64(0xba0739a100000000),
  6822. 16: uint64(0x6df3b2b500000000),
  6823. 17: uint64(0x8f0e3a3800000000),
  6824. 18: uint64(0xe80ed27500000000),
  6825. 19: uint64(0x0af35af800000000),
  6826. 20: uint64(0x260e02ee00000000),
  6827. 21: uint64(0xc4f38a6300000000),
  6828. 22: uint64(0xa3f3622e00000000),
  6829. 23: uint64(0x410eeaa300000000),
  6830. 24: uint64(0xfb09d30200000000),
  6831. 25: uint64(0x19f45b8f00000000),
  6832. 26: uint64(0x7ef4b3c200000000),
  6833. 27: uint64(0x9c093b4f00000000),
  6834. 28: uint64(0xb0f4635900000000),
  6835. 29: uint64(0x5209ebd400000000),
  6836. 30: uint64(0x3509039900000000),
  6837. 31: uint64(0xd7f48b1400000000),
  6838. 32: uint64(0x9be014b000000000),
  6839. 33: uint64(0x791d9c3d00000000),
  6840. 34: uint64(0x1e1d747000000000),
  6841. 35: uint64(0xfce0fcfd00000000),
  6842. 36: uint64(0xd01da4eb00000000),
  6843. 37: uint64(0x32e02c6600000000),
  6844. 38: uint64(0x55e0c42b00000000),
  6845. 39: uint64(0xb71d4ca600000000),
  6846. 40: uint64(0x0d1a750700000000),
  6847. 41: uint64(0xefe7fd8a00000000),
  6848. 42: uint64(0x88e715c700000000),
  6849. 43: uint64(0x6a1a9d4a00000000),
  6850. 44: uint64(0x46e7c55c00000000),
  6851. 45: uint64(0xa41a4dd100000000),
  6852. 46: uint64(0xc31aa59c00000000),
  6853. 47: uint64(0x21e72d1100000000),
  6854. 48: uint64(0xf613a60500000000),
  6855. 49: uint64(0x14ee2e8800000000),
  6856. 50: uint64(0x73eec6c500000000),
  6857. 51: uint64(0x91134e4800000000),
  6858. 52: uint64(0xbdee165e00000000),
  6859. 53: uint64(0x5f139ed300000000),
  6860. 54: uint64(0x3813769e00000000),
  6861. 55: uint64(0xdaeefe1300000000),
  6862. 56: uint64(0x60e9c7b200000000),
  6863. 57: uint64(0x82144f3f00000000),
  6864. 58: uint64(0xe514a77200000000),
  6865. 59: uint64(0x07e92fff00000000),
  6866. 60: uint64(0x2b1477e900000000),
  6867. 61: uint64(0xc9e9ff6400000000),
  6868. 62: uint64(0xaee9172900000000),
  6869. 63: uint64(0x4c149fa400000000),
  6870. 64: uint64(0x77c758bb00000000),
  6871. 65: uint64(0x953ad03600000000),
  6872. 66: uint64(0xf23a387b00000000),
  6873. 67: uint64(0x10c7b0f600000000),
  6874. 68: uint64(0x3c3ae8e000000000),
  6875. 69: uint64(0xdec7606d00000000),
  6876. 70: uint64(0xb9c7882000000000),
  6877. 71: uint64(0x5b3a00ad00000000),
  6878. 72: uint64(0xe13d390c00000000),
  6879. 73: uint64(0x03c0b18100000000),
  6880. 74: uint64(0x64c059cc00000000),
  6881. 75: uint64(0x863dd14100000000),
  6882. 76: uint64(0xaac0895700000000),
  6883. 77: uint64(0x483d01da00000000),
  6884. 78: uint64(0x2f3de99700000000),
  6885. 79: uint64(0xcdc0611a00000000),
  6886. 80: uint64(0x1a34ea0e00000000),
  6887. 81: uint64(0xf8c9628300000000),
  6888. 82: uint64(0x9fc98ace00000000),
  6889. 83: uint64(0x7d34024300000000),
  6890. 84: uint64(0x51c95a5500000000),
  6891. 85: uint64(0xb334d2d800000000),
  6892. 86: uint64(0xd4343a9500000000),
  6893. 87: uint64(0x36c9b21800000000),
  6894. 88: uint64(0x8cce8bb900000000),
  6895. 89: uint64(0x6e33033400000000),
  6896. 90: uint64(0x0933eb7900000000),
  6897. 91: uint64(0xebce63f400000000),
  6898. 92: uint64(0xc7333be200000000),
  6899. 93: uint64(0x25ceb36f00000000),
  6900. 94: uint64(0x42ce5b2200000000),
  6901. 95: uint64(0xa033d3af00000000),
  6902. 96: uint64(0xec274c0b00000000),
  6903. 97: uint64(0x0edac48600000000),
  6904. 98: uint64(0x69da2ccb00000000),
  6905. 99: uint64(0x8b27a44600000000),
  6906. 100: uint64(0xa7dafc5000000000),
  6907. 101: uint64(0x452774dd00000000),
  6908. 102: uint64(0x22279c9000000000),
  6909. 103: uint64(0xc0da141d00000000),
  6910. 104: uint64(0x7add2dbc00000000),
  6911. 105: uint64(0x9820a53100000000),
  6912. 106: uint64(0xff204d7c00000000),
  6913. 107: uint64(0x1dddc5f100000000),
  6914. 108: uint64(0x31209de700000000),
  6915. 109: uint64(0xd3dd156a00000000),
  6916. 110: uint64(0xb4ddfd2700000000),
  6917. 111: uint64(0x562075aa00000000),
  6918. 112: uint64(0x81d4febe00000000),
  6919. 113: uint64(0x6329763300000000),
  6920. 114: uint64(0x04299e7e00000000),
  6921. 115: uint64(0xe6d416f300000000),
  6922. 116: uint64(0xca294ee500000000),
  6923. 117: uint64(0x28d4c66800000000),
  6924. 118: uint64(0x4fd42e2500000000),
  6925. 119: uint64(0xad29a6a800000000),
  6926. 120: uint64(0x172e9f0900000000),
  6927. 121: uint64(0xf5d3178400000000),
  6928. 122: uint64(0x92d3ffc900000000),
  6929. 123: uint64(0x702e774400000000),
  6930. 124: uint64(0x5cd32f5200000000),
  6931. 125: uint64(0xbe2ea7df00000000),
  6932. 126: uint64(0xd92e4f9200000000),
  6933. 127: uint64(0x3bd3c71f00000000),
  6934. 128: uint64(0xaf88c0ad00000000),
  6935. 129: uint64(0x4d75482000000000),
  6936. 130: uint64(0x2a75a06d00000000),
  6937. 131: uint64(0xc88828e000000000),
  6938. 132: uint64(0xe47570f600000000),
  6939. 133: uint64(0x0688f87b00000000),
  6940. 134: uint64(0x6188103600000000),
  6941. 135: uint64(0x837598bb00000000),
  6942. 136: uint64(0x3972a11a00000000),
  6943. 137: uint64(0xdb8f299700000000),
  6944. 138: uint64(0xbc8fc1da00000000),
  6945. 139: uint64(0x5e72495700000000),
  6946. 140: uint64(0x728f114100000000),
  6947. 141: uint64(0x907299cc00000000),
  6948. 142: uint64(0xf772718100000000),
  6949. 143: uint64(0x158ff90c00000000),
  6950. 144: uint64(0xc27b721800000000),
  6951. 145: uint64(0x2086fa9500000000),
  6952. 146: uint64(0x478612d800000000),
  6953. 147: uint64(0xa57b9a5500000000),
  6954. 148: uint64(0x8986c24300000000),
  6955. 149: uint64(0x6b7b4ace00000000),
  6956. 150: uint64(0x0c7ba28300000000),
  6957. 151: uint64(0xee862a0e00000000),
  6958. 152: uint64(0x548113af00000000),
  6959. 153: uint64(0xb67c9b2200000000),
  6960. 154: uint64(0xd17c736f00000000),
  6961. 155: uint64(0x3381fbe200000000),
  6962. 156: uint64(0x1f7ca3f400000000),
  6963. 157: uint64(0xfd812b7900000000),
  6964. 158: uint64(0x9a81c33400000000),
  6965. 159: uint64(0x787c4bb900000000),
  6966. 160: uint64(0x3468d41d00000000),
  6967. 161: uint64(0xd6955c9000000000),
  6968. 162: uint64(0xb195b4dd00000000),
  6969. 163: uint64(0x53683c5000000000),
  6970. 164: uint64(0x7f95644600000000),
  6971. 165: uint64(0x9d68eccb00000000),
  6972. 166: uint64(0xfa68048600000000),
  6973. 167: uint64(0x18958c0b00000000),
  6974. 168: uint64(0xa292b5aa00000000),
  6975. 169: uint64(0x406f3d2700000000),
  6976. 170: uint64(0x276fd56a00000000),
  6977. 171: uint64(0xc5925de700000000),
  6978. 172: uint64(0xe96f05f100000000),
  6979. 173: uint64(0x0b928d7c00000000),
  6980. 174: uint64(0x6c92653100000000),
  6981. 175: uint64(0x8e6fedbc00000000),
  6982. 176: uint64(0x599b66a800000000),
  6983. 177: uint64(0xbb66ee2500000000),
  6984. 178: uint64(0xdc66066800000000),
  6985. 179: uint64(0x3e9b8ee500000000),
  6986. 180: uint64(0x1266d6f300000000),
  6987. 181: uint64(0xf09b5e7e00000000),
  6988. 182: uint64(0x979bb63300000000),
  6989. 183: uint64(0x75663ebe00000000),
  6990. 184: uint64(0xcf61071f00000000),
  6991. 185: uint64(0x2d9c8f9200000000),
  6992. 186: uint64(0x4a9c67df00000000),
  6993. 187: uint64(0xa861ef5200000000),
  6994. 188: uint64(0x849cb74400000000),
  6995. 189: uint64(0x66613fc900000000),
  6996. 190: uint64(0x0161d78400000000),
  6997. 191: uint64(0xe39c5f0900000000),
  6998. 192: uint64(0xd84f981600000000),
  6999. 193: uint64(0x3ab2109b00000000),
  7000. 194: uint64(0x5db2f8d600000000),
  7001. 195: uint64(0xbf4f705b00000000),
  7002. 196: uint64(0x93b2284d00000000),
  7003. 197: uint64(0x714fa0c000000000),
  7004. 198: uint64(0x164f488d00000000),
  7005. 199: uint64(0xf4b2c00000000000),
  7006. 200: uint64(0x4eb5f9a100000000),
  7007. 201: uint64(0xac48712c00000000),
  7008. 202: uint64(0xcb48996100000000),
  7009. 203: uint64(0x29b511ec00000000),
  7010. 204: uint64(0x054849fa00000000),
  7011. 205: uint64(0xe7b5c17700000000),
  7012. 206: uint64(0x80b5293a00000000),
  7013. 207: uint64(0x6248a1b700000000),
  7014. 208: uint64(0xb5bc2aa300000000),
  7015. 209: uint64(0x5741a22e00000000),
  7016. 210: uint64(0x30414a6300000000),
  7017. 211: uint64(0xd2bcc2ee00000000),
  7018. 212: uint64(0xfe419af800000000),
  7019. 213: uint64(0x1cbc127500000000),
  7020. 214: uint64(0x7bbcfa3800000000),
  7021. 215: uint64(0x994172b500000000),
  7022. 216: uint64(0x23464b1400000000),
  7023. 217: uint64(0xc1bbc39900000000),
  7024. 218: uint64(0xa6bb2bd400000000),
  7025. 219: uint64(0x4446a35900000000),
  7026. 220: uint64(0x68bbfb4f00000000),
  7027. 221: uint64(0x8a4673c200000000),
  7028. 222: uint64(0xed469b8f00000000),
  7029. 223: uint64(0x0fbb130200000000),
  7030. 224: uint64(0x43af8ca600000000),
  7031. 225: uint64(0xa152042b00000000),
  7032. 226: uint64(0xc652ec6600000000),
  7033. 227: uint64(0x24af64eb00000000),
  7034. 228: uint64(0x08523cfd00000000),
  7035. 229: uint64(0xeaafb47000000000),
  7036. 230: uint64(0x8daf5c3d00000000),
  7037. 231: uint64(0x6f52d4b000000000),
  7038. 232: uint64(0xd555ed1100000000),
  7039. 233: uint64(0x37a8659c00000000),
  7040. 234: uint64(0x50a88dd100000000),
  7041. 235: uint64(0xb255055c00000000),
  7042. 236: uint64(0x9ea85d4a00000000),
  7043. 237: uint64(0x7c55d5c700000000),
  7044. 238: uint64(0x1b553d8a00000000),
  7045. 239: uint64(0xf9a8b50700000000),
  7046. 240: uint64(0x2e5c3e1300000000),
  7047. 241: uint64(0xcca1b69e00000000),
  7048. 242: uint64(0xaba15ed300000000),
  7049. 243: uint64(0x495cd65e00000000),
  7050. 244: uint64(0x65a18e4800000000),
  7051. 245: uint64(0x875c06c500000000),
  7052. 246: uint64(0xe05cee8800000000),
  7053. 247: uint64(0x02a1660500000000),
  7054. 248: uint64(0xb8a65fa400000000),
  7055. 249: uint64(0x5a5bd72900000000),
  7056. 250: uint64(0x3d5b3f6400000000),
  7057. 251: uint64(0xdfa6b7e900000000),
  7058. 252: uint64(0xf35befff00000000),
  7059. 253: uint64(0x11a6677200000000),
  7060. 254: uint64(0x76a68f3f00000000),
  7061. 255: uint64(0x945b07b200000000),
  7062. },
  7063. 6: {
  7064. 1: uint64(0xa90b894e00000000),
  7065. 2: uint64(0x5217129d00000000),
  7066. 3: uint64(0xfb1c9bd300000000),
  7067. 4: uint64(0xe52855e100000000),
  7068. 5: uint64(0x4c23dcaf00000000),
  7069. 6: uint64(0xb73f477c00000000),
  7070. 7: uint64(0x1e34ce3200000000),
  7071. 8: uint64(0x8b57db1900000000),
  7072. 9: uint64(0x225c525700000000),
  7073. 10: uint64(0xd940c98400000000),
  7074. 11: uint64(0x704b40ca00000000),
  7075. 12: uint64(0x6e7f8ef800000000),
  7076. 13: uint64(0xc77407b600000000),
  7077. 14: uint64(0x3c689c6500000000),
  7078. 15: uint64(0x9563152b00000000),
  7079. 16: uint64(0x16afb63300000000),
  7080. 17: uint64(0xbfa43f7d00000000),
  7081. 18: uint64(0x44b8a4ae00000000),
  7082. 19: uint64(0xedb32de000000000),
  7083. 20: uint64(0xf387e3d200000000),
  7084. 21: uint64(0x5a8c6a9c00000000),
  7085. 22: uint64(0xa190f14f00000000),
  7086. 23: uint64(0x089b780100000000),
  7087. 24: uint64(0x9df86d2a00000000),
  7088. 25: uint64(0x34f3e46400000000),
  7089. 26: uint64(0xcfef7fb700000000),
  7090. 27: uint64(0x66e4f6f900000000),
  7091. 28: uint64(0x78d038cb00000000),
  7092. 29: uint64(0xd1dbb18500000000),
  7093. 30: uint64(0x2ac72a5600000000),
  7094. 31: uint64(0x83cca31800000000),
  7095. 32: uint64(0x2c5e6d6700000000),
  7096. 33: uint64(0x8555e42900000000),
  7097. 34: uint64(0x7e497ffa00000000),
  7098. 35: uint64(0xd742f6b400000000),
  7099. 36: uint64(0xc976388600000000),
  7100. 37: uint64(0x607db1c800000000),
  7101. 38: uint64(0x9b612a1b00000000),
  7102. 39: uint64(0x326aa35500000000),
  7103. 40: uint64(0xa709b67e00000000),
  7104. 41: uint64(0x0e023f3000000000),
  7105. 42: uint64(0xf51ea4e300000000),
  7106. 43: uint64(0x5c152dad00000000),
  7107. 44: uint64(0x4221e39f00000000),
  7108. 45: uint64(0xeb2a6ad100000000),
  7109. 46: uint64(0x1036f10200000000),
  7110. 47: uint64(0xb93d784c00000000),
  7111. 48: uint64(0x3af1db5400000000),
  7112. 49: uint64(0x93fa521a00000000),
  7113. 50: uint64(0x68e6c9c900000000),
  7114. 51: uint64(0xc1ed408700000000),
  7115. 52: uint64(0xdfd98eb500000000),
  7116. 53: uint64(0x76d207fb00000000),
  7117. 54: uint64(0x8dce9c2800000000),
  7118. 55: uint64(0x24c5156600000000),
  7119. 56: uint64(0xb1a6004d00000000),
  7120. 57: uint64(0x18ad890300000000),
  7121. 58: uint64(0xe3b112d000000000),
  7122. 59: uint64(0x4aba9b9e00000000),
  7123. 60: uint64(0x548e55ac00000000),
  7124. 61: uint64(0xfd85dce200000000),
  7125. 62: uint64(0x0699473100000000),
  7126. 63: uint64(0xaf92ce7f00000000),
  7127. 64: uint64(0x58bcdace00000000),
  7128. 65: uint64(0xf1b7538000000000),
  7129. 66: uint64(0x0aabc85300000000),
  7130. 67: uint64(0xa3a0411d00000000),
  7131. 68: uint64(0xbd948f2f00000000),
  7132. 69: uint64(0x149f066100000000),
  7133. 70: uint64(0xef839db200000000),
  7134. 71: uint64(0x468814fc00000000),
  7135. 72: uint64(0xd3eb01d700000000),
  7136. 73: uint64(0x7ae0889900000000),
  7137. 74: uint64(0x81fc134a00000000),
  7138. 75: uint64(0x28f79a0400000000),
  7139. 76: uint64(0x36c3543600000000),
  7140. 77: uint64(0x9fc8dd7800000000),
  7141. 78: uint64(0x64d446ab00000000),
  7142. 79: uint64(0xcddfcfe500000000),
  7143. 80: uint64(0x4e136cfd00000000),
  7144. 81: uint64(0xe718e5b300000000),
  7145. 82: uint64(0x1c047e6000000000),
  7146. 83: uint64(0xb50ff72e00000000),
  7147. 84: uint64(0xab3b391c00000000),
  7148. 85: uint64(0x0230b05200000000),
  7149. 86: uint64(0xf92c2b8100000000),
  7150. 87: uint64(0x5027a2cf00000000),
  7151. 88: uint64(0xc544b7e400000000),
  7152. 89: uint64(0x6c4f3eaa00000000),
  7153. 90: uint64(0x9753a57900000000),
  7154. 91: uint64(0x3e582c3700000000),
  7155. 92: uint64(0x206ce20500000000),
  7156. 93: uint64(0x89676b4b00000000),
  7157. 94: uint64(0x727bf09800000000),
  7158. 95: uint64(0xdb7079d600000000),
  7159. 96: uint64(0x74e2b7a900000000),
  7160. 97: uint64(0xdde93ee700000000),
  7161. 98: uint64(0x26f5a53400000000),
  7162. 99: uint64(0x8ffe2c7a00000000),
  7163. 100: uint64(0x91cae24800000000),
  7164. 101: uint64(0x38c16b0600000000),
  7165. 102: uint64(0xc3ddf0d500000000),
  7166. 103: uint64(0x6ad6799b00000000),
  7167. 104: uint64(0xffb56cb000000000),
  7168. 105: uint64(0x56bee5fe00000000),
  7169. 106: uint64(0xada27e2d00000000),
  7170. 107: uint64(0x04a9f76300000000),
  7171. 108: uint64(0x1a9d395100000000),
  7172. 109: uint64(0xb396b01f00000000),
  7173. 110: uint64(0x488a2bcc00000000),
  7174. 111: uint64(0xe181a28200000000),
  7175. 112: uint64(0x624d019a00000000),
  7176. 113: uint64(0xcb4688d400000000),
  7177. 114: uint64(0x305a130700000000),
  7178. 115: uint64(0x99519a4900000000),
  7179. 116: uint64(0x8765547b00000000),
  7180. 117: uint64(0x2e6edd3500000000),
  7181. 118: uint64(0xd57246e600000000),
  7182. 119: uint64(0x7c79cfa800000000),
  7183. 120: uint64(0xe91ada8300000000),
  7184. 121: uint64(0x401153cd00000000),
  7185. 122: uint64(0xbb0dc81e00000000),
  7186. 123: uint64(0x1206415000000000),
  7187. 124: uint64(0x0c328f6200000000),
  7188. 125: uint64(0xa539062c00000000),
  7189. 126: uint64(0x5e259dff00000000),
  7190. 127: uint64(0xf72e14b100000000),
  7191. 128: uint64(0xf17ec44600000000),
  7192. 129: uint64(0x58754d0800000000),
  7193. 130: uint64(0xa369d6db00000000),
  7194. 131: uint64(0x0a625f9500000000),
  7195. 132: uint64(0x145691a700000000),
  7196. 133: uint64(0xbd5d18e900000000),
  7197. 134: uint64(0x4641833a00000000),
  7198. 135: uint64(0xef4a0a7400000000),
  7199. 136: uint64(0x7a291f5f00000000),
  7200. 137: uint64(0xd322961100000000),
  7201. 138: uint64(0x283e0dc200000000),
  7202. 139: uint64(0x8135848c00000000),
  7203. 140: uint64(0x9f014abe00000000),
  7204. 141: uint64(0x360ac3f000000000),
  7205. 142: uint64(0xcd16582300000000),
  7206. 143: uint64(0x641dd16d00000000),
  7207. 144: uint64(0xe7d1727500000000),
  7208. 145: uint64(0x4edafb3b00000000),
  7209. 146: uint64(0xb5c660e800000000),
  7210. 147: uint64(0x1ccde9a600000000),
  7211. 148: uint64(0x02f9279400000000),
  7212. 149: uint64(0xabf2aeda00000000),
  7213. 150: uint64(0x50ee350900000000),
  7214. 151: uint64(0xf9e5bc4700000000),
  7215. 152: uint64(0x6c86a96c00000000),
  7216. 153: uint64(0xc58d202200000000),
  7217. 154: uint64(0x3e91bbf100000000),
  7218. 155: uint64(0x979a32bf00000000),
  7219. 156: uint64(0x89aefc8d00000000),
  7220. 157: uint64(0x20a575c300000000),
  7221. 158: uint64(0xdbb9ee1000000000),
  7222. 159: uint64(0x72b2675e00000000),
  7223. 160: uint64(0xdd20a92100000000),
  7224. 161: uint64(0x742b206f00000000),
  7225. 162: uint64(0x8f37bbbc00000000),
  7226. 163: uint64(0x263c32f200000000),
  7227. 164: uint64(0x3808fcc000000000),
  7228. 165: uint64(0x9103758e00000000),
  7229. 166: uint64(0x6a1fee5d00000000),
  7230. 167: uint64(0xc314671300000000),
  7231. 168: uint64(0x5677723800000000),
  7232. 169: uint64(0xff7cfb7600000000),
  7233. 170: uint64(0x046060a500000000),
  7234. 171: uint64(0xad6be9eb00000000),
  7235. 172: uint64(0xb35f27d900000000),
  7236. 173: uint64(0x1a54ae9700000000),
  7237. 174: uint64(0xe148354400000000),
  7238. 175: uint64(0x4843bc0a00000000),
  7239. 176: uint64(0xcb8f1f1200000000),
  7240. 177: uint64(0x6284965c00000000),
  7241. 178: uint64(0x99980d8f00000000),
  7242. 179: uint64(0x309384c100000000),
  7243. 180: uint64(0x2ea74af300000000),
  7244. 181: uint64(0x87acc3bd00000000),
  7245. 182: uint64(0x7cb0586e00000000),
  7246. 183: uint64(0xd5bbd12000000000),
  7247. 184: uint64(0x40d8c40b00000000),
  7248. 185: uint64(0xe9d34d4500000000),
  7249. 186: uint64(0x12cfd69600000000),
  7250. 187: uint64(0xbbc45fd800000000),
  7251. 188: uint64(0xa5f091ea00000000),
  7252. 189: uint64(0x0cfb18a400000000),
  7253. 190: uint64(0xf7e7837700000000),
  7254. 191: uint64(0x5eec0a3900000000),
  7255. 192: uint64(0xa9c21e8800000000),
  7256. 193: uint64(0x00c997c600000000),
  7257. 194: uint64(0xfbd50c1500000000),
  7258. 195: uint64(0x52de855b00000000),
  7259. 196: uint64(0x4cea4b6900000000),
  7260. 197: uint64(0xe5e1c22700000000),
  7261. 198: uint64(0x1efd59f400000000),
  7262. 199: uint64(0xb7f6d0ba00000000),
  7263. 200: uint64(0x2295c59100000000),
  7264. 201: uint64(0x8b9e4cdf00000000),
  7265. 202: uint64(0x7082d70c00000000),
  7266. 203: uint64(0xd9895e4200000000),
  7267. 204: uint64(0xc7bd907000000000),
  7268. 205: uint64(0x6eb6193e00000000),
  7269. 206: uint64(0x95aa82ed00000000),
  7270. 207: uint64(0x3ca10ba300000000),
  7271. 208: uint64(0xbf6da8bb00000000),
  7272. 209: uint64(0x166621f500000000),
  7273. 210: uint64(0xed7aba2600000000),
  7274. 211: uint64(0x4471336800000000),
  7275. 212: uint64(0x5a45fd5a00000000),
  7276. 213: uint64(0xf34e741400000000),
  7277. 214: uint64(0x0852efc700000000),
  7278. 215: uint64(0xa159668900000000),
  7279. 216: uint64(0x343a73a200000000),
  7280. 217: uint64(0x9d31faec00000000),
  7281. 218: uint64(0x662d613f00000000),
  7282. 219: uint64(0xcf26e87100000000),
  7283. 220: uint64(0xd112264300000000),
  7284. 221: uint64(0x7819af0d00000000),
  7285. 222: uint64(0x830534de00000000),
  7286. 223: uint64(0x2a0ebd9000000000),
  7287. 224: uint64(0x859c73ef00000000),
  7288. 225: uint64(0x2c97faa100000000),
  7289. 226: uint64(0xd78b617200000000),
  7290. 227: uint64(0x7e80e83c00000000),
  7291. 228: uint64(0x60b4260e00000000),
  7292. 229: uint64(0xc9bfaf4000000000),
  7293. 230: uint64(0x32a3349300000000),
  7294. 231: uint64(0x9ba8bddd00000000),
  7295. 232: uint64(0x0ecba8f600000000),
  7296. 233: uint64(0xa7c021b800000000),
  7297. 234: uint64(0x5cdcba6b00000000),
  7298. 235: uint64(0xf5d7332500000000),
  7299. 236: uint64(0xebe3fd1700000000),
  7300. 237: uint64(0x42e8745900000000),
  7301. 238: uint64(0xb9f4ef8a00000000),
  7302. 239: uint64(0x10ff66c400000000),
  7303. 240: uint64(0x9333c5dc00000000),
  7304. 241: uint64(0x3a384c9200000000),
  7305. 242: uint64(0xc124d74100000000),
  7306. 243: uint64(0x682f5e0f00000000),
  7307. 244: uint64(0x761b903d00000000),
  7308. 245: uint64(0xdf10197300000000),
  7309. 246: uint64(0x240c82a000000000),
  7310. 247: uint64(0x8d070bee00000000),
  7311. 248: uint64(0x18641ec500000000),
  7312. 249: uint64(0xb16f978b00000000),
  7313. 250: uint64(0x4a730c5800000000),
  7314. 251: uint64(0xe378851600000000),
  7315. 252: uint64(0xfd4c4b2400000000),
  7316. 253: uint64(0x5447c26a00000000),
  7317. 254: uint64(0xaf5b59b900000000),
  7318. 255: uint64(0x0650d0f700000000),
  7319. },
  7320. 7: {
  7321. 1: uint64(0x479244af00000000),
  7322. 2: uint64(0xcf22f88500000000),
  7323. 3: uint64(0x88b0bc2a00000000),
  7324. 4: uint64(0xdf4381d000000000),
  7325. 5: uint64(0x98d1c57f00000000),
  7326. 6: uint64(0x1061795500000000),
  7327. 7: uint64(0x57f33dfa00000000),
  7328. 8: uint64(0xff81737a00000000),
  7329. 9: uint64(0xb81337d500000000),
  7330. 10: uint64(0x30a38bff00000000),
  7331. 11: uint64(0x7731cf5000000000),
  7332. 12: uint64(0x20c2f2aa00000000),
  7333. 13: uint64(0x6750b60500000000),
  7334. 14: uint64(0xefe00a2f00000000),
  7335. 15: uint64(0xa8724e8000000000),
  7336. 16: uint64(0xfe03e7f400000000),
  7337. 17: uint64(0xb991a35b00000000),
  7338. 18: uint64(0x31211f7100000000),
  7339. 19: uint64(0x76b35bde00000000),
  7340. 20: uint64(0x2140662400000000),
  7341. 21: uint64(0x66d2228b00000000),
  7342. 22: uint64(0xee629ea100000000),
  7343. 23: uint64(0xa9f0da0e00000000),
  7344. 24: uint64(0x0182948e00000000),
  7345. 25: uint64(0x4610d02100000000),
  7346. 26: uint64(0xcea06c0b00000000),
  7347. 27: uint64(0x893228a400000000),
  7348. 28: uint64(0xdec1155e00000000),
  7349. 29: uint64(0x995351f100000000),
  7350. 30: uint64(0x11e3eddb00000000),
  7351. 31: uint64(0x5671a97400000000),
  7352. 32: uint64(0xbd01bf3200000000),
  7353. 33: uint64(0xfa93fb9d00000000),
  7354. 34: uint64(0x722347b700000000),
  7355. 35: uint64(0x35b1031800000000),
  7356. 36: uint64(0x62423ee200000000),
  7357. 37: uint64(0x25d07a4d00000000),
  7358. 38: uint64(0xad60c66700000000),
  7359. 39: uint64(0xeaf282c800000000),
  7360. 40: uint64(0x4280cc4800000000),
  7361. 41: uint64(0x051288e700000000),
  7362. 42: uint64(0x8da234cd00000000),
  7363. 43: uint64(0xca30706200000000),
  7364. 44: uint64(0x9dc34d9800000000),
  7365. 45: uint64(0xda51093700000000),
  7366. 46: uint64(0x52e1b51d00000000),
  7367. 47: uint64(0x1573f1b200000000),
  7368. 48: uint64(0x430258c600000000),
  7369. 49: uint64(0x04901c6900000000),
  7370. 50: uint64(0x8c20a04300000000),
  7371. 51: uint64(0xcbb2e4ec00000000),
  7372. 52: uint64(0x9c41d91600000000),
  7373. 53: uint64(0xdbd39db900000000),
  7374. 54: uint64(0x5363219300000000),
  7375. 55: uint64(0x14f1653c00000000),
  7376. 56: uint64(0xbc832bbc00000000),
  7377. 57: uint64(0xfb116f1300000000),
  7378. 58: uint64(0x73a1d33900000000),
  7379. 59: uint64(0x3433979600000000),
  7380. 60: uint64(0x63c0aa6c00000000),
  7381. 61: uint64(0x2452eec300000000),
  7382. 62: uint64(0xace252e900000000),
  7383. 63: uint64(0xeb70164600000000),
  7384. 64: uint64(0x7a037e6500000000),
  7385. 65: uint64(0x3d913aca00000000),
  7386. 66: uint64(0xb52186e000000000),
  7387. 67: uint64(0xf2b3c24f00000000),
  7388. 68: uint64(0xa540ffb500000000),
  7389. 69: uint64(0xe2d2bb1a00000000),
  7390. 70: uint64(0x6a62073000000000),
  7391. 71: uint64(0x2df0439f00000000),
  7392. 72: uint64(0x85820d1f00000000),
  7393. 73: uint64(0xc21049b000000000),
  7394. 74: uint64(0x4aa0f59a00000000),
  7395. 75: uint64(0x0d32b13500000000),
  7396. 76: uint64(0x5ac18ccf00000000),
  7397. 77: uint64(0x1d53c86000000000),
  7398. 78: uint64(0x95e3744a00000000),
  7399. 79: uint64(0xd27130e500000000),
  7400. 80: uint64(0x8400999100000000),
  7401. 81: uint64(0xc392dd3e00000000),
  7402. 82: uint64(0x4b22611400000000),
  7403. 83: uint64(0x0cb025bb00000000),
  7404. 84: uint64(0x5b43184100000000),
  7405. 85: uint64(0x1cd15cee00000000),
  7406. 86: uint64(0x9461e0c400000000),
  7407. 87: uint64(0xd3f3a46b00000000),
  7408. 88: uint64(0x7b81eaeb00000000),
  7409. 89: uint64(0x3c13ae4400000000),
  7410. 90: uint64(0xb4a3126e00000000),
  7411. 91: uint64(0xf33156c100000000),
  7412. 92: uint64(0xa4c26b3b00000000),
  7413. 93: uint64(0xe3502f9400000000),
  7414. 94: uint64(0x6be093be00000000),
  7415. 95: uint64(0x2c72d71100000000),
  7416. 96: uint64(0xc702c15700000000),
  7417. 97: uint64(0x809085f800000000),
  7418. 98: uint64(0x082039d200000000),
  7419. 99: uint64(0x4fb27d7d00000000),
  7420. 100: uint64(0x1841408700000000),
  7421. 101: uint64(0x5fd3042800000000),
  7422. 102: uint64(0xd763b80200000000),
  7423. 103: uint64(0x90f1fcad00000000),
  7424. 104: uint64(0x3883b22d00000000),
  7425. 105: uint64(0x7f11f68200000000),
  7426. 106: uint64(0xf7a14aa800000000),
  7427. 107: uint64(0xb0330e0700000000),
  7428. 108: uint64(0xe7c033fd00000000),
  7429. 109: uint64(0xa052775200000000),
  7430. 110: uint64(0x28e2cb7800000000),
  7431. 111: uint64(0x6f708fd700000000),
  7432. 112: uint64(0x390126a300000000),
  7433. 113: uint64(0x7e93620c00000000),
  7434. 114: uint64(0xf623de2600000000),
  7435. 115: uint64(0xb1b19a8900000000),
  7436. 116: uint64(0xe642a77300000000),
  7437. 117: uint64(0xa1d0e3dc00000000),
  7438. 118: uint64(0x29605ff600000000),
  7439. 119: uint64(0x6ef21b5900000000),
  7440. 120: uint64(0xc68055d900000000),
  7441. 121: uint64(0x8112117600000000),
  7442. 122: uint64(0x09a2ad5c00000000),
  7443. 123: uint64(0x4e30e9f300000000),
  7444. 124: uint64(0x19c3d40900000000),
  7445. 125: uint64(0x5e5190a600000000),
  7446. 126: uint64(0xd6e12c8c00000000),
  7447. 127: uint64(0x9173682300000000),
  7448. 128: uint64(0xf406fcca00000000),
  7449. 129: uint64(0xb394b86500000000),
  7450. 130: uint64(0x3b24044f00000000),
  7451. 131: uint64(0x7cb640e000000000),
  7452. 132: uint64(0x2b457d1a00000000),
  7453. 133: uint64(0x6cd739b500000000),
  7454. 134: uint64(0xe467859f00000000),
  7455. 135: uint64(0xa3f5c13000000000),
  7456. 136: uint64(0x0b878fb000000000),
  7457. 137: uint64(0x4c15cb1f00000000),
  7458. 138: uint64(0xc4a5773500000000),
  7459. 139: uint64(0x8337339a00000000),
  7460. 140: uint64(0xd4c40e6000000000),
  7461. 141: uint64(0x93564acf00000000),
  7462. 142: uint64(0x1be6f6e500000000),
  7463. 143: uint64(0x5c74b24a00000000),
  7464. 144: uint64(0x0a051b3e00000000),
  7465. 145: uint64(0x4d975f9100000000),
  7466. 146: uint64(0xc527e3bb00000000),
  7467. 147: uint64(0x82b5a71400000000),
  7468. 148: uint64(0xd5469aee00000000),
  7469. 149: uint64(0x92d4de4100000000),
  7470. 150: uint64(0x1a64626b00000000),
  7471. 151: uint64(0x5df626c400000000),
  7472. 152: uint64(0xf584684400000000),
  7473. 153: uint64(0xb2162ceb00000000),
  7474. 154: uint64(0x3aa690c100000000),
  7475. 155: uint64(0x7d34d46e00000000),
  7476. 156: uint64(0x2ac7e99400000000),
  7477. 157: uint64(0x6d55ad3b00000000),
  7478. 158: uint64(0xe5e5111100000000),
  7479. 159: uint64(0xa27755be00000000),
  7480. 160: uint64(0x490743f800000000),
  7481. 161: uint64(0x0e95075700000000),
  7482. 162: uint64(0x8625bb7d00000000),
  7483. 163: uint64(0xc1b7ffd200000000),
  7484. 164: uint64(0x9644c22800000000),
  7485. 165: uint64(0xd1d6868700000000),
  7486. 166: uint64(0x59663aad00000000),
  7487. 167: uint64(0x1ef47e0200000000),
  7488. 168: uint64(0xb686308200000000),
  7489. 169: uint64(0xf114742d00000000),
  7490. 170: uint64(0x79a4c80700000000),
  7491. 171: uint64(0x3e368ca800000000),
  7492. 172: uint64(0x69c5b15200000000),
  7493. 173: uint64(0x2e57f5fd00000000),
  7494. 174: uint64(0xa6e749d700000000),
  7495. 175: uint64(0xe1750d7800000000),
  7496. 176: uint64(0xb704a40c00000000),
  7497. 177: uint64(0xf096e0a300000000),
  7498. 178: uint64(0x78265c8900000000),
  7499. 179: uint64(0x3fb4182600000000),
  7500. 180: uint64(0x684725dc00000000),
  7501. 181: uint64(0x2fd5617300000000),
  7502. 182: uint64(0xa765dd5900000000),
  7503. 183: uint64(0xe0f799f600000000),
  7504. 184: uint64(0x4885d77600000000),
  7505. 185: uint64(0x0f1793d900000000),
  7506. 186: uint64(0x87a72ff300000000),
  7507. 187: uint64(0xc0356b5c00000000),
  7508. 188: uint64(0x97c656a600000000),
  7509. 189: uint64(0xd054120900000000),
  7510. 190: uint64(0x58e4ae2300000000),
  7511. 191: uint64(0x1f76ea8c00000000),
  7512. 192: uint64(0x8e0582af00000000),
  7513. 193: uint64(0xc997c60000000000),
  7514. 194: uint64(0x41277a2a00000000),
  7515. 195: uint64(0x06b53e8500000000),
  7516. 196: uint64(0x5146037f00000000),
  7517. 197: uint64(0x16d447d000000000),
  7518. 198: uint64(0x9e64fbfa00000000),
  7519. 199: uint64(0xd9f6bf5500000000),
  7520. 200: uint64(0x7184f1d500000000),
  7521. 201: uint64(0x3616b57a00000000),
  7522. 202: uint64(0xbea6095000000000),
  7523. 203: uint64(0xf9344dff00000000),
  7524. 204: uint64(0xaec7700500000000),
  7525. 205: uint64(0xe95534aa00000000),
  7526. 206: uint64(0x61e5888000000000),
  7527. 207: uint64(0x2677cc2f00000000),
  7528. 208: uint64(0x7006655b00000000),
  7529. 209: uint64(0x379421f400000000),
  7530. 210: uint64(0xbf249dde00000000),
  7531. 211: uint64(0xf8b6d97100000000),
  7532. 212: uint64(0xaf45e48b00000000),
  7533. 213: uint64(0xe8d7a02400000000),
  7534. 214: uint64(0x60671c0e00000000),
  7535. 215: uint64(0x27f558a100000000),
  7536. 216: uint64(0x8f87162100000000),
  7537. 217: uint64(0xc815528e00000000),
  7538. 218: uint64(0x40a5eea400000000),
  7539. 219: uint64(0x0737aa0b00000000),
  7540. 220: uint64(0x50c497f100000000),
  7541. 221: uint64(0x1756d35e00000000),
  7542. 222: uint64(0x9fe66f7400000000),
  7543. 223: uint64(0xd8742bdb00000000),
  7544. 224: uint64(0x33043d9d00000000),
  7545. 225: uint64(0x7496793200000000),
  7546. 226: uint64(0xfc26c51800000000),
  7547. 227: uint64(0xbbb481b700000000),
  7548. 228: uint64(0xec47bc4d00000000),
  7549. 229: uint64(0xabd5f8e200000000),
  7550. 230: uint64(0x236544c800000000),
  7551. 231: uint64(0x64f7006700000000),
  7552. 232: uint64(0xcc854ee700000000),
  7553. 233: uint64(0x8b170a4800000000),
  7554. 234: uint64(0x03a7b66200000000),
  7555. 235: uint64(0x4435f2cd00000000),
  7556. 236: uint64(0x13c6cf3700000000),
  7557. 237: uint64(0x54548b9800000000),
  7558. 238: uint64(0xdce437b200000000),
  7559. 239: uint64(0x9b76731d00000000),
  7560. 240: uint64(0xcd07da6900000000),
  7561. 241: uint64(0x8a959ec600000000),
  7562. 242: uint64(0x022522ec00000000),
  7563. 243: uint64(0x45b7664300000000),
  7564. 244: uint64(0x12445bb900000000),
  7565. 245: uint64(0x55d61f1600000000),
  7566. 246: uint64(0xdd66a33c00000000),
  7567. 247: uint64(0x9af4e79300000000),
  7568. 248: uint64(0x3286a91300000000),
  7569. 249: uint64(0x7514edbc00000000),
  7570. 250: uint64(0xfda4519600000000),
  7571. 251: uint64(0xba36153900000000),
  7572. 252: uint64(0xedc528c300000000),
  7573. 253: uint64(0xaa576c6c00000000),
  7574. 254: uint64(0x22e7d04600000000),
  7575. 255: uint64(0x657594e900000000),
  7576. },
  7577. }
  7578. var _x2n_table = [32]Tz_crc_t{
  7579. 0: uint32(0x40000000),
  7580. 1: uint32(0x20000000),
  7581. 2: uint32(0x08000000),
  7582. 3: uint32(0x00800000),
  7583. 4: uint32(0x00008000),
  7584. 5: uint32(0xedb88320),
  7585. 6: uint32(0xb1e6b092),
  7586. 7: uint32(0xa06a2517),
  7587. 8: uint32(0xed627dae),
  7588. 9: uint32(0x88d14467),
  7589. 10: uint32(0xd7bbfe6a),
  7590. 11: uint32(0xec447f11),
  7591. 12: uint32(0x8e7ea170),
  7592. 13: uint32(0x6427800e),
  7593. 14: uint32(0x4d47bae0),
  7594. 15: uint32(0x09fe548f),
  7595. 16: uint32(0x83852d0f),
  7596. 17: uint32(0x30362f1a),
  7597. 18: uint32(0x7b5a9cc3),
  7598. 19: uint32(0x31fec169),
  7599. 20: uint32(0x9fec022a),
  7600. 21: uint32(0x6c8dedc4),
  7601. 22: uint32(0x15d6874d),
  7602. 23: uint32(0x5fde7a4e),
  7603. 24: uint32(0xbad90e37),
  7604. 25: uint32(0x2e4e5eef),
  7605. 26: uint32(0x4eaba214),
  7606. 27: uint32(0xa8a472c0),
  7607. 28: uint32(0x429a969e),
  7608. 29: uint32(0x148d302a),
  7609. 30: uint32(0xc40ba6d0),
  7610. 31: uint32(0xc4e22c3c),
  7611. }
  7612. /* CRC polynomial. */
  7613. // C documentation
  7614. //
  7615. // /*
  7616. // Return a(x) multiplied by b(x) modulo p(x), where p(x) is the CRC polynomial,
  7617. // reflected. For speed, this requires that a not be zero.
  7618. // */
  7619. func _multmodp(tls *libc.TLS, a Tz_crc_t, b Tz_crc_t) (r Tz_crc_t) {
  7620. var m, p Tz_crc_t
  7621. var v2 uint32
  7622. _, _, _ = m, p, v2
  7623. m = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31)
  7624. p = uint32(0)
  7625. for {
  7626. if a&m != 0 {
  7627. p ^= b
  7628. if a&(m-uint32(1)) == uint32(0) {
  7629. break
  7630. }
  7631. }
  7632. m >>= uint32(1)
  7633. if b&uint32(1) != 0 {
  7634. v2 = b>>libc.Int32FromInt32(1) ^ uint32(m_POLY)
  7635. } else {
  7636. v2 = b >> int32(1)
  7637. }
  7638. b = v2
  7639. goto _1
  7640. _1:
  7641. }
  7642. return p
  7643. }
  7644. // C documentation
  7645. //
  7646. // /*
  7647. // Return x^(n * 2^k) modulo p(x). Requires that x2n_table[] has been
  7648. // initialized.
  7649. // */
  7650. func _x2nmodp(tls *libc.TLS, n Toff_t, k uint32) (r Tz_crc_t) {
  7651. var p Tz_crc_t
  7652. _ = p
  7653. p = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31) /* x^0 == 1 */
  7654. for n != 0 {
  7655. if n&int64(1) != 0 {
  7656. p = _multmodp(tls, _x2n_table[k&uint32(31)], p)
  7657. }
  7658. n >>= int64(1)
  7659. k++
  7660. }
  7661. return p
  7662. }
  7663. // C documentation
  7664. //
  7665. // /* =========================================================================
  7666. // * This function can be used by asm versions of crc32(), and to force the
  7667. // * generation of the CRC tables in a threaded application.
  7668. // */
  7669. func Xget_crc_table(tls *libc.TLS) (r uintptr) {
  7670. return uintptr(unsafe.Pointer(&_crc_table))
  7671. }
  7672. /* =========================================================================
  7673. * Use ARM machine instructions if available. This will compute the CRC about
  7674. * ten times faster than the braided calculation. This code does not check for
  7675. * the presence of the CRC instruction at run time. __ARM_FEATURE_CRC32 will
  7676. * only be defined if the compilation specifies an ARM processor architecture
  7677. * that has the instructions. For example, compiling with -march=armv8.1-a or
  7678. * -march=armv8-a+crc, or -march=native if the compile machine has the crc32
  7679. * instructions.
  7680. */
  7681. // C documentation
  7682. //
  7683. // /*
  7684. // Return the CRC of the W bytes in the word_t data, taking the
  7685. // least-significant byte of the word as the first byte of data, without any pre
  7686. // or post conditioning. This is used to combine the CRCs of each braid.
  7687. // */
  7688. func _crc_word(tls *libc.TLS, data Tz_word_t) (r Tz_crc_t) {
  7689. var k int32
  7690. _ = k
  7691. k = 0
  7692. for {
  7693. if !(k < int32(m_W)) {
  7694. break
  7695. }
  7696. data = data>>libc.Int32FromInt32(8) ^ uint64(_crc_table[data&uint64(0xff)])
  7697. goto _1
  7698. _1:
  7699. ;
  7700. k++
  7701. }
  7702. return uint32(data)
  7703. }
  7704. func _crc_word_big(tls *libc.TLS, data Tz_word_t) (r Tz_word_t) {
  7705. var k int32
  7706. _ = k
  7707. k = 0
  7708. for {
  7709. if !(k < int32(m_W)) {
  7710. break
  7711. }
  7712. data = data<<libc.Int32FromInt32(8) ^ _crc_big_table[data>>((libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1))<<libc.Int32FromInt32(3))&uint64(0xff)]
  7713. goto _1
  7714. _1:
  7715. ;
  7716. k++
  7717. }
  7718. return data
  7719. }
  7720. // C documentation
  7721. //
  7722. // /* ========================================================================= */
  7723. func Xcrc32_z(tls *libc.TLS, crc uint64, buf uintptr, len1 Tz_size_t) (r uint64) {
  7724. bp := tls.Alloc(16)
  7725. defer tls.Free(16)
  7726. var blks, v2, v4 Tz_size_t
  7727. var comb, crc01, crc11, crc21, crc31, crc41, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41 Tz_word_t
  7728. var crc0, crc1, crc2, crc3, crc4 Tz_crc_t
  7729. var k int32
  7730. var words, v1, v10, v11, v12, v13, v14, v6, v7, v8, v9 uintptr
  7731. var _ /* endian at bp+0 */ uint32
  7732. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  7733. /* Return initial CRC, if requested. */
  7734. if buf == uintptr(m_Z_NULL) {
  7735. return uint64(0)
  7736. }
  7737. /* Pre-condition the CRC */
  7738. crc = ^crc & uint64(0xffffffff)
  7739. /* If provided enough bytes, do a braided CRC calculation. */
  7740. if len1 >= libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W)+libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) {
  7741. /* Compute the CRC up to a z_word_t boundary. */
  7742. for len1 != 0 && uint64(buf)&libc.Uint64FromInt32(libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) != uint64(0) {
  7743. len1--
  7744. v1 = buf
  7745. buf++
  7746. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v1))))&uint64(0xff)])
  7747. }
  7748. /* Compute the CRC on as many N z_word_t blocks as are available. */
  7749. blks = len1 / libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W))
  7750. len1 -= blks * uint64(m_N) * uint64(m_W)
  7751. words = buf
  7752. /* Do endian check at execution time instead of compile time, since ARM
  7753. processors can change the endianness at execution time. If the
  7754. compiler knows what the endianness will be, it can optimize out the
  7755. check and the unused branch. */
  7756. *(*uint32)(unsafe.Pointer(bp)) = uint32(1)
  7757. if *(*uint8)(unsafe.Pointer(bp)) != 0 {
  7758. /* Initialize the CRC for each braid. */
  7759. crc0 = uint32(crc)
  7760. crc1 = uint32(0)
  7761. crc2 = uint32(0)
  7762. crc3 = uint32(0)
  7763. crc4 = uint32(0)
  7764. /*
  7765. Process the first blks-1 blocks, computing the CRCs on each braid
  7766. independently.
  7767. */
  7768. for {
  7769. blks--
  7770. v2 = blks
  7771. if !(v2 != 0) {
  7772. break
  7773. }
  7774. /* Load the word for each braid into registers. */
  7775. word0 = uint64(crc0) ^ *(*Tz_word_t)(unsafe.Pointer(words))
  7776. word1 = uint64(crc1) ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  7777. word2 = uint64(crc2) ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  7778. word3 = uint64(crc3) ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  7779. word4 = uint64(crc4) ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  7780. words += uintptr(m_N) * 8
  7781. /* Compute and update the CRC for each word. The loop should
  7782. get unrolled. */
  7783. crc0 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word0&uint64(0xff))*4))
  7784. crc1 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word1&uint64(0xff))*4))
  7785. crc2 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word2&uint64(0xff))*4))
  7786. crc3 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word3&uint64(0xff))*4))
  7787. crc4 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word4&uint64(0xff))*4))
  7788. k = int32(1)
  7789. for {
  7790. if !(k < int32(m_W)) {
  7791. break
  7792. }
  7793. crc0 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word0>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  7794. crc1 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word1>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  7795. crc2 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word2>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  7796. crc3 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word3>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  7797. crc4 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word4>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  7798. goto _3
  7799. _3:
  7800. ;
  7801. k++
  7802. }
  7803. }
  7804. /*
  7805. Process the last block, combining the CRCs of the N braids at the
  7806. same time.
  7807. */
  7808. crc = uint64(_crc_word(tls, uint64(crc0)^*(*Tz_word_t)(unsafe.Pointer(words))))
  7809. crc = uint64(_crc_word(tls, uint64(crc1)^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^crc))
  7810. crc = uint64(_crc_word(tls, uint64(crc2)^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^crc))
  7811. crc = uint64(_crc_word(tls, uint64(crc3)^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^crc))
  7812. crc = uint64(_crc_word(tls, uint64(crc4)^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^crc))
  7813. words += uintptr(m_N) * 8
  7814. } else {
  7815. /* Initialize the CRC for each braid. */
  7816. crc01 = _byte_swap(tls, crc)
  7817. crc11 = uint64(0)
  7818. crc21 = uint64(0)
  7819. crc31 = uint64(0)
  7820. crc41 = uint64(0)
  7821. /*
  7822. Process the first blks-1 blocks, computing the CRCs on each braid
  7823. independently.
  7824. */
  7825. for {
  7826. blks--
  7827. v4 = blks
  7828. if !(v4 != 0) {
  7829. break
  7830. }
  7831. /* Load the word for each braid into registers. */
  7832. word01 = crc01 ^ *(*Tz_word_t)(unsafe.Pointer(words))
  7833. word11 = crc11 ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  7834. word21 = crc21 ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  7835. word31 = crc31 ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  7836. word41 = crc41 ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  7837. words += uintptr(m_N) * 8
  7838. /* Compute and update the CRC for each word. The loop should
  7839. get unrolled. */
  7840. crc01 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word01&uint64(0xff))*8))
  7841. crc11 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word11&uint64(0xff))*8))
  7842. crc21 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word21&uint64(0xff))*8))
  7843. crc31 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word31&uint64(0xff))*8))
  7844. crc41 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word41&uint64(0xff))*8))
  7845. k = int32(1)
  7846. for {
  7847. if !(k < int32(m_W)) {
  7848. break
  7849. }
  7850. 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))
  7851. 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))
  7852. 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))
  7853. 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))
  7854. 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))
  7855. goto _5
  7856. _5:
  7857. ;
  7858. k++
  7859. }
  7860. }
  7861. /*
  7862. Process the last block, combining the CRCs of the N braids at the
  7863. same time.
  7864. */
  7865. comb = _crc_word_big(tls, crc01^*(*Tz_word_t)(unsafe.Pointer(words)))
  7866. comb = _crc_word_big(tls, crc11^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^comb)
  7867. comb = _crc_word_big(tls, crc21^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^comb)
  7868. comb = _crc_word_big(tls, crc31^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^comb)
  7869. comb = _crc_word_big(tls, crc41^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^comb)
  7870. words += uintptr(m_N) * 8
  7871. crc = _byte_swap(tls, comb)
  7872. }
  7873. /*
  7874. Update the pointer to the remaining bytes to process.
  7875. */
  7876. buf = words
  7877. }
  7878. /* Complete the computation of the CRC on any remaining bytes. */
  7879. for len1 >= uint64(8) {
  7880. len1 -= uint64(8)
  7881. v6 = buf
  7882. buf++
  7883. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v6))))&uint64(0xff)])
  7884. v7 = buf
  7885. buf++
  7886. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v7))))&uint64(0xff)])
  7887. v8 = buf
  7888. buf++
  7889. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v8))))&uint64(0xff)])
  7890. v9 = buf
  7891. buf++
  7892. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v9))))&uint64(0xff)])
  7893. v10 = buf
  7894. buf++
  7895. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v10))))&uint64(0xff)])
  7896. v11 = buf
  7897. buf++
  7898. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v11))))&uint64(0xff)])
  7899. v12 = buf
  7900. buf++
  7901. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v12))))&uint64(0xff)])
  7902. v13 = buf
  7903. buf++
  7904. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v13))))&uint64(0xff)])
  7905. }
  7906. for len1 != 0 {
  7907. len1--
  7908. v14 = buf
  7909. buf++
  7910. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v14))))&uint64(0xff)])
  7911. }
  7912. /* Return the CRC, post-conditioned. */
  7913. return crc ^ uint64(0xffffffff)
  7914. }
  7915. // C documentation
  7916. //
  7917. // /* ========================================================================= */
  7918. func Xcrc32(tls *libc.TLS, crc uint64, buf uintptr, len1 TuInt) (r uint64) {
  7919. return Xcrc32_z(tls, crc, buf, uint64(len1))
  7920. }
  7921. // C documentation
  7922. //
  7923. // /* ========================================================================= */
  7924. func Xcrc32_combine64(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  7925. return uint64(_multmodp(tls, _x2nmodp(tls, len2, uint32(3)), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  7926. }
  7927. // C documentation
  7928. //
  7929. // /* ========================================================================= */
  7930. func Xcrc32_combine(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  7931. return Xcrc32_combine64(tls, crc1, crc2, len2)
  7932. }
  7933. // C documentation
  7934. //
  7935. // /* ========================================================================= */
  7936. func Xcrc32_combine_gen64(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  7937. return uint64(_x2nmodp(tls, len2, uint32(3)))
  7938. }
  7939. // C documentation
  7940. //
  7941. // /* ========================================================================= */
  7942. func Xcrc32_combine_gen(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  7943. return Xcrc32_combine_gen64(tls, len2)
  7944. }
  7945. // C documentation
  7946. //
  7947. // /* ========================================================================= */
  7948. func Xcrc32_combine_op(tls *libc.TLS, crc1 TuLong, crc2 TuLong, op TuLong) (r TuLong) {
  7949. return uint64(_multmodp(tls, uint32(op), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  7950. }
  7951. const m_BL_CODES = 19
  7952. const m_BUSY_STATE = 113
  7953. const m_Buf_size = 16
  7954. const m_COMMENT_STATE = 91
  7955. const m_D_CODES = 30
  7956. const m_EXTRA_STATE = 69
  7957. const m_FINISH_STATE = 666
  7958. const m_GZIP_STATE = 57
  7959. const m_HCRC_STATE = 103
  7960. const m_INIT_STATE = 42
  7961. const m_LENGTH_CODES = 29
  7962. const m_LITERALS = 256
  7963. const m_LIT_BUFS = 4
  7964. const m_MAX_BITS = 15
  7965. const m_MAX_STORED = 65535
  7966. const m_NAME_STATE = 73
  7967. const m_NIL = 0
  7968. const m_PRESET_DICT1 = 32
  7969. const m_TOO_FAR = 4096
  7970. const m_WIN_INIT = "MAX_MATCH"
  7971. const m_max_insert_length = "max_lazy_match"
  7972. type Tinternal_state = struct {
  7973. Fstrm Tz_streamp
  7974. Fstatus int32
  7975. Fpending_buf uintptr
  7976. Fpending_buf_size Tulg
  7977. Fpending_out uintptr
  7978. Fpending Tulg
  7979. Fwrap int32
  7980. Fgzhead Tgz_headerp
  7981. Fgzindex Tulg
  7982. Fmethod TByte
  7983. Flast_flush int32
  7984. Fw_size TuInt
  7985. Fw_bits TuInt
  7986. Fw_mask TuInt
  7987. Fwindow uintptr
  7988. Fwindow_size Tulg
  7989. Fprev uintptr
  7990. Fhead uintptr
  7991. Fins_h TuInt
  7992. Fhash_size TuInt
  7993. Fhash_bits TuInt
  7994. Fhash_mask TuInt
  7995. Fhash_shift TuInt
  7996. Fblock_start int64
  7997. Fmatch_length TuInt
  7998. Fprev_match TIPos
  7999. Fmatch_available int32
  8000. Fstrstart TuInt
  8001. Fmatch_start TuInt
  8002. Flookahead TuInt
  8003. Fprev_length TuInt
  8004. Fmax_chain_length TuInt
  8005. Fmax_lazy_match TuInt
  8006. Flevel int32
  8007. Fstrategy int32
  8008. Fgood_match TuInt
  8009. Fnice_match int32
  8010. Fdyn_ltree [573]Tct_data_s
  8011. Fdyn_dtree [61]Tct_data_s
  8012. Fbl_tree [39]Tct_data_s
  8013. Fl_desc Ttree_desc_s
  8014. Fd_desc Ttree_desc_s
  8015. Fbl_desc Ttree_desc_s
  8016. Fbl_count [16]Tush
  8017. Fheap [573]int32
  8018. Fheap_len int32
  8019. Fheap_max int32
  8020. Fdepth [573]Tuch
  8021. Fsym_buf uintptr
  8022. Flit_bufsize TuInt
  8023. Fsym_next TuInt
  8024. Fsym_end TuInt
  8025. Fopt_len Tulg
  8026. Fstatic_len Tulg
  8027. Fmatches TuInt
  8028. Finsert TuInt
  8029. Fbi_buf Tush
  8030. Fbi_valid int32
  8031. Fhigh_water Tulg
  8032. }
  8033. type Tct_data = struct {
  8034. Ffc struct {
  8035. Fcode [0]Tush
  8036. Ffreq Tush
  8037. }
  8038. Fdl struct {
  8039. Flen1 [0]Tush
  8040. Fdad Tush
  8041. }
  8042. }
  8043. type Tct_data_s = Tct_data
  8044. type Ttree_desc = struct {
  8045. Fdyn_tree uintptr
  8046. Fmax_code int32
  8047. Fstat_desc uintptr
  8048. }
  8049. type Ttree_desc_s = Ttree_desc
  8050. type TPos = uint16
  8051. type TPosf = uint16
  8052. type TIPos = uint32
  8053. type Tdeflate_state = struct {
  8054. Fstrm Tz_streamp
  8055. Fstatus int32
  8056. Fpending_buf uintptr
  8057. Fpending_buf_size Tulg
  8058. Fpending_out uintptr
  8059. Fpending Tulg
  8060. Fwrap int32
  8061. Fgzhead Tgz_headerp
  8062. Fgzindex Tulg
  8063. Fmethod TByte
  8064. Flast_flush int32
  8065. Fw_size TuInt
  8066. Fw_bits TuInt
  8067. Fw_mask TuInt
  8068. Fwindow uintptr
  8069. Fwindow_size Tulg
  8070. Fprev uintptr
  8071. Fhead uintptr
  8072. Fins_h TuInt
  8073. Fhash_size TuInt
  8074. Fhash_bits TuInt
  8075. Fhash_mask TuInt
  8076. Fhash_shift TuInt
  8077. Fblock_start int64
  8078. Fmatch_length TuInt
  8079. Fprev_match TIPos
  8080. Fmatch_available int32
  8081. Fstrstart TuInt
  8082. Fmatch_start TuInt
  8083. Flookahead TuInt
  8084. Fprev_length TuInt
  8085. Fmax_chain_length TuInt
  8086. Fmax_lazy_match TuInt
  8087. Flevel int32
  8088. Fstrategy int32
  8089. Fgood_match TuInt
  8090. Fnice_match int32
  8091. Fdyn_ltree [573]Tct_data_s
  8092. Fdyn_dtree [61]Tct_data_s
  8093. Fbl_tree [39]Tct_data_s
  8094. Fl_desc Ttree_desc_s
  8095. Fd_desc Ttree_desc_s
  8096. Fbl_desc Ttree_desc_s
  8097. Fbl_count [16]Tush
  8098. Fheap [573]int32
  8099. Fheap_len int32
  8100. Fheap_max int32
  8101. Fdepth [573]Tuch
  8102. Fsym_buf uintptr
  8103. Flit_bufsize TuInt
  8104. Fsym_next TuInt
  8105. Fsym_end TuInt
  8106. Fopt_len Tulg
  8107. Fstatic_len Tulg
  8108. Fmatches TuInt
  8109. Finsert TuInt
  8110. Fbi_buf Tush
  8111. Fbi_valid int32
  8112. Fhigh_water Tulg
  8113. }
  8114. /*
  8115. If you use the zlib library in a product, an acknowledgment is welcome
  8116. in the documentation of your product. If for some reason you cannot
  8117. include such an acknowledgment, I would appreciate that you keep this
  8118. copyright string in the executable of your product.
  8119. */
  8120. type Tblock_state = int32
  8121. const _need_more = 0
  8122. const /* block not completed, need more input or more output */
  8123. _block_done = 1
  8124. const /* block flush performed */
  8125. _finish_started = 2
  8126. const /* finish started, need only more output at next deflate */
  8127. _finish_done = 3
  8128. type Tcompress_func = uintptr
  8129. /* ===========================================================================
  8130. * Local data
  8131. */
  8132. /* Tail of hash chains */
  8133. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  8134. // C documentation
  8135. //
  8136. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  8137. // * the desired pack level (0..9). The values given below have been tuned to
  8138. // * exclude worst case performance for pathological files. Better values may be
  8139. // * found for specific files.
  8140. // */
  8141. type Tconfig = struct {
  8142. Fgood_length Tush
  8143. Fmax_lazy Tush
  8144. Fnice_length Tush
  8145. Fmax_chain Tush
  8146. Ffunc1 Tcompress_func
  8147. }
  8148. /* ===========================================================================
  8149. * Local data
  8150. */
  8151. /* Tail of hash chains */
  8152. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  8153. // C documentation
  8154. //
  8155. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  8156. // * the desired pack level (0..9). The values given below have been tuned to
  8157. // * exclude worst case performance for pathological files. Better values may be
  8158. // * found for specific files.
  8159. // */
  8160. type Tconfig_s = Tconfig
  8161. var _configuration_table = [10]Tconfig{
  8162. 0: {},
  8163. 1: {
  8164. Fgood_length: uint16(4),
  8165. Fmax_lazy: uint16(4),
  8166. Fnice_length: uint16(8),
  8167. Fmax_chain: uint16(4),
  8168. },
  8169. 2: {
  8170. Fgood_length: uint16(4),
  8171. Fmax_lazy: uint16(5),
  8172. Fnice_length: uint16(16),
  8173. Fmax_chain: uint16(8),
  8174. },
  8175. 3: {
  8176. Fgood_length: uint16(4),
  8177. Fmax_lazy: uint16(6),
  8178. Fnice_length: uint16(32),
  8179. Fmax_chain: uint16(32),
  8180. },
  8181. 4: {
  8182. Fgood_length: uint16(4),
  8183. Fmax_lazy: uint16(4),
  8184. Fnice_length: uint16(16),
  8185. Fmax_chain: uint16(16),
  8186. },
  8187. 5: {
  8188. Fgood_length: uint16(8),
  8189. Fmax_lazy: uint16(16),
  8190. Fnice_length: uint16(32),
  8191. Fmax_chain: uint16(32),
  8192. },
  8193. 6: {
  8194. Fgood_length: uint16(8),
  8195. Fmax_lazy: uint16(16),
  8196. Fnice_length: uint16(128),
  8197. Fmax_chain: uint16(128),
  8198. },
  8199. 7: {
  8200. Fgood_length: uint16(8),
  8201. Fmax_lazy: uint16(32),
  8202. Fnice_length: uint16(128),
  8203. Fmax_chain: uint16(256),
  8204. },
  8205. 8: {
  8206. Fgood_length: uint16(32),
  8207. Fmax_lazy: uint16(128),
  8208. Fnice_length: uint16(258),
  8209. Fmax_chain: uint16(1024),
  8210. },
  8211. 9: {
  8212. Fgood_length: uint16(32),
  8213. Fmax_lazy: uint16(258),
  8214. Fnice_length: uint16(258),
  8215. Fmax_chain: uint16(4096),
  8216. },
  8217. }
  8218. func init() {
  8219. p := unsafe.Pointer(&_configuration_table)
  8220. *(*uintptr)(unsafe.Add(p, 8)) = __ccgo_fp(_deflate_stored)
  8221. *(*uintptr)(unsafe.Add(p, 24)) = __ccgo_fp(_deflate_fast)
  8222. *(*uintptr)(unsafe.Add(p, 40)) = __ccgo_fp(_deflate_fast)
  8223. *(*uintptr)(unsafe.Add(p, 56)) = __ccgo_fp(_deflate_fast)
  8224. *(*uintptr)(unsafe.Add(p, 72)) = __ccgo_fp(_deflate_slow)
  8225. *(*uintptr)(unsafe.Add(p, 88)) = __ccgo_fp(_deflate_slow)
  8226. *(*uintptr)(unsafe.Add(p, 104)) = __ccgo_fp(_deflate_slow)
  8227. *(*uintptr)(unsafe.Add(p, 120)) = __ccgo_fp(_deflate_slow)
  8228. *(*uintptr)(unsafe.Add(p, 136)) = __ccgo_fp(_deflate_slow)
  8229. *(*uintptr)(unsafe.Add(p, 152)) = __ccgo_fp(_deflate_slow)
  8230. }
  8231. /* max compression */
  8232. /* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
  8233. * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
  8234. * meaning.
  8235. */
  8236. /* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
  8237. /* ===========================================================================
  8238. * Update a hash value with the given input byte
  8239. * IN assertion: all calls to UPDATE_HASH are made with consecutive input
  8240. * characters, so that a running hash key can be computed from the previous
  8241. * key instead of complete recalculation each time.
  8242. */
  8243. /* ===========================================================================
  8244. * Insert string str in the dictionary and set match_head to the previous head
  8245. * of the hash chain (the most recent string with same hash key). Return
  8246. * the previous length of the hash chain.
  8247. * If this file is compiled with -DFASTEST, the compression level is forced
  8248. * to 1, and no hash chains are maintained.
  8249. * IN assertion: all calls to INSERT_STRING are made with consecutive input
  8250. * characters and the first MIN_MATCH bytes of str are valid (except for
  8251. * the last MIN_MATCH-1 bytes of the input file).
  8252. */
  8253. /* ===========================================================================
  8254. * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
  8255. * prev[] will be initialized on the fly.
  8256. */
  8257. // C documentation
  8258. //
  8259. // /* ===========================================================================
  8260. // * Slide the hash table when sliding the window down (could be avoided with 32
  8261. // * bit values at the expense of memory usage). We slide even when level == 0 to
  8262. // * keep the hash table consistent if we switch back to level > 0 later.
  8263. // */
  8264. func _slide_hash(tls *libc.TLS, s uintptr) {
  8265. var m, n, v1, v4, v5, v8 uint32
  8266. var p, v3, v7 uintptr
  8267. var wsize TuInt
  8268. _, _, _, _, _, _, _, _, _, _ = m, n, p, wsize, v1, v3, v4, v5, v7, v8
  8269. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8270. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size
  8271. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr(n)*2
  8272. for {
  8273. p -= 2
  8274. v3 = p
  8275. m = uint32(*(*TPosf)(unsafe.Pointer(v3)))
  8276. if m >= wsize {
  8277. v4 = m - wsize
  8278. } else {
  8279. v4 = uint32(m_NIL)
  8280. }
  8281. *(*TPosf)(unsafe.Pointer(p)) = uint16(v4)
  8282. goto _2
  8283. _2:
  8284. ;
  8285. n--
  8286. v1 = n
  8287. if !(v1 != 0) {
  8288. break
  8289. }
  8290. }
  8291. n = wsize
  8292. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(n)*2
  8293. for {
  8294. p -= 2
  8295. v7 = p
  8296. m = uint32(*(*TPosf)(unsafe.Pointer(v7)))
  8297. if m >= wsize {
  8298. v8 = m - wsize
  8299. } else {
  8300. v8 = uint32(m_NIL)
  8301. }
  8302. *(*TPosf)(unsafe.Pointer(p)) = uint16(v8)
  8303. /* If n is not on any hash chain, prev[n] is garbage but
  8304. * its value will never be used.
  8305. */
  8306. goto _6
  8307. _6:
  8308. ;
  8309. n--
  8310. v5 = n
  8311. if !(v5 != 0) {
  8312. break
  8313. }
  8314. }
  8315. }
  8316. // C documentation
  8317. //
  8318. // /* ===========================================================================
  8319. // * Read a new buffer from the current input stream, update the adler32
  8320. // * and total number of bytes read. All deflate() input goes through
  8321. // * this function so some applications may wish to modify it to avoid
  8322. // * allocating a large strm->next_in buffer and copying from it.
  8323. // * (See also flush_pending()).
  8324. // */
  8325. func _read_buf(tls *libc.TLS, strm Tz_streamp, buf uintptr, size uint32) (r uint32) {
  8326. var len1 uint32
  8327. _ = len1
  8328. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  8329. if len1 > size {
  8330. len1 = size
  8331. }
  8332. if len1 == uint32(0) {
  8333. return uint32(0)
  8334. }
  8335. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  8336. libc.X__builtin___memcpy_chk(tls, buf, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(len1), ^t__predefined_size_t(0))
  8337. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(1) {
  8338. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  8339. } else {
  8340. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(2) {
  8341. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  8342. }
  8343. }
  8344. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  8345. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  8346. return len1
  8347. }
  8348. // C documentation
  8349. //
  8350. // /* ===========================================================================
  8351. // * Fill the window when the lookahead becomes insufficient.
  8352. // * Updates strstart and lookahead.
  8353. // *
  8354. // * IN assertion: lookahead < MIN_LOOKAHEAD
  8355. // * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
  8356. // * At least one byte has been read, or avail_in == 0; reads are
  8357. // * performed for at least two bytes (required for the zip translate_eol
  8358. // * option -- not supported here).
  8359. // */
  8360. func _fill_window(tls *libc.TLS, s uintptr) {
  8361. var curr, init1 Tulg
  8362. var more, n uint32
  8363. var str, wsize TuInt
  8364. _, _, _, _, _, _ = curr, init1, more, n, str, wsize /* Amount of free space at the end of the window. */
  8365. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8366. 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) {
  8367. more = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8368. /* Deal with !@#$% 64K limit: */
  8369. if uint64(4) <= uint64(2) {
  8370. if more == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8371. more = wsize
  8372. } else {
  8373. if more == libc.Uint32FromInt32(-libc.Int32FromInt32(1)) {
  8374. /* Very unlikely, but possible on 16 bit machine if
  8375. * strstart == 0 && lookahead == 1 (input done a byte at time)
  8376. */
  8377. more--
  8378. }
  8379. }
  8380. }
  8381. /* If the window is almost full and there is insufficient lookahead,
  8382. * move the upper half to the lower one to make room in the upper half.
  8383. */
  8384. 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))) {
  8385. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(wsize), uint64(wsize-more), ^t__predefined_size_t(0))
  8386. *(*TuInt)(unsafe.Pointer(s + 176)) -= wsize
  8387. *(*TuInt)(unsafe.Pointer(s + 172)) -= wsize /* we now have strstart >= MAX_DIST */
  8388. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32(wsize)
  8389. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  8390. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8391. }
  8392. _slide_hash(tls, s)
  8393. more += wsize
  8394. }
  8395. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) {
  8396. break
  8397. }
  8398. /* If there was no sliding:
  8399. * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
  8400. * more == window_size - lookahead - strstart
  8401. * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
  8402. * => more >= window_size - 2*WSIZE + 2
  8403. * In the BIG_MEM or MMAP case (not yet supported),
  8404. * window_size == input_size + MIN_LOOKAHEAD &&
  8405. * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
  8406. * Otherwise, window_size == 2*WSIZE so more >= 2.
  8407. * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
  8408. */
  8409. 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)
  8410. *(*TuInt)(unsafe.Pointer(s + 180)) += n
  8411. /* Initialize the hash value now that we have some input: */
  8412. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert >= uint32(m_MIN_MATCH) {
  8413. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  8414. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str))))
  8415. (*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
  8416. for (*Tdeflate_state)(unsafe.Pointer(s)).Finsert != 0 {
  8417. (*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
  8418. *(*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))
  8419. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  8420. str++
  8421. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert--
  8422. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert < uint32(m_MIN_MATCH) {
  8423. break
  8424. }
  8425. }
  8426. }
  8427. /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
  8428. * but this is not important since only literal bytes will be emitted.
  8429. */
  8430. }
  8431. /* If the WIN_INIT bytes after the end of the current data have never been
  8432. * written, then zero those bytes in order to avoid memory check reports of
  8433. * the use of uninitialized (or uninitialised as Julian writes) bytes by
  8434. * the longest match routines. Update the high water mark for the next
  8435. * time through here. WIN_INIT is set to MAX_MATCH since the longest match
  8436. * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
  8437. */
  8438. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size {
  8439. curr = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  8440. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr {
  8441. /* Previous high water mark below current data -- zero WIN_INIT
  8442. * bytes or up to end of window, whichever is less.
  8443. */
  8444. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - curr
  8445. if init1 > uint64(m_MAX_MATCH) {
  8446. init1 = uint64(m_MAX_MATCH)
  8447. }
  8448. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0, uint64(uint32(init1)), ^t__predefined_size_t(0))
  8449. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = curr + init1
  8450. } else {
  8451. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr+uint64(m_MAX_MATCH) {
  8452. /* High water mark at or above current data, but below current data
  8453. * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
  8454. * to end of window, whichever is less.
  8455. */
  8456. init1 = curr + uint64(m_MAX_MATCH) - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  8457. if init1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-(*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water {
  8458. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  8459. }
  8460. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water), 0, uint64(uint32(init1)), ^t__predefined_size_t(0))
  8461. *(*Tulg)(unsafe.Pointer(s + 5944)) += init1
  8462. }
  8463. }
  8464. }
  8465. }
  8466. // C documentation
  8467. //
  8468. // /* ========================================================================= */
  8469. func XdeflateInit_(tls *libc.TLS, strm Tz_streamp, level int32, version uintptr, stream_size int32) (r int32) {
  8470. 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)
  8471. /* To do: ignore strm->next_in if we use it as window */
  8472. }
  8473. // C documentation
  8474. //
  8475. // /* ========================================================================= */
  8476. 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) {
  8477. var s uintptr
  8478. var wrap int32
  8479. _, _ = s, wrap
  8480. wrap = int32(1)
  8481. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(_my_version[0]) || libc.Uint64FromInt32(stream_size) != uint64(112) {
  8482. return -int32(6)
  8483. }
  8484. if strm == uintptr(m_Z_NULL) {
  8485. return -int32(2)
  8486. }
  8487. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  8488. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  8489. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  8490. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  8491. }
  8492. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  8493. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  8494. }
  8495. if level == -int32(1) {
  8496. level = int32(6)
  8497. }
  8498. if windowBits < 0 { /* suppress zlib wrapper */
  8499. wrap = 0
  8500. if windowBits < -int32(15) {
  8501. return -int32(2)
  8502. }
  8503. windowBits = -windowBits
  8504. } else {
  8505. if windowBits > int32(15) {
  8506. wrap = int32(2) /* write gzip wrapper instead */
  8507. windowBits -= int32(16)
  8508. }
  8509. }
  8510. 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) {
  8511. return -int32(2)
  8512. }
  8513. if windowBits == int32(8) {
  8514. windowBits = int32(9)
  8515. } /* until 256-byte window bug fixed */
  8516. 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)))
  8517. if s == uintptr(m_Z_NULL) {
  8518. return -int32(4)
  8519. }
  8520. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = s
  8521. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm = strm
  8522. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_INIT_STATE) /* to pass state test in deflateReset() */
  8523. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  8524. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead = uintptr(m_Z_NULL)
  8525. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits = libc.Uint32FromInt32(windowBits)
  8526. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits)
  8527. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - uint32(1)
  8528. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits = libc.Uint32FromInt32(memLevel) + uint32(7)
  8529. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits)
  8530. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size - uint32(1)
  8531. (*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)
  8532. (*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)))
  8533. (*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)))
  8534. (*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)))
  8535. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64(0) /* nothing written to s->window yet */
  8536. (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize = libc.Uint32FromInt32(int32(1) << (memLevel + int32(6))) /* 16K elements by default */
  8537. /* We overlay pending_buf and sym_buf. This works since the average size
  8538. * for length/distance pairs over any compressed block is assured to be 31
  8539. * bits or less.
  8540. *
  8541. * Analysis: The longest fixed codes are a length code of 8 bits plus 5
  8542. * extra bits, for lengths 131 to 257. The longest fixed distance codes are
  8543. * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest
  8544. * possible fixed-codes length/distance pair is then 31 bits total.
  8545. *
  8546. * sym_buf starts one-fourth of the way into pending_buf. So there are
  8547. * three bytes in sym_buf for every four bytes in pending_buf. Each symbol
  8548. * in sym_buf is three bytes -- two for the distance and one for the
  8549. * literal/length. As each symbol is consumed, the pointer to the next
  8550. * sym_buf value to read moves forward three bytes. From that symbol, up to
  8551. * 31 bits are written to pending_buf. The closest the written pending_buf
  8552. * bits gets to the next sym_buf symbol to read is just before the last
  8553. * code is written. At that time, 31*(n - 2) bits have been written, just
  8554. * after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at
  8555. * 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1
  8556. * symbols are written.) The closest the writing gets to what is unread is
  8557. * then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and
  8558. * can range from 128 to 32768.
  8559. *
  8560. * Therefore, at a minimum, there are 142 bits of space between what is
  8561. * written and what is read in the overlain buffers, so the symbols cannot
  8562. * be overwritten by the compressed data. That space is actually 139 bits,
  8563. * due to the three-bit fixed-code block header.
  8564. *
  8565. * That covers the case where either Z_FIXED is specified, forcing fixed
  8566. * codes, or when the use of fixed codes is chosen, because that choice
  8567. * results in a smaller compressed block than dynamic codes. That latter
  8568. * condition then assures that the above analysis also covers all dynamic
  8569. * blocks. A dynamic-code block will only be chosen to be emitted if it has
  8570. * fewer bits than a fixed-code block would for the same set of symbols.
  8571. * Therefore its average symbol length is assured to be less than 31. So
  8572. * the compressed data for a dynamic block also cannot overwrite the
  8573. * symbols from which it is being constructed.
  8574. */
  8575. (*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)))
  8576. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize) * uint64(4)
  8577. 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) {
  8578. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  8579. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(4)]
  8580. XdeflateEnd(tls, strm)
  8581. return -int32(4)
  8582. }
  8583. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize)
  8584. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end = ((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize - uint32(1)) * uint32(3)
  8585. /* We avoid equality with lit_bufsize*3 because of wraparound at 64K
  8586. * on 16 bit machines and because stored blocks are restricted to
  8587. * 64K-1 bytes.
  8588. */
  8589. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  8590. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  8591. (*Tdeflate_state)(unsafe.Pointer(s)).Fmethod = libc.Uint8FromInt32(method)
  8592. return XdeflateReset(tls, strm)
  8593. }
  8594. var _my_version = [6]int8{'1', '.', '3', '.', '1'}
  8595. // C documentation
  8596. //
  8597. // /* =========================================================================
  8598. // * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
  8599. // */
  8600. func _deflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  8601. var s uintptr
  8602. _ = s
  8603. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  8604. return int32(1)
  8605. }
  8606. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8607. 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) {
  8608. return int32(1)
  8609. }
  8610. return 0
  8611. }
  8612. // C documentation
  8613. //
  8614. // /* ========================================================================= */
  8615. func XdeflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  8616. var avail uint32
  8617. var n, str, v1, v3 TuInt
  8618. var next, s uintptr
  8619. var wrap int32
  8620. _, _, _, _, _, _, _, _ = avail, n, next, s, str, wrap, v1, v3
  8621. if _deflateStateCheck(tls, strm) != 0 || dictionary == uintptr(m_Z_NULL) {
  8622. return -int32(2)
  8623. }
  8624. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8625. wrap = (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  8626. if wrap == int32(2) || wrap == int32(1) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != 0 {
  8627. return -int32(2)
  8628. }
  8629. /* when using zlib wrappers, compute Adler-32 for provided dictionary */
  8630. if wrap == int32(1) {
  8631. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, dictionary, dictLength)
  8632. }
  8633. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = 0 /* avoid computing Adler-32 in read_buf */
  8634. /* if dictionary would fill window, just replace the history */
  8635. if dictLength >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  8636. if wrap == 0 { /* already empty otherwise */
  8637. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  8638. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2), ^t__predefined_size_t(0))
  8639. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  8640. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  8641. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  8642. }
  8643. dictionary += uintptr(dictLength - (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) /* use the tail */
  8644. dictLength = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8645. }
  8646. /* insert dictionary into window and hash */
  8647. avail = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  8648. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  8649. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = dictLength
  8650. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = dictionary
  8651. _fill_window(tls, s)
  8652. for (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8653. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8654. n = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))
  8655. for {
  8656. (*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
  8657. *(*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))
  8658. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  8659. str++
  8660. goto _2
  8661. _2:
  8662. ;
  8663. n--
  8664. v1 = n
  8665. if !(v1 != 0) {
  8666. break
  8667. }
  8668. }
  8669. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = str
  8670. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8671. _fill_window(tls, s)
  8672. }
  8673. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8674. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8675. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8676. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  8677. v3 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8678. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v3
  8679. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v3
  8680. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8681. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  8682. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = avail
  8683. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  8684. return m_Z_OK
  8685. }
  8686. // C documentation
  8687. //
  8688. // /* ========================================================================= */
  8689. func XdeflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  8690. var len1 TuInt
  8691. var s uintptr
  8692. _, _ = len1, s
  8693. if _deflateStateCheck(tls, strm) != 0 {
  8694. return -int32(2)
  8695. }
  8696. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8697. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8698. if len1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  8699. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8700. }
  8701. if dictionary != uintptr(m_Z_NULL) && len1 != 0 {
  8702. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  8703. }
  8704. if dictLength != uintptr(m_Z_NULL) {
  8705. *(*TuInt)(unsafe.Pointer(dictLength)) = len1
  8706. }
  8707. return m_Z_OK
  8708. }
  8709. // C documentation
  8710. //
  8711. // /* ========================================================================= */
  8712. func XdeflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  8713. var s uintptr
  8714. var v1 TuLong
  8715. var v2 int32
  8716. var v3 uint64
  8717. _, _, _, _ = s, v1, v2, v3
  8718. if _deflateStateCheck(tls, strm) != 0 {
  8719. return -int32(2)
  8720. }
  8721. v1 = libc.Uint64FromInt32(0)
  8722. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  8723. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  8724. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* use zfree if we ever allocate msg dynamically */
  8725. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = int32(m_Z_UNKNOWN)
  8726. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8727. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = uint64(0)
  8728. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  8729. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap < 0 {
  8730. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap /* was made negative by deflate(..., Z_FINISH); */
  8731. }
  8732. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  8733. v2 = int32(m_GZIP_STATE)
  8734. } else {
  8735. v2 = int32(m_INIT_STATE)
  8736. }
  8737. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = v2
  8738. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  8739. v3 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  8740. } else {
  8741. v3 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  8742. }
  8743. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v3
  8744. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(2)
  8745. x__tr_init(tls, s)
  8746. return m_Z_OK
  8747. }
  8748. // C documentation
  8749. //
  8750. // /* ===========================================================================
  8751. // * Initialize the "longest match" routines for a new zlib stream
  8752. // */
  8753. func _lm_init(tls *libc.TLS, s uintptr) {
  8754. var v1 TuInt
  8755. _ = v1
  8756. (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size = libc.Uint64FromInt64(2) * uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  8757. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  8758. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2), ^t__predefined_size_t(0))
  8759. /* Set the default configuration parameters:
  8760. */
  8761. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_lazy)
  8762. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fgood_length)
  8763. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fnice_length)
  8764. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_chain)
  8765. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  8766. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  8767. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  8768. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  8769. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8770. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v1
  8771. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v1
  8772. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8773. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(0)
  8774. }
  8775. // C documentation
  8776. //
  8777. // /* ========================================================================= */
  8778. func XdeflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  8779. var ret int32
  8780. _ = ret
  8781. ret = XdeflateResetKeep(tls, strm)
  8782. if ret == m_Z_OK {
  8783. _lm_init(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  8784. }
  8785. return ret
  8786. }
  8787. // C documentation
  8788. //
  8789. // /* ========================================================================= */
  8790. func XdeflateSetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  8791. if _deflateStateCheck(tls, strm) != 0 || (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap != int32(2) {
  8792. return -int32(2)
  8793. }
  8794. (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fgzhead = head
  8795. return m_Z_OK
  8796. }
  8797. // C documentation
  8798. //
  8799. // /* ========================================================================= */
  8800. func XdeflatePending(tls *libc.TLS, strm Tz_streamp, pending uintptr, bits uintptr) (r int32) {
  8801. if _deflateStateCheck(tls, strm) != 0 {
  8802. return -int32(2)
  8803. }
  8804. if pending != uintptr(m_Z_NULL) {
  8805. *(*uint32)(unsafe.Pointer(pending)) = uint32((*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending)
  8806. }
  8807. if bits != uintptr(m_Z_NULL) {
  8808. *(*int32)(unsafe.Pointer(bits)) = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fbi_valid
  8809. }
  8810. return m_Z_OK
  8811. }
  8812. // C documentation
  8813. //
  8814. // /* ========================================================================= */
  8815. func XdeflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  8816. var put int32
  8817. var s, p1 uintptr
  8818. _, _, _ = put, s, p1
  8819. if _deflateStateCheck(tls, strm) != 0 {
  8820. return -int32(2)
  8821. }
  8822. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8823. 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)) {
  8824. return -int32(5)
  8825. }
  8826. for cond := true; cond; cond = bits != 0 {
  8827. put = int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid
  8828. if put > bits {
  8829. put = bits
  8830. }
  8831. p1 = s + 5936
  8832. *(*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)))
  8833. *(*int32)(unsafe.Pointer(s + 5940)) += put
  8834. x__tr_flush_bits(tls, s)
  8835. value >>= put
  8836. bits -= put
  8837. }
  8838. return m_Z_OK
  8839. }
  8840. // C documentation
  8841. //
  8842. // /* ========================================================================= */
  8843. func XdeflateParams(tls *libc.TLS, strm Tz_streamp, level int32, strategy int32) (r int32) {
  8844. var err int32
  8845. var func1 Tcompress_func
  8846. var s uintptr
  8847. _, _, _ = err, func1, s
  8848. if _deflateStateCheck(tls, strm) != 0 {
  8849. return -int32(2)
  8850. }
  8851. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8852. if level == -int32(1) {
  8853. level = int32(6)
  8854. }
  8855. if level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) {
  8856. return -int32(2)
  8857. }
  8858. func1 = _configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1
  8859. if (strategy != (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy || func1 != _configuration_table[level].Ffunc1) && (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush != -int32(2) {
  8860. /* Flush the last buffer: */
  8861. err = Xdeflate(tls, strm, int32(m_Z_BLOCK))
  8862. if err == -int32(2) {
  8863. return err
  8864. }
  8865. 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 {
  8866. return -int32(5)
  8867. }
  8868. }
  8869. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != level {
  8870. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches != uint32(0) {
  8871. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches == uint32(1) {
  8872. _slide_hash(tls, s)
  8873. } else {
  8874. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  8875. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2), ^t__predefined_size_t(0))
  8876. }
  8877. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(0)
  8878. }
  8879. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  8880. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[level].Fmax_lazy)
  8881. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[level].Fgood_length)
  8882. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[level].Fnice_length)
  8883. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[level].Fmax_chain)
  8884. }
  8885. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  8886. return m_Z_OK
  8887. }
  8888. // C documentation
  8889. //
  8890. // /* ========================================================================= */
  8891. func XdeflateTune(tls *libc.TLS, strm Tz_streamp, good_length int32, max_lazy int32, nice_length int32, max_chain int32) (r int32) {
  8892. var s uintptr
  8893. _ = s
  8894. if _deflateStateCheck(tls, strm) != 0 {
  8895. return -int32(2)
  8896. }
  8897. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8898. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = libc.Uint32FromInt32(good_length)
  8899. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = libc.Uint32FromInt32(max_lazy)
  8900. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = nice_length
  8901. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = libc.Uint32FromInt32(max_chain)
  8902. return m_Z_OK
  8903. }
  8904. // C documentation
  8905. //
  8906. // /* =========================================================================
  8907. // * For the default windowBits of 15 and memLevel of 8, this function returns a
  8908. // * close to exact, as well as small, upper bound on the compressed size. This
  8909. // * is an expansion of ~0.03%, plus a small constant.
  8910. // *
  8911. // * For any setting other than those defaults for windowBits and memLevel, one
  8912. // * of two worst case bounds is returned. This is at most an expansion of ~4% or
  8913. // * ~13%, plus a small constant.
  8914. // *
  8915. // * Both the 0.03% and 4% derive from the overhead of stored blocks. The first
  8916. // * one is for stored blocks of 16383 bytes (memLevel == 8), whereas the second
  8917. // * is for stored blocks of 127 bytes (the worst case memLevel == 1). The
  8918. // * expansion results from five bytes of header for each stored block.
  8919. // *
  8920. // * The larger expansion of 13% results from a window size less than or equal to
  8921. // * the symbols buffer size (windowBits <= memLevel + 7). In that case some of
  8922. // * the data being compressed may have slid out of the sliding window, impeding
  8923. // * a stored block from being emitted. Then the only choice is a fixed or
  8924. // * dynamic block, where a fixed block limits the maximum expansion to 9 bits
  8925. // * per 8-bit byte, plus 10 bits for every block. The smallest block size for
  8926. // * which this can occur is 255 (memLevel == 2).
  8927. // *
  8928. // * Shifts are used to approximate divisions, for speed.
  8929. // */
  8930. func XdeflateBound(tls *libc.TLS, strm Tz_streamp, sourceLen TuLong) (r TuLong) {
  8931. var fixedlen, storelen, wraplen TuLong
  8932. var s, str, v3, v5 uintptr
  8933. var v1, v7 uint64
  8934. var v2 int32
  8935. _, _, _, _, _, _, _, _, _, _ = fixedlen, s, storelen, str, wraplen, v1, v2, v3, v5, v7
  8936. /* upper bound for fixed blocks with 9-bit literals and length 255
  8937. (memLevel == 2, which is the lowest that may not use stored blocks) --
  8938. ~13% overhead plus a small constant */
  8939. fixedlen = sourceLen + sourceLen>>libc.Int32FromInt32(3) + sourceLen>>libc.Int32FromInt32(8) + sourceLen>>libc.Int32FromInt32(9) + uint64(4)
  8940. /* upper bound for stored blocks with length 127 (memLevel == 1) --
  8941. ~4% overhead plus a small constant */
  8942. storelen = sourceLen + sourceLen>>libc.Int32FromInt32(5) + sourceLen>>libc.Int32FromInt32(7) + sourceLen>>libc.Int32FromInt32(11) + uint64(7)
  8943. /* if can't get parameters, return larger bound plus a zlib wrapper */
  8944. if _deflateStateCheck(tls, strm) != 0 {
  8945. if fixedlen > storelen {
  8946. v1 = fixedlen
  8947. } else {
  8948. v1 = storelen
  8949. }
  8950. return v1 + uint64(6)
  8951. }
  8952. /* compute wrapper length */
  8953. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  8954. switch (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap {
  8955. case 0: /* raw deflate */
  8956. wraplen = uint64(0)
  8957. case int32(1): /* zlib wrapper */
  8958. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != 0 {
  8959. v2 = int32(4)
  8960. } else {
  8961. v2 = 0
  8962. }
  8963. wraplen = libc.Uint64FromInt32(int32(6) + v2)
  8964. case int32(2): /* gzip wrapper */
  8965. wraplen = uint64(18)
  8966. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead != uintptr(m_Z_NULL) {
  8967. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  8968. wraplen += uint64(uint32(2) + (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len)
  8969. }
  8970. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname
  8971. if str != uintptr(m_Z_NULL) {
  8972. for {
  8973. wraplen++
  8974. goto _4
  8975. _4:
  8976. ;
  8977. v3 = str
  8978. str++
  8979. if !(*(*TBytef)(unsafe.Pointer(v3)) != 0) {
  8980. break
  8981. }
  8982. }
  8983. }
  8984. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment
  8985. if str != uintptr(m_Z_NULL) {
  8986. for {
  8987. wraplen++
  8988. goto _6
  8989. _6:
  8990. ;
  8991. v5 = str
  8992. str++
  8993. if !(*(*TBytef)(unsafe.Pointer(v5)) != 0) {
  8994. break
  8995. }
  8996. }
  8997. }
  8998. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  8999. wraplen += uint64(2)
  9000. }
  9001. }
  9002. default: /* for compiler happiness */
  9003. wraplen = uint64(6)
  9004. }
  9005. /* if not default parameters, return one of the conservative bounds */
  9006. 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)) {
  9007. if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits <= (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits && (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != 0 {
  9008. v7 = fixedlen
  9009. } else {
  9010. v7 = storelen
  9011. }
  9012. return v7 + wraplen
  9013. }
  9014. /* default settings: return tight bound for that case -- ~0.03% overhead
  9015. plus a small constant */
  9016. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13) - uint64(6) + wraplen
  9017. }
  9018. // C documentation
  9019. //
  9020. // /* =========================================================================
  9021. // * Put a short in the pending buffer. The 16-bit value is put in MSB order.
  9022. // * IN assertion: the stream state is correct and there is enough room in
  9023. // * pending_buf.
  9024. // */
  9025. func _putShortMSB(tls *libc.TLS, s uintptr, b TuInt) {
  9026. var v1, v3 Tulg
  9027. var v2, v4 uintptr
  9028. _, _, _, _ = v1, v2, v3, v4
  9029. v2 = s + 40
  9030. v1 = *(*Tulg)(unsafe.Pointer(v2))
  9031. *(*Tulg)(unsafe.Pointer(v2))++
  9032. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = uint8(b >> libc.Int32FromInt32(8))
  9033. v4 = s + 40
  9034. v3 = *(*Tulg)(unsafe.Pointer(v4))
  9035. *(*Tulg)(unsafe.Pointer(v4))++
  9036. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = uint8(b & libc.Uint32FromInt32(0xff))
  9037. }
  9038. // C documentation
  9039. //
  9040. // /* =========================================================================
  9041. // * Flush as much pending output as possible. All deflate() output, except for
  9042. // * some deflate_stored() output, goes through this function so some
  9043. // * applications may wish to modify it to avoid allocating a large
  9044. // * strm->next_out buffer and copying into it. (See also read_buf()).
  9045. // */
  9046. func _flush_pending(tls *libc.TLS, strm Tz_streamp) {
  9047. var len1 uint32
  9048. var s uintptr
  9049. _, _ = len1, s
  9050. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  9051. x__tr_flush_bits(tls, s)
  9052. len1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  9053. if len1 > (*Tz_stream)(unsafe.Pointer(strm)).Favail_out {
  9054. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  9055. }
  9056. if len1 == uint32(0) {
  9057. return
  9058. }
  9059. libc.X__builtin___memcpy_chk(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out, uint64(len1), ^t__predefined_size_t(0))
  9060. *(*uintptr)(unsafe.Pointer(strm + 24)) += uintptr(len1)
  9061. *(*uintptr)(unsafe.Pointer(s + 32)) += uintptr(len1)
  9062. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(len1)
  9063. *(*TuInt)(unsafe.Pointer(strm + 32)) -= len1
  9064. *(*Tulg)(unsafe.Pointer(s + 40)) -= uint64(len1)
  9065. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == uint64(0) {
  9066. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  9067. }
  9068. }
  9069. /* ===========================================================================
  9070. * Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1].
  9071. */
  9072. // C documentation
  9073. //
  9074. // /* ========================================================================= */
  9075. func Xdeflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  9076. 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
  9077. var bstate Tblock_state
  9078. var copy1, header, left, level_flags TuInt
  9079. var old_flush, val, val1, v1, v2, v22, v23, v28, v29, v30, v31, v32, v43, v44, v63, v64, v65, v82 int32
  9080. 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
  9081. var v3 bool
  9082. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  9083. if _deflateStateCheck(tls, strm) != 0 || flush > int32(m_Z_BLOCK) || flush < 0 {
  9084. return -int32(2)
  9085. }
  9086. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  9087. 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) {
  9088. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(2)]
  9089. return -libc.Int32FromInt32(2)
  9090. }
  9091. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  9092. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  9093. return -libc.Int32FromInt32(5)
  9094. }
  9095. old_flush = (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush
  9096. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = flush
  9097. /* Flush as much pending output as possible */
  9098. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9099. _flush_pending(tls, strm)
  9100. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  9101. /* Since avail_out is 0, deflate will be called again with
  9102. * more output space, but possibly with both pending and
  9103. * avail_in equal to zero. There won't be anything to do,
  9104. * but this is not an error situation so make sure we
  9105. * return OK instead of BUF_ERROR at next call of deflate:
  9106. */
  9107. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  9108. return m_Z_OK
  9109. }
  9110. /* Make sure there is something to do and avoid duplicate consecutive
  9111. * flushes. For repeated and useless calls with Z_FINISH, we keep
  9112. * returning Z_STREAM_END instead of Z_BUF_ERROR.
  9113. */
  9114. } else {
  9115. if v3 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0); v3 {
  9116. if flush > int32(4) {
  9117. v1 = int32(9)
  9118. } else {
  9119. v1 = 0
  9120. }
  9121. if old_flush > int32(4) {
  9122. v2 = int32(9)
  9123. } else {
  9124. v2 = 0
  9125. }
  9126. }
  9127. if v3 && flush*int32(2)-v1 <= old_flush*int32(2)-v2 && flush != int32(m_Z_FINISH) {
  9128. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  9129. return -libc.Int32FromInt32(5)
  9130. }
  9131. }
  9132. /* User must not provide more input after the first FINISH: */
  9133. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
  9134. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  9135. return -libc.Int32FromInt32(5)
  9136. }
  9137. /* Write the header */
  9138. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == 0 {
  9139. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  9140. }
  9141. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) {
  9142. /* zlib header */
  9143. header = (uint32(m_Z_DEFLATED) + ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits-uint32(8))<<int32(4)) << int32(8)
  9144. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  9145. level_flags = uint32(0)
  9146. } else {
  9147. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(6) {
  9148. level_flags = uint32(1)
  9149. } else {
  9150. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(6) {
  9151. level_flags = uint32(2)
  9152. } else {
  9153. level_flags = uint32(3)
  9154. }
  9155. }
  9156. }
  9157. header |= level_flags << libc.Int32FromInt32(6)
  9158. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  9159. header |= uint32(m_PRESET_DICT1)
  9160. }
  9161. header += uint32(31) - header%uint32(31)
  9162. _putShortMSB(tls, s, header)
  9163. /* Save the adler32 of the preset dictionary: */
  9164. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  9165. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  9166. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  9167. }
  9168. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  9169. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  9170. /* Compression must start with an empty pending buffer */
  9171. _flush_pending(tls, strm)
  9172. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9173. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  9174. return m_Z_OK
  9175. }
  9176. }
  9177. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_GZIP_STATE) {
  9178. /* gzip header */
  9179. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  9180. v5 = s + 40
  9181. v4 = *(*Tulg)(unsafe.Pointer(v5))
  9182. *(*Tulg)(unsafe.Pointer(v5))++
  9183. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromInt32(31))
  9184. v7 = s + 40
  9185. v6 = *(*Tulg)(unsafe.Pointer(v7))
  9186. *(*Tulg)(unsafe.Pointer(v7))++
  9187. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromInt32(139))
  9188. v9 = s + 40
  9189. v8 = *(*Tulg)(unsafe.Pointer(v9))
  9190. *(*Tulg)(unsafe.Pointer(v9))++
  9191. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromInt32(8))
  9192. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead == uintptr(m_Z_NULL) {
  9193. v11 = s + 40
  9194. v10 = *(*Tulg)(unsafe.Pointer(v11))
  9195. *(*Tulg)(unsafe.Pointer(v11))++
  9196. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  9197. v13 = s + 40
  9198. v12 = *(*Tulg)(unsafe.Pointer(v13))
  9199. *(*Tulg)(unsafe.Pointer(v13))++
  9200. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  9201. v15 = s + 40
  9202. v14 = *(*Tulg)(unsafe.Pointer(v15))
  9203. *(*Tulg)(unsafe.Pointer(v15))++
  9204. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  9205. v17 = s + 40
  9206. v16 = *(*Tulg)(unsafe.Pointer(v17))
  9207. *(*Tulg)(unsafe.Pointer(v17))++
  9208. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  9209. v19 = s + 40
  9210. v18 = *(*Tulg)(unsafe.Pointer(v19))
  9211. *(*Tulg)(unsafe.Pointer(v19))++
  9212. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  9213. v21 = s + 40
  9214. v20 = *(*Tulg)(unsafe.Pointer(v21))
  9215. *(*Tulg)(unsafe.Pointer(v21))++
  9216. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  9217. v22 = int32(2)
  9218. } else {
  9219. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  9220. v23 = int32(4)
  9221. } else {
  9222. v23 = 0
  9223. }
  9224. v22 = v23
  9225. }
  9226. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(v22)
  9227. v25 = s + 40
  9228. v24 = *(*Tulg)(unsafe.Pointer(v25))
  9229. *(*Tulg)(unsafe.Pointer(v25))++
  9230. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromInt32(m_OS_CODE))
  9231. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  9232. /* Compression must start with an empty pending buffer */
  9233. _flush_pending(tls, strm)
  9234. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9235. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  9236. return m_Z_OK
  9237. }
  9238. } else {
  9239. v27 = s + 40
  9240. v26 = *(*Tulg)(unsafe.Pointer(v27))
  9241. *(*Tulg)(unsafe.Pointer(v27))++
  9242. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftext != 0 {
  9243. v28 = int32(1)
  9244. } else {
  9245. v28 = 0
  9246. }
  9247. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  9248. v29 = int32(2)
  9249. } else {
  9250. v29 = 0
  9251. }
  9252. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra == uintptr(m_Z_NULL) {
  9253. v30 = 0
  9254. } else {
  9255. v30 = int32(4)
  9256. }
  9257. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname == uintptr(m_Z_NULL) {
  9258. v31 = 0
  9259. } else {
  9260. v31 = int32(8)
  9261. }
  9262. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment == uintptr(m_Z_NULL) {
  9263. v32 = 0
  9264. } else {
  9265. v32 = int32(16)
  9266. }
  9267. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(v28 + v29 + v30 + v31 + v32)
  9268. v34 = s + 40
  9269. v33 = *(*Tulg)(unsafe.Pointer(v34))
  9270. *(*Tulg)(unsafe.Pointer(v34))++
  9271. *(*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))
  9272. v36 = s + 40
  9273. v35 = *(*Tulg)(unsafe.Pointer(v36))
  9274. *(*Tulg)(unsafe.Pointer(v36))++
  9275. *(*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))
  9276. v38 = s + 40
  9277. v37 = *(*Tulg)(unsafe.Pointer(v38))
  9278. *(*Tulg)(unsafe.Pointer(v38))++
  9279. *(*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))
  9280. v40 = s + 40
  9281. v39 = *(*Tulg)(unsafe.Pointer(v40))
  9282. *(*Tulg)(unsafe.Pointer(v40))++
  9283. *(*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))
  9284. v42 = s + 40
  9285. v41 = *(*Tulg)(unsafe.Pointer(v42))
  9286. *(*Tulg)(unsafe.Pointer(v42))++
  9287. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  9288. v43 = int32(2)
  9289. } else {
  9290. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  9291. v44 = int32(4)
  9292. } else {
  9293. v44 = 0
  9294. }
  9295. v43 = v44
  9296. }
  9297. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v41))) = libc.Uint8FromInt32(v43)
  9298. v46 = s + 40
  9299. v45 = *(*Tulg)(unsafe.Pointer(v46))
  9300. *(*Tulg)(unsafe.Pointer(v46))++
  9301. *(*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))
  9302. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  9303. v48 = s + 40
  9304. v47 = *(*Tulg)(unsafe.Pointer(v48))
  9305. *(*Tulg)(unsafe.Pointer(v48))++
  9306. *(*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))
  9307. v50 = s + 40
  9308. v49 = *(*Tulg)(unsafe.Pointer(v50))
  9309. *(*Tulg)(unsafe.Pointer(v50))++
  9310. *(*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))
  9311. }
  9312. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  9313. (*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))
  9314. }
  9315. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  9316. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_EXTRA_STATE)
  9317. }
  9318. }
  9319. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_EXTRA_STATE) {
  9320. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  9321. beg = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending /* start of bytes to update crc */
  9322. left = uint32(uint64((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len&libc.Uint32FromInt32(0xffff)) - (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex)
  9323. for (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(left) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  9324. copy1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  9325. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  9326. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size
  9327. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  9328. (*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))
  9329. }
  9330. *(*Tulg)(unsafe.Pointer(s + 64)) += uint64(copy1)
  9331. _flush_pending(tls, strm)
  9332. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9333. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  9334. return m_Z_OK
  9335. }
  9336. beg = uint64(0)
  9337. left -= copy1
  9338. }
  9339. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  9340. *(*Tulg)(unsafe.Pointer(s + 40)) += uint64(left)
  9341. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  9342. (*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))
  9343. }
  9344. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  9345. }
  9346. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_NAME_STATE)
  9347. }
  9348. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_NAME_STATE) {
  9349. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname != uintptr(m_Z_NULL) {
  9350. beg1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  9351. for cond := true; cond; cond = val != 0 {
  9352. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  9353. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  9354. (*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))
  9355. }
  9356. _flush_pending(tls, strm)
  9357. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9358. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  9359. return m_Z_OK
  9360. }
  9361. beg1 = uint64(0)
  9362. }
  9363. v52 = s + 64
  9364. v51 = *(*Tulg)(unsafe.Pointer(v52))
  9365. *(*Tulg)(unsafe.Pointer(v52))++
  9366. val = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname + uintptr(v51))))
  9367. v54 = s + 40
  9368. v53 = *(*Tulg)(unsafe.Pointer(v54))
  9369. *(*Tulg)(unsafe.Pointer(v54))++
  9370. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v53))) = libc.Uint8FromInt32(val)
  9371. }
  9372. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  9373. (*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))
  9374. }
  9375. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  9376. }
  9377. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_COMMENT_STATE)
  9378. }
  9379. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_COMMENT_STATE) {
  9380. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment != uintptr(m_Z_NULL) {
  9381. beg2 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  9382. for cond := true; cond; cond = val1 != 0 {
  9383. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  9384. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  9385. (*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))
  9386. }
  9387. _flush_pending(tls, strm)
  9388. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9389. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  9390. return m_Z_OK
  9391. }
  9392. beg2 = uint64(0)
  9393. }
  9394. v56 = s + 64
  9395. v55 = *(*Tulg)(unsafe.Pointer(v56))
  9396. *(*Tulg)(unsafe.Pointer(v56))++
  9397. val1 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment + uintptr(v55))))
  9398. v58 = s + 40
  9399. v57 = *(*Tulg)(unsafe.Pointer(v58))
  9400. *(*Tulg)(unsafe.Pointer(v58))++
  9401. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v57))) = libc.Uint8FromInt32(val1)
  9402. }
  9403. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  9404. (*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))
  9405. }
  9406. }
  9407. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_HCRC_STATE)
  9408. }
  9409. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_HCRC_STATE) {
  9410. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  9411. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(2) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  9412. _flush_pending(tls, strm)
  9413. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9414. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  9415. return m_Z_OK
  9416. }
  9417. }
  9418. v60 = s + 40
  9419. v59 = *(*Tulg)(unsafe.Pointer(v60))
  9420. *(*Tulg)(unsafe.Pointer(v60))++
  9421. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v59))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  9422. v62 = s + 40
  9423. v61 = *(*Tulg)(unsafe.Pointer(v62))
  9424. *(*Tulg)(unsafe.Pointer(v62))++
  9425. *(*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))
  9426. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  9427. }
  9428. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  9429. /* Compression must start with an empty pending buffer */
  9430. _flush_pending(tls, strm)
  9431. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9432. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  9433. return m_Z_OK
  9434. }
  9435. }
  9436. /* Start a new block or continue the current one.
  9437. */
  9438. 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) {
  9439. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 {
  9440. v63 = _deflate_stored(tls, s, flush)
  9441. } else {
  9442. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_HUFFMAN_ONLY) {
  9443. v64 = _deflate_huff(tls, s, flush)
  9444. } else {
  9445. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_RLE) {
  9446. v65 = _deflate_rle(tls, s, flush)
  9447. } else {
  9448. v65 = (*(*func(*libc.TLS, uintptr, int32) Tblock_state)(unsafe.Pointer(&struct{ uintptr }{_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1})))(tls, s, flush)
  9449. }
  9450. v64 = v65
  9451. }
  9452. v63 = v64
  9453. }
  9454. bstate = v63
  9455. if bstate == int32(_finish_started) || bstate == int32(_finish_done) {
  9456. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  9457. }
  9458. if bstate == int32(_need_more) || bstate == int32(_finish_started) {
  9459. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  9460. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR next call, see above */
  9461. }
  9462. return m_Z_OK
  9463. /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
  9464. * of deflate should use the same flush parameter to make sure
  9465. * that the flush is complete. So we don't have to output an
  9466. * empty block here, this will be done at next call. This also
  9467. * ensures that for a very small output buffer, we emit at most
  9468. * one empty block.
  9469. */
  9470. }
  9471. if bstate == int32(_block_done) {
  9472. if flush == int32(m_Z_PARTIAL_FLUSH) {
  9473. x__tr_align(tls, s)
  9474. } else {
  9475. if flush != int32(m_Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
  9476. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), 0)
  9477. /* For a full flush, this empty block will be recognized
  9478. * as a special marker by inflate_sync().
  9479. */
  9480. if flush == int32(m_Z_FULL_FLUSH) {
  9481. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  9482. libc.X__builtin___memset_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2), ^t__predefined_size_t(0)) /* forget history */
  9483. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  9484. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  9485. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  9486. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  9487. }
  9488. }
  9489. }
  9490. }
  9491. _flush_pending(tls, strm)
  9492. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  9493. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR at next call, see above */
  9494. return m_Z_OK
  9495. }
  9496. }
  9497. }
  9498. if flush != int32(m_Z_FINISH) {
  9499. return m_Z_OK
  9500. }
  9501. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap <= 0 {
  9502. return int32(m_Z_STREAM_END)
  9503. }
  9504. /* Write the trailer */
  9505. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  9506. v67 = s + 40
  9507. v66 = *(*Tulg)(unsafe.Pointer(v67))
  9508. *(*Tulg)(unsafe.Pointer(v67))++
  9509. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v66))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  9510. v69 = s + 40
  9511. v68 = *(*Tulg)(unsafe.Pointer(v69))
  9512. *(*Tulg)(unsafe.Pointer(v69))++
  9513. *(*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))
  9514. v71 = s + 40
  9515. v70 = *(*Tulg)(unsafe.Pointer(v71))
  9516. *(*Tulg)(unsafe.Pointer(v71))++
  9517. *(*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))
  9518. v73 = s + 40
  9519. v72 = *(*Tulg)(unsafe.Pointer(v73))
  9520. *(*Tulg)(unsafe.Pointer(v73))++
  9521. *(*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))
  9522. v75 = s + 40
  9523. v74 = *(*Tulg)(unsafe.Pointer(v75))
  9524. *(*Tulg)(unsafe.Pointer(v75))++
  9525. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v74))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in & libc.Uint64FromInt32(0xff))
  9526. v77 = s + 40
  9527. v76 = *(*Tulg)(unsafe.Pointer(v77))
  9528. *(*Tulg)(unsafe.Pointer(v77))++
  9529. *(*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))
  9530. v79 = s + 40
  9531. v78 = *(*Tulg)(unsafe.Pointer(v79))
  9532. *(*Tulg)(unsafe.Pointer(v79))++
  9533. *(*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))
  9534. v81 = s + 40
  9535. v80 = *(*Tulg)(unsafe.Pointer(v81))
  9536. *(*Tulg)(unsafe.Pointer(v81))++
  9537. *(*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))
  9538. } else {
  9539. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  9540. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  9541. }
  9542. _flush_pending(tls, strm)
  9543. /* If avail_out is zero, the application will call deflate again
  9544. * to flush the rest.
  9545. */
  9546. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap > 0 {
  9547. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  9548. } /* write the trailer only once! */
  9549. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  9550. v82 = m_Z_OK
  9551. } else {
  9552. v82 = int32(m_Z_STREAM_END)
  9553. }
  9554. return v82
  9555. }
  9556. // C documentation
  9557. //
  9558. // /* ========================================================================= */
  9559. func XdeflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  9560. var status, v1 int32
  9561. _, _ = status, v1
  9562. if _deflateStateCheck(tls, strm) != 0 {
  9563. return -int32(2)
  9564. }
  9565. status = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fstatus
  9566. /* Deallocate in reverse order of allocations: */
  9567. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf != 0 {
  9568. (*(*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)
  9569. }
  9570. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead != 0 {
  9571. (*(*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)
  9572. }
  9573. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev != 0 {
  9574. (*(*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)
  9575. }
  9576. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow != 0 {
  9577. (*(*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)
  9578. }
  9579. (*(*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)
  9580. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  9581. if status == int32(m_BUSY_STATE) {
  9582. v1 = -int32(3)
  9583. } else {
  9584. v1 = m_Z_OK
  9585. }
  9586. return v1
  9587. }
  9588. // C documentation
  9589. //
  9590. // /* =========================================================================
  9591. // * Copy the source state to the destination state.
  9592. // * To simplify the source, this is not supported for 16-bit MSDOS (which
  9593. // * doesn't have enough memory anyway to duplicate compression states).
  9594. // */
  9595. func XdeflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  9596. var ds, ss uintptr
  9597. _, _ = ds, ss
  9598. if _deflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  9599. return -int32(2)
  9600. }
  9601. ss = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  9602. libc.X__builtin___memcpy_chk(tls, dest, source, uint64(112), ^t__predefined_size_t(0))
  9603. 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)))
  9604. if ds == uintptr(m_Z_NULL) {
  9605. return -int32(4)
  9606. }
  9607. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = ds
  9608. libc.X__builtin___memcpy_chk(tls, ds, ss, uint64(5952), ^t__predefined_size_t(0))
  9609. (*Tdeflate_state)(unsafe.Pointer(ds)).Fstrm = dest
  9610. (*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)))
  9611. (*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)))
  9612. (*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)))
  9613. (*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)))
  9614. 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) {
  9615. XdeflateEnd(tls, dest)
  9616. return -int32(4)
  9617. }
  9618. /* following zmemcpy do not work for 16-bit MSDOS */
  9619. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  9620. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev, (*Tdeflate_state)(unsafe.Pointer(ss)).Fprev, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size)*uint64(2), ^t__predefined_size_t(0))
  9621. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead, (*Tdeflate_state)(unsafe.Pointer(ss)).Fhead, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fhash_size)*uint64(2), ^t__predefined_size_t(0))
  9622. libc.X__builtin___memcpy_chk(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)), ^t__predefined_size_t(0))
  9623. (*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))
  9624. (*Tdeflate_state)(unsafe.Pointer(ds)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize)
  9625. (*Tdeflate_state)(unsafe.Pointer(ds)).Fl_desc.Fdyn_tree = ds + 212
  9626. (*Tdeflate_state)(unsafe.Pointer(ds)).Fd_desc.Fdyn_tree = ds + 2504
  9627. (*Tdeflate_state)(unsafe.Pointer(ds)).Fbl_desc.Fdyn_tree = ds + 2748
  9628. return m_Z_OK
  9629. }
  9630. // C documentation
  9631. //
  9632. // /* ===========================================================================
  9633. // * Set match_start to the longest match starting at the given string and
  9634. // * return its length. Matches shorter or equal to prev_length are discarded,
  9635. // * in which case the result is equal to prev_length and match_start is
  9636. // * garbage.
  9637. // * IN assertions: cur_match is the head of the hash chain for the current
  9638. // * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
  9639. // * OUT assertion: the match length is not greater than s->lookahead.
  9640. // */
  9641. func _longest_match(tls *libc.TLS, s uintptr, cur_match TIPos) (r TuInt) {
  9642. var best_len, len1, nice_match int32
  9643. var chain_length, v1, v3 uint32
  9644. var limit, v2 TIPos
  9645. var match, prev, scan, strend, v10, v11, v13, v14, v16, v17, v19, v20, v22, v23, v25, v26, v28, v29, v6, v8, v9 uintptr
  9646. var scan_end, scan_end1 TByte
  9647. var wmask TuInt
  9648. var v12, v15, v18, v21, v24, v27, v30, v4, v7 bool
  9649. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  9650. chain_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length /* max hash chain length */
  9651. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) /* length of current match */
  9652. best_len = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length) /* best match length so far */
  9653. nice_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match
  9654. 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)) {
  9655. 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)))
  9656. } else {
  9657. v1 = uint32(m_NIL)
  9658. } /* stop if match long enough */
  9659. limit = v1
  9660. /* Stop when cur_match becomes <= limit. To simplify the code,
  9661. * we prevent matches with the string of window index 0.
  9662. */
  9663. prev = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev
  9664. wmask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask
  9665. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  9666. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  9667. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  9668. /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
  9669. * It is easy to get rid of this optimization if necessary.
  9670. */
  9671. /* Do not waste too much time if we already have a good match: */
  9672. if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match {
  9673. chain_length >>= uint32(2)
  9674. }
  9675. /* Do not look for matches beyond the end of the input. This is necessary
  9676. * to make deflate deterministic.
  9677. */
  9678. if libc.Uint32FromInt32(nice_match) > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  9679. nice_match = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  9680. }
  9681. for {
  9682. match = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(cur_match)
  9683. /* Skip to next match if the match length cannot increase
  9684. * or if the match length is less than 2. Note that the checks below
  9685. * for insufficient lookahead only occur occasionally for performance
  9686. * reasons. Therefore uninitialized memory will be accessed, and
  9687. * conditional jumps will be made that depend on those values.
  9688. * However the length of the match is limited to the lookahead, so
  9689. * the output of deflate is not affected by the uninitialized values.
  9690. */
  9691. 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 {
  9692. match++
  9693. v6 = match
  9694. }
  9695. if v7 || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v6))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan + 1))) {
  9696. goto _5
  9697. }
  9698. /* The check at best_len - 1 can be removed because it will be made
  9699. * again later. (This heuristic is not always a win.)
  9700. * It is not necessary to compare scan[2] and match[2] since they
  9701. * are always equal when the other bytes match, given that
  9702. * the hash keys are equal and that HASH_BITS >= 8.
  9703. */
  9704. scan += uintptr(2)
  9705. /* The check at best_len - 1 can be removed because it will be made
  9706. * again later. (This heuristic is not always a win.)
  9707. * It is not necessary to compare scan[2] and match[2] since they
  9708. * are always equal when the other bytes match, given that
  9709. * the hash keys are equal and that HASH_BITS >= 8.
  9710. */
  9711. match++
  9712. /* We check for insufficient lookahead only every 8th comparison;
  9713. * the 256th check will be made at strstart + 258.
  9714. */
  9715. for {
  9716. goto _31
  9717. _31:
  9718. ;
  9719. scan++
  9720. v8 = scan
  9721. match++
  9722. v9 = match
  9723. if v12 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v8))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v9))); v12 {
  9724. scan++
  9725. v10 = scan
  9726. match++
  9727. v11 = match
  9728. }
  9729. if v15 = v12 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v10))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v11))); v15 {
  9730. scan++
  9731. v13 = scan
  9732. match++
  9733. v14 = match
  9734. }
  9735. if v18 = v15 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v13))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v14))); v18 {
  9736. scan++
  9737. v16 = scan
  9738. match++
  9739. v17 = match
  9740. }
  9741. if v21 = v18 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v16))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v17))); v21 {
  9742. scan++
  9743. v19 = scan
  9744. match++
  9745. v20 = match
  9746. }
  9747. if v24 = v21 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v19))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v20))); v24 {
  9748. scan++
  9749. v22 = scan
  9750. match++
  9751. v23 = match
  9752. }
  9753. if v27 = v24 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v22))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v23))); v27 {
  9754. scan++
  9755. v25 = scan
  9756. match++
  9757. v26 = match
  9758. }
  9759. if v30 = v27 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v25))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v26))); v30 {
  9760. scan++
  9761. v28 = scan
  9762. match++
  9763. v29 = match
  9764. }
  9765. if !(v30 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v28))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v29))) && scan < strend) {
  9766. break
  9767. }
  9768. }
  9769. len1 = int32(m_MAX_MATCH) - int32(int64(strend)-int64(scan))
  9770. scan = strend - uintptr(m_MAX_MATCH)
  9771. if len1 > best_len {
  9772. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start = cur_match
  9773. best_len = len1
  9774. if len1 >= nice_match {
  9775. break
  9776. }
  9777. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  9778. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  9779. }
  9780. goto _5
  9781. _5:
  9782. ;
  9783. v2 = uint32(*(*TPosf)(unsafe.Pointer(prev + uintptr(cur_match&wmask)*2)))
  9784. cur_match = v2
  9785. if v4 = v2 > limit; v4 {
  9786. chain_length--
  9787. v3 = chain_length
  9788. }
  9789. if !(v4 && v3 != uint32(0)) {
  9790. break
  9791. }
  9792. }
  9793. if libc.Uint32FromInt32(best_len) <= (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  9794. return libc.Uint32FromInt32(best_len)
  9795. }
  9796. return (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  9797. }
  9798. /* ===========================================================================
  9799. * Flush the current block, with given end-of-file flag.
  9800. * IN assertion: strstart is set to the end of the current match.
  9801. */
  9802. /* Same but force premature exit if necessary. */
  9803. /* Maximum stored block length in deflate format (not including header). */
  9804. /* Minimum of a and b. */
  9805. // C documentation
  9806. //
  9807. // /* ===========================================================================
  9808. // * Copy without compression as much as possible from the input stream, return
  9809. // * the current block state.
  9810. // *
  9811. // * In case deflateParams() is used to later switch to a non-zero compression
  9812. // * level, s->matches (otherwise unused when storing) keeps track of the number
  9813. // * of hash table slides to perform. If s->matches is 1, then one hash table
  9814. // * slide will be done when switching. If s->matches is 2, the maximum value
  9815. // * allowed here, then the hash table will be cleared, since two or more slides
  9816. // * is the same as a clear.
  9817. // *
  9818. // * deflate_stored() is written to minimize the number of times an input byte is
  9819. // * copied. It is most efficient with large input and output buffers, which
  9820. // * maximizes the opportunities to have a single copy from next_in to next_out.
  9821. // */
  9822. func _deflate_stored(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  9823. var have, last, left, len1, min_block, used, v3, v4, v6, v7 uint32
  9824. var v1, v5 uint64
  9825. var v2, v8, v9 int32
  9826. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = have, last, left, len1, min_block, used, v1, v2, v3, v4, v5, v6, v7, v8, v9
  9827. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(5) > uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
  9828. v1 = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  9829. } else {
  9830. v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(5)
  9831. }
  9832. /* Smallest worthy block size when not flushing or finishing. By default
  9833. * this is 32K. This can be as small as 507 bytes for memLevel == 1. For
  9834. * large input and output buffers, the stored block size will be larger.
  9835. */
  9836. min_block = uint32(v1)
  9837. last = uint32(0)
  9838. used = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  9839. for cond := true; cond; cond = last == uint32(0) {
  9840. /* Set len to the maximum size block that we can copy directly with the
  9841. * available input data and output space. Set left to how much of that
  9842. * would be copied from what's left in the window.
  9843. */
  9844. len1 = uint32(m_MAX_STORED) /* maximum deflate stored block length */
  9845. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  9846. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out < have { /* need room for header */
  9847. break
  9848. }
  9849. /* maximum stored block length that will fit in avail_out: */
  9850. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out - have
  9851. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start) /* bytes left in window */
  9852. if uint64(len1) > uint64(left)+uint64((*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
  9853. len1 = left + (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  9854. } /* limit len to the input */
  9855. if len1 > have {
  9856. len1 = have
  9857. } /* limit len to the output */
  9858. /* If the stored block would be less than min_block in length, or if
  9859. * unable to copy all of the available input when flushing, then try
  9860. * copying to the window and the pending buffer instead. Also don't
  9861. * write an empty block when flushing -- deflate() does that.
  9862. */
  9863. 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) {
  9864. break
  9865. }
  9866. /* Make a dummy stored block in pending to get the header bytes,
  9867. * including any pending bits. This also updates the debugging counts.
  9868. */
  9869. if flush == int32(m_Z_FINISH) && len1 == left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  9870. v2 = int32(1)
  9871. } else {
  9872. v2 = 0
  9873. }
  9874. last = libc.Uint32FromInt32(v2)
  9875. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), libc.Int32FromUint32(last))
  9876. /* Replace the lengths in the dummy stored block with len. */
  9877. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(4)))) = uint8(len1)
  9878. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(3)))) = uint8(len1 >> int32(8))
  9879. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(2)))) = uint8(^len1)
  9880. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(1)))) = uint8(^len1 >> int32(8))
  9881. /* Write the stored block header bytes. */
  9882. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9883. /* Copy uncompressed bytes from the window to next_out. */
  9884. if left != 0 {
  9885. if left > len1 {
  9886. left = len1
  9887. }
  9888. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  9889. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(left)
  9890. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= left
  9891. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(left)
  9892. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(left)
  9893. len1 -= left
  9894. }
  9895. /* Copy uncompressed bytes directly from next_in to next_out, updating
  9896. * the check value.
  9897. */
  9898. if len1 != 0 {
  9899. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, len1)
  9900. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(len1)
  9901. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= len1
  9902. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(len1)
  9903. }
  9904. }
  9905. /* Update the sliding window with the last s->w_size bytes of the copied
  9906. * data, or append all of the copied data to the existing window if less
  9907. * than s->w_size bytes were copied. Also update the number of bytes to
  9908. * insert in the hash tables, in the event that deflateParams() switches to
  9909. * a non-zero compression level.
  9910. */
  9911. used -= (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in /* number of input bytes directly copied */
  9912. if used != 0 {
  9913. /* If any input was used, then no unused input remains in the window,
  9914. * therefore s->block_start == s->strstart.
  9915. */
  9916. if used >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size { /* supplant the previous history */
  9917. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(2) /* clear hash */
  9918. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  9919. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  9920. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  9921. } else {
  9922. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) <= uint64(used) {
  9923. /* Slide the window down. */
  9924. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  9925. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  9926. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  9927. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  9928. } /* add a pending slide_hash() */
  9929. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  9930. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  9931. }
  9932. }
  9933. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  9934. *(*TuInt)(unsafe.Pointer(s + 172)) += used
  9935. if used > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  9936. v3 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  9937. } else {
  9938. v3 = used
  9939. }
  9940. *(*TuInt)(unsafe.Pointer(s + 5932)) += v3
  9941. }
  9942. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9943. }
  9944. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  9945. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9946. }
  9947. /* If the last block was written to next_out, then done. */
  9948. if last != 0 {
  9949. return int32(_finish_done)
  9950. }
  9951. /* If flushing and all input has been consumed, then done. */
  9952. 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 {
  9953. return int32(_block_done)
  9954. }
  9955. /* Fill the window with any remaining input. */
  9956. have = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  9957. 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) {
  9958. /* Slide the window down. */
  9959. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  9960. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  9961. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  9962. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  9963. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  9964. } /* add a pending slide_hash() */
  9965. have += (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size /* more space now */
  9966. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  9967. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  9968. }
  9969. }
  9970. if have > (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  9971. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  9972. }
  9973. if have != 0 {
  9974. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), have)
  9975. *(*TuInt)(unsafe.Pointer(s + 172)) += have
  9976. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  9977. v4 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  9978. } else {
  9979. v4 = have
  9980. }
  9981. *(*TuInt)(unsafe.Pointer(s + 5932)) += v4
  9982. }
  9983. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  9984. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9985. }
  9986. /* There was not enough avail_out to write a complete worthy or flushed
  9987. * stored block to next_out. Write a stored block to pending instead, if we
  9988. * have enough input for a worthy block, or if flushing and there is enough
  9989. * room for the remaining input as a stored block in the pending buffer.
  9990. */
  9991. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  9992. /* maximum stored block length that will fit in pending: */
  9993. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(have) > libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED)) {
  9994. v5 = libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED))
  9995. } else {
  9996. v5 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(have)
  9997. }
  9998. have = uint32(v5)
  9999. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  10000. v6 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  10001. } else {
  10002. v6 = have
  10003. }
  10004. min_block = v6
  10005. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start)
  10006. 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 {
  10007. if left > have {
  10008. v7 = have
  10009. } else {
  10010. v7 = left
  10011. }
  10012. len1 = v7
  10013. if flush == int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && len1 == left {
  10014. v8 = int32(1)
  10015. } else {
  10016. v8 = 0
  10017. }
  10018. last = libc.Uint32FromInt32(v8)
  10019. 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))
  10020. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(len1)
  10021. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10022. }
  10023. /* We've done all we can with the available input and output. */
  10024. if last != 0 {
  10025. v9 = int32(_finish_started)
  10026. } else {
  10027. v9 = int32(_need_more)
  10028. }
  10029. return v9
  10030. }
  10031. // C documentation
  10032. //
  10033. // /* ===========================================================================
  10034. // * Compress as much as possible from the input stream, return the current
  10035. // * block state.
  10036. // * This function does not perform lazy evaluation of matches and inserts
  10037. // * new strings in the dictionary only for unmatched strings or for short
  10038. // * matches. It is used only for the fast compression options.
  10039. // */
  10040. func _deflate_fast(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  10041. var bflush, v9 int32
  10042. var cc, len1 Tuch
  10043. var dist Tush
  10044. var hash_head TIPos
  10045. var v10, v14, v16, v18, v3, v5, v7 TuInt
  10046. var v11, v15, v17, v19, v20, v22, v23, v4, v6, v8 uintptr
  10047. var v13, v2 TPosf
  10048. var v21 uint32
  10049. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  10050. for {
  10051. /* Make sure that we always have enough lookahead, except
  10052. * at the end of the input file. We need MAX_MATCH bytes
  10053. * for the next match, plus MIN_MATCH bytes to insert the
  10054. * string following the next match.
  10055. */
  10056. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  10057. _fill_window(tls, s)
  10058. 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 {
  10059. return int32(_need_more)
  10060. }
  10061. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  10062. break
  10063. } /* flush the current block */
  10064. }
  10065. /* Insert the string window[strstart .. strstart + 2] in the
  10066. * dictionary, and set hash_head to the head of the hash chain:
  10067. */
  10068. hash_head = uint32(m_NIL)
  10069. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  10070. (*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
  10071. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  10072. *(*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
  10073. hash_head = uint32(v2)
  10074. *(*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)
  10075. }
  10076. /* Find the longest match, discarding those <= prev_length.
  10077. * At this point we have always match_length < MIN_MATCH
  10078. */
  10079. 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)) {
  10080. /* To simplify the code, we prevent matches with the string
  10081. * of window index 0 (in particular we have to avoid a match
  10082. * of the string with itself at the start of the input file).
  10083. */
  10084. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  10085. /* longest_match() sets match_start */
  10086. }
  10087. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  10088. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  10089. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start)
  10090. v4 = s + 5900
  10091. v3 = *(*TuInt)(unsafe.Pointer(v4))
  10092. *(*TuInt)(unsafe.Pointer(v4))++
  10093. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  10094. v6 = s + 5900
  10095. v5 = *(*TuInt)(unsafe.Pointer(v6))
  10096. *(*TuInt)(unsafe.Pointer(v6))++
  10097. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  10098. v8 = s + 5900
  10099. v7 = *(*TuInt)(unsafe.Pointer(v8))
  10100. *(*TuInt)(unsafe.Pointer(v8))++
  10101. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  10102. dist--
  10103. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  10104. if libc.Int32FromUint16(dist) < int32(256) {
  10105. v9 = libc.Int32FromUint8(x__dist_code[dist])
  10106. } else {
  10107. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  10108. }
  10109. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  10110. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10111. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  10112. /* Insert new strings in the hash table only if the match length
  10113. * is not too large. This saves time but degrades compression.
  10114. */
  10115. 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) {
  10116. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length-- /* string at strstart already in table */
  10117. for {
  10118. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10119. (*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
  10120. v13 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  10121. *(*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
  10122. hash_head = uint32(v13)
  10123. *(*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)
  10124. /* strstart never exceeds WSIZE-MAX_MATCH, so there are
  10125. * always MIN_MATCH bytes ahead.
  10126. */
  10127. goto _12
  10128. _12:
  10129. ;
  10130. v11 = s + 160
  10131. *(*TuInt)(unsafe.Pointer(v11))--
  10132. v10 = *(*TuInt)(unsafe.Pointer(v11))
  10133. if !(v10 != uint32(0)) {
  10134. break
  10135. }
  10136. }
  10137. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10138. } else {
  10139. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  10140. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  10141. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))))
  10142. (*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
  10143. /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
  10144. * matter since it will be recomputed at next deflate call.
  10145. */
  10146. }
  10147. } else {
  10148. /* No match, output a literal byte */
  10149. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  10150. v15 = s + 5900
  10151. v14 = *(*TuInt)(unsafe.Pointer(v15))
  10152. *(*TuInt)(unsafe.Pointer(v15))++
  10153. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v14))) = uint8(0)
  10154. v17 = s + 5900
  10155. v16 = *(*TuInt)(unsafe.Pointer(v17))
  10156. *(*TuInt)(unsafe.Pointer(v17))++
  10157. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v16))) = uint8(0)
  10158. v19 = s + 5900
  10159. v18 = *(*TuInt)(unsafe.Pointer(v19))
  10160. *(*TuInt)(unsafe.Pointer(v19))++
  10161. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v18))) = cc
  10162. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  10163. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10164. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  10165. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10166. }
  10167. if bflush != 0 {
  10168. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10169. v20 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10170. } else {
  10171. v20 = libc.UintptrFromInt32(m_Z_NULL)
  10172. }
  10173. 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)
  10174. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10175. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10176. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10177. return int32(_need_more)
  10178. }
  10179. }
  10180. goto _1
  10181. _1:
  10182. }
  10183. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  10184. v21 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  10185. } else {
  10186. v21 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  10187. }
  10188. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v21
  10189. if flush == int32(m_Z_FINISH) {
  10190. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10191. v22 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10192. } else {
  10193. v22 = libc.UintptrFromInt32(m_Z_NULL)
  10194. }
  10195. 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))
  10196. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10197. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10198. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10199. return int32(_finish_started)
  10200. }
  10201. return int32(_finish_done)
  10202. }
  10203. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  10204. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10205. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10206. } else {
  10207. v23 = libc.UintptrFromInt32(m_Z_NULL)
  10208. }
  10209. 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)
  10210. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10211. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10212. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10213. return int32(_need_more)
  10214. }
  10215. }
  10216. return int32(_block_done)
  10217. }
  10218. // C documentation
  10219. //
  10220. // /* ===========================================================================
  10221. // * Same as above, but achieves better compression. We use a lazy
  10222. // * evaluation for matches: a match is finally adopted only if there is
  10223. // * no better match at the next window position.
  10224. // */
  10225. func _deflate_slow(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  10226. var bflush, v9 int32
  10227. var cc, cc1, len1 Tuch
  10228. var dist Tush
  10229. var hash_head TIPos
  10230. var max_insert, v10, v13, v17, v19, v21, v24, v26, v28, v3, v5, v7 TuInt
  10231. var v11, v14, v16, v18, v20, v22, v23, v25, v27, v29, v31, v32, v4, v6, v8 uintptr
  10232. var v15, v2 TPosf
  10233. var v30 uint32
  10234. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  10235. /* Process the input block. */
  10236. for {
  10237. /* Make sure that we always have enough lookahead, except
  10238. * at the end of the input file. We need MAX_MATCH bytes
  10239. * for the next match, plus MIN_MATCH bytes to insert the
  10240. * string following the next match.
  10241. */
  10242. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  10243. _fill_window(tls, s)
  10244. 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 {
  10245. return int32(_need_more)
  10246. }
  10247. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  10248. break
  10249. } /* flush the current block */
  10250. }
  10251. /* Insert the string window[strstart .. strstart + 2] in the
  10252. * dictionary, and set hash_head to the head of the hash chain:
  10253. */
  10254. hash_head = uint32(m_NIL)
  10255. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  10256. (*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
  10257. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  10258. *(*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
  10259. hash_head = uint32(v2)
  10260. *(*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)
  10261. }
  10262. /* Find the longest match, discarding those <= prev_length.
  10263. */
  10264. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  10265. /* Find the longest match, discarding those <= prev_length.
  10266. */
  10267. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start
  10268. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  10269. 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)) {
  10270. /* To simplify the code, we prevent matches with the string
  10271. * of window index 0 (in particular we have to avoid a match
  10272. * of the string with itself at the start of the input file).
  10273. */
  10274. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  10275. /* longest_match() sets match_start */
  10276. 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)) {
  10277. /* If prev_match is also MIN_MATCH, match_start is garbage
  10278. * but we will ignore the current match anyway.
  10279. */
  10280. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  10281. }
  10282. }
  10283. /* If there was a match at the previous step and the current
  10284. * match is not better, output the previous match:
  10285. */
  10286. 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 {
  10287. max_insert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - uint32(m_MIN_MATCH)
  10288. /* Do not insert strings in hash table beyond this. */
  10289. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - libc.Uint32FromInt32(m_MIN_MATCH))
  10290. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - libc.Uint32FromInt32(1) - (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match)
  10291. v4 = s + 5900
  10292. v3 = *(*TuInt)(unsafe.Pointer(v4))
  10293. *(*TuInt)(unsafe.Pointer(v4))++
  10294. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  10295. v6 = s + 5900
  10296. v5 = *(*TuInt)(unsafe.Pointer(v6))
  10297. *(*TuInt)(unsafe.Pointer(v6))++
  10298. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  10299. v8 = s + 5900
  10300. v7 = *(*TuInt)(unsafe.Pointer(v8))
  10301. *(*TuInt)(unsafe.Pointer(v8))++
  10302. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  10303. dist--
  10304. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  10305. if libc.Int32FromUint16(dist) < int32(256) {
  10306. v9 = libc.Int32FromUint8(x__dist_code[dist])
  10307. } else {
  10308. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  10309. }
  10310. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  10311. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10312. /* Insert in hash table all strings up to the end of the match.
  10313. * strstart - 1 and strstart are already inserted. If there is not
  10314. * enough lookahead, the last two strings are not inserted in
  10315. * the hash table.
  10316. */
  10317. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - uint32(1)
  10318. *(*TuInt)(unsafe.Pointer(s + 184)) -= uint32(2)
  10319. for {
  10320. v14 = s + 172
  10321. *(*TuInt)(unsafe.Pointer(v14))++
  10322. v13 = *(*TuInt)(unsafe.Pointer(v14))
  10323. if v13 <= max_insert {
  10324. (*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
  10325. v15 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  10326. *(*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
  10327. hash_head = uint32(v15)
  10328. *(*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)
  10329. }
  10330. goto _12
  10331. _12:
  10332. ;
  10333. v11 = s + 184
  10334. *(*TuInt)(unsafe.Pointer(v11))--
  10335. v10 = *(*TuInt)(unsafe.Pointer(v11))
  10336. if !(v10 != uint32(0)) {
  10337. break
  10338. }
  10339. }
  10340. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  10341. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  10342. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10343. if bflush != 0 {
  10344. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10345. v16 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10346. } else {
  10347. v16 = libc.UintptrFromInt32(m_Z_NULL)
  10348. }
  10349. 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)
  10350. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10351. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10352. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10353. return int32(_need_more)
  10354. }
  10355. }
  10356. } else {
  10357. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  10358. /* If there was no match at the previous position, output a
  10359. * single literal. If there was a match but the current match
  10360. * is longer, truncate the previous match to a single literal.
  10361. */
  10362. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  10363. v18 = s + 5900
  10364. v17 = *(*TuInt)(unsafe.Pointer(v18))
  10365. *(*TuInt)(unsafe.Pointer(v18))++
  10366. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v17))) = uint8(0)
  10367. v20 = s + 5900
  10368. v19 = *(*TuInt)(unsafe.Pointer(v20))
  10369. *(*TuInt)(unsafe.Pointer(v20))++
  10370. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v19))) = uint8(0)
  10371. v22 = s + 5900
  10372. v21 = *(*TuInt)(unsafe.Pointer(v22))
  10373. *(*TuInt)(unsafe.Pointer(v22))++
  10374. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v21))) = cc
  10375. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  10376. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10377. if bflush != 0 {
  10378. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10379. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10380. } else {
  10381. v23 = libc.UintptrFromInt32(m_Z_NULL)
  10382. }
  10383. 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)
  10384. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10385. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10386. }
  10387. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10388. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  10389. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10390. return int32(_need_more)
  10391. }
  10392. } else {
  10393. /* There is no previous match to compare with, wait for
  10394. * the next step to decide.
  10395. */
  10396. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = int32(1)
  10397. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10398. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  10399. }
  10400. }
  10401. goto _1
  10402. _1:
  10403. }
  10404. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  10405. cc1 = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  10406. v25 = s + 5900
  10407. v24 = *(*TuInt)(unsafe.Pointer(v25))
  10408. *(*TuInt)(unsafe.Pointer(v25))++
  10409. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v24))) = uint8(0)
  10410. v27 = s + 5900
  10411. v26 = *(*TuInt)(unsafe.Pointer(v27))
  10412. *(*TuInt)(unsafe.Pointer(v27))++
  10413. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v26))) = uint8(0)
  10414. v29 = s + 5900
  10415. v28 = *(*TuInt)(unsafe.Pointer(v29))
  10416. *(*TuInt)(unsafe.Pointer(v29))++
  10417. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v28))) = cc1
  10418. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc1)*4))++
  10419. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10420. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  10421. }
  10422. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  10423. v30 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  10424. } else {
  10425. v30 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  10426. }
  10427. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v30
  10428. if flush == int32(m_Z_FINISH) {
  10429. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10430. v31 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10431. } else {
  10432. v31 = libc.UintptrFromInt32(m_Z_NULL)
  10433. }
  10434. 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))
  10435. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10436. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10437. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10438. return int32(_finish_started)
  10439. }
  10440. return int32(_finish_done)
  10441. }
  10442. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  10443. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10444. v32 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10445. } else {
  10446. v32 = libc.UintptrFromInt32(m_Z_NULL)
  10447. }
  10448. 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)
  10449. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10450. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10451. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10452. return int32(_need_more)
  10453. }
  10454. }
  10455. return int32(_block_done)
  10456. }
  10457. // C documentation
  10458. //
  10459. // /* ===========================================================================
  10460. // * For Z_RLE, simply look for runs of bytes, generate matches only of distance
  10461. // * one. Do not maintain a hash table. (It will be regenerated if this run of
  10462. // * deflate switches away from Z_RLE.)
  10463. // */
  10464. func _deflate_rle(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  10465. var bflush, v29 int32
  10466. var cc, len1 Tuch
  10467. var dist Tush
  10468. var prev, v23, v25, v27, v30, v32, v34 TuInt
  10469. var scan, strend, v10, v12, v14, v16, v18, v2, v20, v24, v26, v28, v3, v31, v33, v35, v36, v37, v38, v5, v7, v8 uintptr
  10470. var v11, v13, v15, v17, v19, v21, v4, v6, v9 bool
  10471. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  10472. for {
  10473. /* Make sure that we always have enough lookahead, except
  10474. * at the end of the input file. We need MAX_MATCH bytes
  10475. * for the longest run, plus one for the unrolled loop.
  10476. */
  10477. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) {
  10478. _fill_window(tls, s)
  10479. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) && flush == m_Z_NO_FLUSH {
  10480. return int32(_need_more)
  10481. }
  10482. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  10483. break
  10484. } /* flush the current block */
  10485. }
  10486. /* See how many times the previous byte repeats */
  10487. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  10488. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > uint32(0) {
  10489. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - uintptr(1)
  10490. prev = uint32(*(*TBytef)(unsafe.Pointer(scan)))
  10491. scan++
  10492. v2 = scan
  10493. if v4 = prev == uint32(*(*TBytef)(unsafe.Pointer(v2))); v4 {
  10494. scan++
  10495. v3 = scan
  10496. }
  10497. if v6 = v4 && prev == uint32(*(*TBytef)(unsafe.Pointer(v3))); v6 {
  10498. scan++
  10499. v5 = scan
  10500. }
  10501. if v6 && prev == uint32(*(*TBytef)(unsafe.Pointer(v5))) {
  10502. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  10503. for {
  10504. goto _22
  10505. _22:
  10506. ;
  10507. scan++
  10508. v7 = scan
  10509. if v9 = prev == uint32(*(*TBytef)(unsafe.Pointer(v7))); v9 {
  10510. scan++
  10511. v8 = scan
  10512. }
  10513. if v11 = v9 && prev == uint32(*(*TBytef)(unsafe.Pointer(v8))); v11 {
  10514. scan++
  10515. v10 = scan
  10516. }
  10517. if v13 = v11 && prev == uint32(*(*TBytef)(unsafe.Pointer(v10))); v13 {
  10518. scan++
  10519. v12 = scan
  10520. }
  10521. if v15 = v13 && prev == uint32(*(*TBytef)(unsafe.Pointer(v12))); v15 {
  10522. scan++
  10523. v14 = scan
  10524. }
  10525. if v17 = v15 && prev == uint32(*(*TBytef)(unsafe.Pointer(v14))); v17 {
  10526. scan++
  10527. v16 = scan
  10528. }
  10529. if v19 = v17 && prev == uint32(*(*TBytef)(unsafe.Pointer(v16))); v19 {
  10530. scan++
  10531. v18 = scan
  10532. }
  10533. if v21 = v19 && prev == uint32(*(*TBytef)(unsafe.Pointer(v18))); v21 {
  10534. scan++
  10535. v20 = scan
  10536. }
  10537. if !(v21 && prev == uint32(*(*TBytef)(unsafe.Pointer(v20))) && scan < strend) {
  10538. break
  10539. }
  10540. }
  10541. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(m_MAX_MATCH) - libc.Uint32FromInt64(int64(strend)-int64(scan))
  10542. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  10543. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  10544. }
  10545. }
  10546. }
  10547. /* Emit match if have run of MIN_MATCH or longer, else emit literal */
  10548. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  10549. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  10550. dist = libc.Uint16FromInt32(libc.Int32FromInt32(1))
  10551. v24 = s + 5900
  10552. v23 = *(*TuInt)(unsafe.Pointer(v24))
  10553. *(*TuInt)(unsafe.Pointer(v24))++
  10554. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v23))) = uint8(dist)
  10555. v26 = s + 5900
  10556. v25 = *(*TuInt)(unsafe.Pointer(v26))
  10557. *(*TuInt)(unsafe.Pointer(v26))++
  10558. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v25))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  10559. v28 = s + 5900
  10560. v27 = *(*TuInt)(unsafe.Pointer(v28))
  10561. *(*TuInt)(unsafe.Pointer(v28))++
  10562. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v27))) = len1
  10563. dist--
  10564. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  10565. if libc.Int32FromUint16(dist) < int32(256) {
  10566. v29 = libc.Int32FromUint8(x__dist_code[dist])
  10567. } else {
  10568. v29 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  10569. }
  10570. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v29)*4))++
  10571. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10572. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  10573. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  10574. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  10575. } else {
  10576. /* No match, output a literal byte */
  10577. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  10578. v31 = s + 5900
  10579. v30 = *(*TuInt)(unsafe.Pointer(v31))
  10580. *(*TuInt)(unsafe.Pointer(v31))++
  10581. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v30))) = uint8(0)
  10582. v33 = s + 5900
  10583. v32 = *(*TuInt)(unsafe.Pointer(v33))
  10584. *(*TuInt)(unsafe.Pointer(v33))++
  10585. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v32))) = uint8(0)
  10586. v35 = s + 5900
  10587. v34 = *(*TuInt)(unsafe.Pointer(v35))
  10588. *(*TuInt)(unsafe.Pointer(v35))++
  10589. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v34))) = cc
  10590. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  10591. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10592. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  10593. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10594. }
  10595. if bflush != 0 {
  10596. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10597. v36 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10598. } else {
  10599. v36 = libc.UintptrFromInt32(m_Z_NULL)
  10600. }
  10601. 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)
  10602. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10603. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10604. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10605. return int32(_need_more)
  10606. }
  10607. }
  10608. goto _1
  10609. _1:
  10610. }
  10611. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  10612. if flush == int32(m_Z_FINISH) {
  10613. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10614. v37 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10615. } else {
  10616. v37 = libc.UintptrFromInt32(m_Z_NULL)
  10617. }
  10618. 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))
  10619. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10620. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10621. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10622. return int32(_finish_started)
  10623. }
  10624. return int32(_finish_done)
  10625. }
  10626. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  10627. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10628. v38 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10629. } else {
  10630. v38 = libc.UintptrFromInt32(m_Z_NULL)
  10631. }
  10632. 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)
  10633. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10634. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10635. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10636. return int32(_need_more)
  10637. }
  10638. }
  10639. return int32(_block_done)
  10640. }
  10641. // C documentation
  10642. //
  10643. // /* ===========================================================================
  10644. // * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.
  10645. // * (It will be regenerated if this run of deflate switches away from Huffman.)
  10646. // */
  10647. func _deflate_huff(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  10648. var bflush int32
  10649. var cc Tuch
  10650. var v10, v3, v5, v7, v8, v9 uintptr
  10651. var v2, v4, v6 TuInt
  10652. _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, v10, v2, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  10653. for {
  10654. /* Make sure that we have a literal to write. */
  10655. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  10656. _fill_window(tls, s)
  10657. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  10658. if flush == m_Z_NO_FLUSH {
  10659. return int32(_need_more)
  10660. }
  10661. break /* flush the current block */
  10662. }
  10663. }
  10664. /* Output a literal byte */
  10665. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  10666. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  10667. v3 = s + 5900
  10668. v2 = *(*TuInt)(unsafe.Pointer(v3))
  10669. *(*TuInt)(unsafe.Pointer(v3))++
  10670. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))) = uint8(0)
  10671. v5 = s + 5900
  10672. v4 = *(*TuInt)(unsafe.Pointer(v5))
  10673. *(*TuInt)(unsafe.Pointer(v5))++
  10674. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v4))) = uint8(0)
  10675. v7 = s + 5900
  10676. v6 = *(*TuInt)(unsafe.Pointer(v7))
  10677. *(*TuInt)(unsafe.Pointer(v7))++
  10678. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v6))) = cc
  10679. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  10680. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  10681. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  10682. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  10683. if bflush != 0 {
  10684. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10685. v8 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10686. } else {
  10687. v8 = libc.UintptrFromInt32(m_Z_NULL)
  10688. }
  10689. 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)
  10690. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10691. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10692. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10693. return int32(_need_more)
  10694. }
  10695. }
  10696. goto _1
  10697. _1:
  10698. }
  10699. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  10700. if flush == int32(m_Z_FINISH) {
  10701. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10702. v9 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10703. } else {
  10704. v9 = libc.UintptrFromInt32(m_Z_NULL)
  10705. }
  10706. 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))
  10707. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10708. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10709. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10710. return int32(_finish_started)
  10711. }
  10712. return int32(_finish_done)
  10713. }
  10714. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  10715. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  10716. v10 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  10717. } else {
  10718. v10 = libc.UintptrFromInt32(m_Z_NULL)
  10719. }
  10720. 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)
  10721. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  10722. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  10723. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  10724. return int32(_need_more)
  10725. }
  10726. }
  10727. return int32(_block_done)
  10728. }
  10729. const m_ENOUGH_DISTS = 592
  10730. const m_ENOUGH_LENS = 852
  10731. const m_PRESET_DICT2 = 0x20
  10732. type Tcode = struct {
  10733. Fop uint8
  10734. Fbits uint8
  10735. Fval uint16
  10736. }
  10737. type Tcodetype = int32
  10738. const _CODES = 0
  10739. const _LENS = 1
  10740. const _DISTS = 2
  10741. type Tinflate_mode = int32
  10742. const _HEAD = 16180
  10743. const _FLAGS = 16181
  10744. const _TIME = 16182
  10745. const _OS = 16183
  10746. const _EXLEN = 16184
  10747. const _EXTRA = 16185
  10748. const _NAME = 16186
  10749. const _COMMENT = 16187
  10750. const _HCRC = 16188
  10751. const _DICTID = 16189
  10752. const _DICT = 16190
  10753. const _TYPE = 16191
  10754. const _TYPEDO = 16192
  10755. const _STORED = 16193
  10756. const _COPY_ = 16194
  10757. const _COPY = 16195
  10758. const _TABLE = 16196
  10759. const _LENLENS = 16197
  10760. const _CODELENS = 16198
  10761. const _LEN_ = 16199
  10762. const _LEN = 16200
  10763. const _LENEXT = 16201
  10764. const _DIST = 16202
  10765. const _DISTEXT = 16203
  10766. const _MATCH = 16204
  10767. const _LIT = 16205
  10768. const _CHECK = 16206
  10769. const _LENGTH = 16207
  10770. const _DONE = 16208
  10771. const _BAD = 16209
  10772. const _MEM = 16210
  10773. const _SYNC = 16211
  10774. type Tinflate_state = struct {
  10775. Fstrm Tz_streamp
  10776. Fmode Tinflate_mode
  10777. Flast int32
  10778. Fwrap int32
  10779. Fhavedict int32
  10780. Fflags int32
  10781. Fdmax uint32
  10782. Fcheck uint64
  10783. Ftotal uint64
  10784. Fhead Tgz_headerp
  10785. Fwbits uint32
  10786. Fwsize uint32
  10787. Fwhave uint32
  10788. Fwnext uint32
  10789. Fwindow uintptr
  10790. Fhold uint64
  10791. Fbits uint32
  10792. Flength uint32
  10793. Foffset uint32
  10794. Fextra uint32
  10795. Flencode uintptr
  10796. Fdistcode uintptr
  10797. Flenbits uint32
  10798. Fdistbits uint32
  10799. Fncode uint32
  10800. Fnlen uint32
  10801. Fndist uint32
  10802. Fhave uint32
  10803. Fnext uintptr
  10804. Flens [320]uint16
  10805. Fwork [288]uint16
  10806. Fcodes [1444]Tcode
  10807. Fsane int32
  10808. Fback int32
  10809. Fwas uint32
  10810. }
  10811. // C documentation
  10812. //
  10813. // /*
  10814. // strm provides memory allocation functions in zalloc and zfree, or
  10815. // Z_NULL to use the library memory allocation functions.
  10816. //
  10817. // windowBits is in the range 8..15, and window is a user-supplied
  10818. // window and output buffer that is 2**windowBits bytes.
  10819. // */
  10820. func XinflateBackInit_(tls *libc.TLS, strm Tz_streamp, windowBits int32, window uintptr, version uintptr, stream_size int32) (r int32) {
  10821. var state uintptr
  10822. _ = state
  10823. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
  10824. return -int32(6)
  10825. }
  10826. if strm == uintptr(m_Z_NULL) || window == uintptr(m_Z_NULL) || windowBits < int32(8) || windowBits > int32(15) {
  10827. return -int32(2)
  10828. }
  10829. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  10830. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  10831. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  10832. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  10833. }
  10834. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  10835. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  10836. }
  10837. 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)))
  10838. if state == uintptr(m_Z_NULL) {
  10839. return -int32(4)
  10840. }
  10841. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  10842. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  10843. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  10844. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << windowBits
  10845. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = window
  10846. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  10847. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  10848. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  10849. return m_Z_OK
  10850. }
  10851. // C documentation
  10852. //
  10853. // /*
  10854. // Return state with length and distance decoding tables and index sizes set to
  10855. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  10856. // If BUILDFIXED is defined, then instead this routine builds the tables the
  10857. // first time it's called, and returns those tables the first time and
  10858. // thereafter. This reduces the size of the code by about 2K bytes, in
  10859. // exchange for a little execution time. However, BUILDFIXED should not be
  10860. // used for threaded applications, since the rewriting of the tables and virgin
  10861. // may not be thread-safe.
  10862. // */
  10863. func _fixedtables(tls *libc.TLS, state uintptr) {
  10864. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix))
  10865. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  10866. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix))
  10867. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  10868. }
  10869. var _lenfix = [512]Tcode{
  10870. 0: {
  10871. Fop: uint8(96),
  10872. Fbits: uint8(7),
  10873. },
  10874. 1: {
  10875. Fbits: uint8(8),
  10876. Fval: uint16(80),
  10877. },
  10878. 2: {
  10879. Fbits: uint8(8),
  10880. Fval: uint16(16),
  10881. },
  10882. 3: {
  10883. Fop: uint8(20),
  10884. Fbits: uint8(8),
  10885. Fval: uint16(115),
  10886. },
  10887. 4: {
  10888. Fop: uint8(18),
  10889. Fbits: uint8(7),
  10890. Fval: uint16(31),
  10891. },
  10892. 5: {
  10893. Fbits: uint8(8),
  10894. Fval: uint16(112),
  10895. },
  10896. 6: {
  10897. Fbits: uint8(8),
  10898. Fval: uint16(48),
  10899. },
  10900. 7: {
  10901. Fbits: uint8(9),
  10902. Fval: uint16(192),
  10903. },
  10904. 8: {
  10905. Fop: uint8(16),
  10906. Fbits: uint8(7),
  10907. Fval: uint16(10),
  10908. },
  10909. 9: {
  10910. Fbits: uint8(8),
  10911. Fval: uint16(96),
  10912. },
  10913. 10: {
  10914. Fbits: uint8(8),
  10915. Fval: uint16(32),
  10916. },
  10917. 11: {
  10918. Fbits: uint8(9),
  10919. Fval: uint16(160),
  10920. },
  10921. 12: {
  10922. Fbits: uint8(8),
  10923. },
  10924. 13: {
  10925. Fbits: uint8(8),
  10926. Fval: uint16(128),
  10927. },
  10928. 14: {
  10929. Fbits: uint8(8),
  10930. Fval: uint16(64),
  10931. },
  10932. 15: {
  10933. Fbits: uint8(9),
  10934. Fval: uint16(224),
  10935. },
  10936. 16: {
  10937. Fop: uint8(16),
  10938. Fbits: uint8(7),
  10939. Fval: uint16(6),
  10940. },
  10941. 17: {
  10942. Fbits: uint8(8),
  10943. Fval: uint16(88),
  10944. },
  10945. 18: {
  10946. Fbits: uint8(8),
  10947. Fval: uint16(24),
  10948. },
  10949. 19: {
  10950. Fbits: uint8(9),
  10951. Fval: uint16(144),
  10952. },
  10953. 20: {
  10954. Fop: uint8(19),
  10955. Fbits: uint8(7),
  10956. Fval: uint16(59),
  10957. },
  10958. 21: {
  10959. Fbits: uint8(8),
  10960. Fval: uint16(120),
  10961. },
  10962. 22: {
  10963. Fbits: uint8(8),
  10964. Fval: uint16(56),
  10965. },
  10966. 23: {
  10967. Fbits: uint8(9),
  10968. Fval: uint16(208),
  10969. },
  10970. 24: {
  10971. Fop: uint8(17),
  10972. Fbits: uint8(7),
  10973. Fval: uint16(17),
  10974. },
  10975. 25: {
  10976. Fbits: uint8(8),
  10977. Fval: uint16(104),
  10978. },
  10979. 26: {
  10980. Fbits: uint8(8),
  10981. Fval: uint16(40),
  10982. },
  10983. 27: {
  10984. Fbits: uint8(9),
  10985. Fval: uint16(176),
  10986. },
  10987. 28: {
  10988. Fbits: uint8(8),
  10989. Fval: uint16(8),
  10990. },
  10991. 29: {
  10992. Fbits: uint8(8),
  10993. Fval: uint16(136),
  10994. },
  10995. 30: {
  10996. Fbits: uint8(8),
  10997. Fval: uint16(72),
  10998. },
  10999. 31: {
  11000. Fbits: uint8(9),
  11001. Fval: uint16(240),
  11002. },
  11003. 32: {
  11004. Fop: uint8(16),
  11005. Fbits: uint8(7),
  11006. Fval: uint16(4),
  11007. },
  11008. 33: {
  11009. Fbits: uint8(8),
  11010. Fval: uint16(84),
  11011. },
  11012. 34: {
  11013. Fbits: uint8(8),
  11014. Fval: uint16(20),
  11015. },
  11016. 35: {
  11017. Fop: uint8(21),
  11018. Fbits: uint8(8),
  11019. Fval: uint16(227),
  11020. },
  11021. 36: {
  11022. Fop: uint8(19),
  11023. Fbits: uint8(7),
  11024. Fval: uint16(43),
  11025. },
  11026. 37: {
  11027. Fbits: uint8(8),
  11028. Fval: uint16(116),
  11029. },
  11030. 38: {
  11031. Fbits: uint8(8),
  11032. Fval: uint16(52),
  11033. },
  11034. 39: {
  11035. Fbits: uint8(9),
  11036. Fval: uint16(200),
  11037. },
  11038. 40: {
  11039. Fop: uint8(17),
  11040. Fbits: uint8(7),
  11041. Fval: uint16(13),
  11042. },
  11043. 41: {
  11044. Fbits: uint8(8),
  11045. Fval: uint16(100),
  11046. },
  11047. 42: {
  11048. Fbits: uint8(8),
  11049. Fval: uint16(36),
  11050. },
  11051. 43: {
  11052. Fbits: uint8(9),
  11053. Fval: uint16(168),
  11054. },
  11055. 44: {
  11056. Fbits: uint8(8),
  11057. Fval: uint16(4),
  11058. },
  11059. 45: {
  11060. Fbits: uint8(8),
  11061. Fval: uint16(132),
  11062. },
  11063. 46: {
  11064. Fbits: uint8(8),
  11065. Fval: uint16(68),
  11066. },
  11067. 47: {
  11068. Fbits: uint8(9),
  11069. Fval: uint16(232),
  11070. },
  11071. 48: {
  11072. Fop: uint8(16),
  11073. Fbits: uint8(7),
  11074. Fval: uint16(8),
  11075. },
  11076. 49: {
  11077. Fbits: uint8(8),
  11078. Fval: uint16(92),
  11079. },
  11080. 50: {
  11081. Fbits: uint8(8),
  11082. Fval: uint16(28),
  11083. },
  11084. 51: {
  11085. Fbits: uint8(9),
  11086. Fval: uint16(152),
  11087. },
  11088. 52: {
  11089. Fop: uint8(20),
  11090. Fbits: uint8(7),
  11091. Fval: uint16(83),
  11092. },
  11093. 53: {
  11094. Fbits: uint8(8),
  11095. Fval: uint16(124),
  11096. },
  11097. 54: {
  11098. Fbits: uint8(8),
  11099. Fval: uint16(60),
  11100. },
  11101. 55: {
  11102. Fbits: uint8(9),
  11103. Fval: uint16(216),
  11104. },
  11105. 56: {
  11106. Fop: uint8(18),
  11107. Fbits: uint8(7),
  11108. Fval: uint16(23),
  11109. },
  11110. 57: {
  11111. Fbits: uint8(8),
  11112. Fval: uint16(108),
  11113. },
  11114. 58: {
  11115. Fbits: uint8(8),
  11116. Fval: uint16(44),
  11117. },
  11118. 59: {
  11119. Fbits: uint8(9),
  11120. Fval: uint16(184),
  11121. },
  11122. 60: {
  11123. Fbits: uint8(8),
  11124. Fval: uint16(12),
  11125. },
  11126. 61: {
  11127. Fbits: uint8(8),
  11128. Fval: uint16(140),
  11129. },
  11130. 62: {
  11131. Fbits: uint8(8),
  11132. Fval: uint16(76),
  11133. },
  11134. 63: {
  11135. Fbits: uint8(9),
  11136. Fval: uint16(248),
  11137. },
  11138. 64: {
  11139. Fop: uint8(16),
  11140. Fbits: uint8(7),
  11141. Fval: uint16(3),
  11142. },
  11143. 65: {
  11144. Fbits: uint8(8),
  11145. Fval: uint16(82),
  11146. },
  11147. 66: {
  11148. Fbits: uint8(8),
  11149. Fval: uint16(18),
  11150. },
  11151. 67: {
  11152. Fop: uint8(21),
  11153. Fbits: uint8(8),
  11154. Fval: uint16(163),
  11155. },
  11156. 68: {
  11157. Fop: uint8(19),
  11158. Fbits: uint8(7),
  11159. Fval: uint16(35),
  11160. },
  11161. 69: {
  11162. Fbits: uint8(8),
  11163. Fval: uint16(114),
  11164. },
  11165. 70: {
  11166. Fbits: uint8(8),
  11167. Fval: uint16(50),
  11168. },
  11169. 71: {
  11170. Fbits: uint8(9),
  11171. Fval: uint16(196),
  11172. },
  11173. 72: {
  11174. Fop: uint8(17),
  11175. Fbits: uint8(7),
  11176. Fval: uint16(11),
  11177. },
  11178. 73: {
  11179. Fbits: uint8(8),
  11180. Fval: uint16(98),
  11181. },
  11182. 74: {
  11183. Fbits: uint8(8),
  11184. Fval: uint16(34),
  11185. },
  11186. 75: {
  11187. Fbits: uint8(9),
  11188. Fval: uint16(164),
  11189. },
  11190. 76: {
  11191. Fbits: uint8(8),
  11192. Fval: uint16(2),
  11193. },
  11194. 77: {
  11195. Fbits: uint8(8),
  11196. Fval: uint16(130),
  11197. },
  11198. 78: {
  11199. Fbits: uint8(8),
  11200. Fval: uint16(66),
  11201. },
  11202. 79: {
  11203. Fbits: uint8(9),
  11204. Fval: uint16(228),
  11205. },
  11206. 80: {
  11207. Fop: uint8(16),
  11208. Fbits: uint8(7),
  11209. Fval: uint16(7),
  11210. },
  11211. 81: {
  11212. Fbits: uint8(8),
  11213. Fval: uint16(90),
  11214. },
  11215. 82: {
  11216. Fbits: uint8(8),
  11217. Fval: uint16(26),
  11218. },
  11219. 83: {
  11220. Fbits: uint8(9),
  11221. Fval: uint16(148),
  11222. },
  11223. 84: {
  11224. Fop: uint8(20),
  11225. Fbits: uint8(7),
  11226. Fval: uint16(67),
  11227. },
  11228. 85: {
  11229. Fbits: uint8(8),
  11230. Fval: uint16(122),
  11231. },
  11232. 86: {
  11233. Fbits: uint8(8),
  11234. Fval: uint16(58),
  11235. },
  11236. 87: {
  11237. Fbits: uint8(9),
  11238. Fval: uint16(212),
  11239. },
  11240. 88: {
  11241. Fop: uint8(18),
  11242. Fbits: uint8(7),
  11243. Fval: uint16(19),
  11244. },
  11245. 89: {
  11246. Fbits: uint8(8),
  11247. Fval: uint16(106),
  11248. },
  11249. 90: {
  11250. Fbits: uint8(8),
  11251. Fval: uint16(42),
  11252. },
  11253. 91: {
  11254. Fbits: uint8(9),
  11255. Fval: uint16(180),
  11256. },
  11257. 92: {
  11258. Fbits: uint8(8),
  11259. Fval: uint16(10),
  11260. },
  11261. 93: {
  11262. Fbits: uint8(8),
  11263. Fval: uint16(138),
  11264. },
  11265. 94: {
  11266. Fbits: uint8(8),
  11267. Fval: uint16(74),
  11268. },
  11269. 95: {
  11270. Fbits: uint8(9),
  11271. Fval: uint16(244),
  11272. },
  11273. 96: {
  11274. Fop: uint8(16),
  11275. Fbits: uint8(7),
  11276. Fval: uint16(5),
  11277. },
  11278. 97: {
  11279. Fbits: uint8(8),
  11280. Fval: uint16(86),
  11281. },
  11282. 98: {
  11283. Fbits: uint8(8),
  11284. Fval: uint16(22),
  11285. },
  11286. 99: {
  11287. Fop: uint8(64),
  11288. Fbits: uint8(8),
  11289. },
  11290. 100: {
  11291. Fop: uint8(19),
  11292. Fbits: uint8(7),
  11293. Fval: uint16(51),
  11294. },
  11295. 101: {
  11296. Fbits: uint8(8),
  11297. Fval: uint16(118),
  11298. },
  11299. 102: {
  11300. Fbits: uint8(8),
  11301. Fval: uint16(54),
  11302. },
  11303. 103: {
  11304. Fbits: uint8(9),
  11305. Fval: uint16(204),
  11306. },
  11307. 104: {
  11308. Fop: uint8(17),
  11309. Fbits: uint8(7),
  11310. Fval: uint16(15),
  11311. },
  11312. 105: {
  11313. Fbits: uint8(8),
  11314. Fval: uint16(102),
  11315. },
  11316. 106: {
  11317. Fbits: uint8(8),
  11318. Fval: uint16(38),
  11319. },
  11320. 107: {
  11321. Fbits: uint8(9),
  11322. Fval: uint16(172),
  11323. },
  11324. 108: {
  11325. Fbits: uint8(8),
  11326. Fval: uint16(6),
  11327. },
  11328. 109: {
  11329. Fbits: uint8(8),
  11330. Fval: uint16(134),
  11331. },
  11332. 110: {
  11333. Fbits: uint8(8),
  11334. Fval: uint16(70),
  11335. },
  11336. 111: {
  11337. Fbits: uint8(9),
  11338. Fval: uint16(236),
  11339. },
  11340. 112: {
  11341. Fop: uint8(16),
  11342. Fbits: uint8(7),
  11343. Fval: uint16(9),
  11344. },
  11345. 113: {
  11346. Fbits: uint8(8),
  11347. Fval: uint16(94),
  11348. },
  11349. 114: {
  11350. Fbits: uint8(8),
  11351. Fval: uint16(30),
  11352. },
  11353. 115: {
  11354. Fbits: uint8(9),
  11355. Fval: uint16(156),
  11356. },
  11357. 116: {
  11358. Fop: uint8(20),
  11359. Fbits: uint8(7),
  11360. Fval: uint16(99),
  11361. },
  11362. 117: {
  11363. Fbits: uint8(8),
  11364. Fval: uint16(126),
  11365. },
  11366. 118: {
  11367. Fbits: uint8(8),
  11368. Fval: uint16(62),
  11369. },
  11370. 119: {
  11371. Fbits: uint8(9),
  11372. Fval: uint16(220),
  11373. },
  11374. 120: {
  11375. Fop: uint8(18),
  11376. Fbits: uint8(7),
  11377. Fval: uint16(27),
  11378. },
  11379. 121: {
  11380. Fbits: uint8(8),
  11381. Fval: uint16(110),
  11382. },
  11383. 122: {
  11384. Fbits: uint8(8),
  11385. Fval: uint16(46),
  11386. },
  11387. 123: {
  11388. Fbits: uint8(9),
  11389. Fval: uint16(188),
  11390. },
  11391. 124: {
  11392. Fbits: uint8(8),
  11393. Fval: uint16(14),
  11394. },
  11395. 125: {
  11396. Fbits: uint8(8),
  11397. Fval: uint16(142),
  11398. },
  11399. 126: {
  11400. Fbits: uint8(8),
  11401. Fval: uint16(78),
  11402. },
  11403. 127: {
  11404. Fbits: uint8(9),
  11405. Fval: uint16(252),
  11406. },
  11407. 128: {
  11408. Fop: uint8(96),
  11409. Fbits: uint8(7),
  11410. },
  11411. 129: {
  11412. Fbits: uint8(8),
  11413. Fval: uint16(81),
  11414. },
  11415. 130: {
  11416. Fbits: uint8(8),
  11417. Fval: uint16(17),
  11418. },
  11419. 131: {
  11420. Fop: uint8(21),
  11421. Fbits: uint8(8),
  11422. Fval: uint16(131),
  11423. },
  11424. 132: {
  11425. Fop: uint8(18),
  11426. Fbits: uint8(7),
  11427. Fval: uint16(31),
  11428. },
  11429. 133: {
  11430. Fbits: uint8(8),
  11431. Fval: uint16(113),
  11432. },
  11433. 134: {
  11434. Fbits: uint8(8),
  11435. Fval: uint16(49),
  11436. },
  11437. 135: {
  11438. Fbits: uint8(9),
  11439. Fval: uint16(194),
  11440. },
  11441. 136: {
  11442. Fop: uint8(16),
  11443. Fbits: uint8(7),
  11444. Fval: uint16(10),
  11445. },
  11446. 137: {
  11447. Fbits: uint8(8),
  11448. Fval: uint16(97),
  11449. },
  11450. 138: {
  11451. Fbits: uint8(8),
  11452. Fval: uint16(33),
  11453. },
  11454. 139: {
  11455. Fbits: uint8(9),
  11456. Fval: uint16(162),
  11457. },
  11458. 140: {
  11459. Fbits: uint8(8),
  11460. Fval: uint16(1),
  11461. },
  11462. 141: {
  11463. Fbits: uint8(8),
  11464. Fval: uint16(129),
  11465. },
  11466. 142: {
  11467. Fbits: uint8(8),
  11468. Fval: uint16(65),
  11469. },
  11470. 143: {
  11471. Fbits: uint8(9),
  11472. Fval: uint16(226),
  11473. },
  11474. 144: {
  11475. Fop: uint8(16),
  11476. Fbits: uint8(7),
  11477. Fval: uint16(6),
  11478. },
  11479. 145: {
  11480. Fbits: uint8(8),
  11481. Fval: uint16(89),
  11482. },
  11483. 146: {
  11484. Fbits: uint8(8),
  11485. Fval: uint16(25),
  11486. },
  11487. 147: {
  11488. Fbits: uint8(9),
  11489. Fval: uint16(146),
  11490. },
  11491. 148: {
  11492. Fop: uint8(19),
  11493. Fbits: uint8(7),
  11494. Fval: uint16(59),
  11495. },
  11496. 149: {
  11497. Fbits: uint8(8),
  11498. Fval: uint16(121),
  11499. },
  11500. 150: {
  11501. Fbits: uint8(8),
  11502. Fval: uint16(57),
  11503. },
  11504. 151: {
  11505. Fbits: uint8(9),
  11506. Fval: uint16(210),
  11507. },
  11508. 152: {
  11509. Fop: uint8(17),
  11510. Fbits: uint8(7),
  11511. Fval: uint16(17),
  11512. },
  11513. 153: {
  11514. Fbits: uint8(8),
  11515. Fval: uint16(105),
  11516. },
  11517. 154: {
  11518. Fbits: uint8(8),
  11519. Fval: uint16(41),
  11520. },
  11521. 155: {
  11522. Fbits: uint8(9),
  11523. Fval: uint16(178),
  11524. },
  11525. 156: {
  11526. Fbits: uint8(8),
  11527. Fval: uint16(9),
  11528. },
  11529. 157: {
  11530. Fbits: uint8(8),
  11531. Fval: uint16(137),
  11532. },
  11533. 158: {
  11534. Fbits: uint8(8),
  11535. Fval: uint16(73),
  11536. },
  11537. 159: {
  11538. Fbits: uint8(9),
  11539. Fval: uint16(242),
  11540. },
  11541. 160: {
  11542. Fop: uint8(16),
  11543. Fbits: uint8(7),
  11544. Fval: uint16(4),
  11545. },
  11546. 161: {
  11547. Fbits: uint8(8),
  11548. Fval: uint16(85),
  11549. },
  11550. 162: {
  11551. Fbits: uint8(8),
  11552. Fval: uint16(21),
  11553. },
  11554. 163: {
  11555. Fop: uint8(16),
  11556. Fbits: uint8(8),
  11557. Fval: uint16(258),
  11558. },
  11559. 164: {
  11560. Fop: uint8(19),
  11561. Fbits: uint8(7),
  11562. Fval: uint16(43),
  11563. },
  11564. 165: {
  11565. Fbits: uint8(8),
  11566. Fval: uint16(117),
  11567. },
  11568. 166: {
  11569. Fbits: uint8(8),
  11570. Fval: uint16(53),
  11571. },
  11572. 167: {
  11573. Fbits: uint8(9),
  11574. Fval: uint16(202),
  11575. },
  11576. 168: {
  11577. Fop: uint8(17),
  11578. Fbits: uint8(7),
  11579. Fval: uint16(13),
  11580. },
  11581. 169: {
  11582. Fbits: uint8(8),
  11583. Fval: uint16(101),
  11584. },
  11585. 170: {
  11586. Fbits: uint8(8),
  11587. Fval: uint16(37),
  11588. },
  11589. 171: {
  11590. Fbits: uint8(9),
  11591. Fval: uint16(170),
  11592. },
  11593. 172: {
  11594. Fbits: uint8(8),
  11595. Fval: uint16(5),
  11596. },
  11597. 173: {
  11598. Fbits: uint8(8),
  11599. Fval: uint16(133),
  11600. },
  11601. 174: {
  11602. Fbits: uint8(8),
  11603. Fval: uint16(69),
  11604. },
  11605. 175: {
  11606. Fbits: uint8(9),
  11607. Fval: uint16(234),
  11608. },
  11609. 176: {
  11610. Fop: uint8(16),
  11611. Fbits: uint8(7),
  11612. Fval: uint16(8),
  11613. },
  11614. 177: {
  11615. Fbits: uint8(8),
  11616. Fval: uint16(93),
  11617. },
  11618. 178: {
  11619. Fbits: uint8(8),
  11620. Fval: uint16(29),
  11621. },
  11622. 179: {
  11623. Fbits: uint8(9),
  11624. Fval: uint16(154),
  11625. },
  11626. 180: {
  11627. Fop: uint8(20),
  11628. Fbits: uint8(7),
  11629. Fval: uint16(83),
  11630. },
  11631. 181: {
  11632. Fbits: uint8(8),
  11633. Fval: uint16(125),
  11634. },
  11635. 182: {
  11636. Fbits: uint8(8),
  11637. Fval: uint16(61),
  11638. },
  11639. 183: {
  11640. Fbits: uint8(9),
  11641. Fval: uint16(218),
  11642. },
  11643. 184: {
  11644. Fop: uint8(18),
  11645. Fbits: uint8(7),
  11646. Fval: uint16(23),
  11647. },
  11648. 185: {
  11649. Fbits: uint8(8),
  11650. Fval: uint16(109),
  11651. },
  11652. 186: {
  11653. Fbits: uint8(8),
  11654. Fval: uint16(45),
  11655. },
  11656. 187: {
  11657. Fbits: uint8(9),
  11658. Fval: uint16(186),
  11659. },
  11660. 188: {
  11661. Fbits: uint8(8),
  11662. Fval: uint16(13),
  11663. },
  11664. 189: {
  11665. Fbits: uint8(8),
  11666. Fval: uint16(141),
  11667. },
  11668. 190: {
  11669. Fbits: uint8(8),
  11670. Fval: uint16(77),
  11671. },
  11672. 191: {
  11673. Fbits: uint8(9),
  11674. Fval: uint16(250),
  11675. },
  11676. 192: {
  11677. Fop: uint8(16),
  11678. Fbits: uint8(7),
  11679. Fval: uint16(3),
  11680. },
  11681. 193: {
  11682. Fbits: uint8(8),
  11683. Fval: uint16(83),
  11684. },
  11685. 194: {
  11686. Fbits: uint8(8),
  11687. Fval: uint16(19),
  11688. },
  11689. 195: {
  11690. Fop: uint8(21),
  11691. Fbits: uint8(8),
  11692. Fval: uint16(195),
  11693. },
  11694. 196: {
  11695. Fop: uint8(19),
  11696. Fbits: uint8(7),
  11697. Fval: uint16(35),
  11698. },
  11699. 197: {
  11700. Fbits: uint8(8),
  11701. Fval: uint16(115),
  11702. },
  11703. 198: {
  11704. Fbits: uint8(8),
  11705. Fval: uint16(51),
  11706. },
  11707. 199: {
  11708. Fbits: uint8(9),
  11709. Fval: uint16(198),
  11710. },
  11711. 200: {
  11712. Fop: uint8(17),
  11713. Fbits: uint8(7),
  11714. Fval: uint16(11),
  11715. },
  11716. 201: {
  11717. Fbits: uint8(8),
  11718. Fval: uint16(99),
  11719. },
  11720. 202: {
  11721. Fbits: uint8(8),
  11722. Fval: uint16(35),
  11723. },
  11724. 203: {
  11725. Fbits: uint8(9),
  11726. Fval: uint16(166),
  11727. },
  11728. 204: {
  11729. Fbits: uint8(8),
  11730. Fval: uint16(3),
  11731. },
  11732. 205: {
  11733. Fbits: uint8(8),
  11734. Fval: uint16(131),
  11735. },
  11736. 206: {
  11737. Fbits: uint8(8),
  11738. Fval: uint16(67),
  11739. },
  11740. 207: {
  11741. Fbits: uint8(9),
  11742. Fval: uint16(230),
  11743. },
  11744. 208: {
  11745. Fop: uint8(16),
  11746. Fbits: uint8(7),
  11747. Fval: uint16(7),
  11748. },
  11749. 209: {
  11750. Fbits: uint8(8),
  11751. Fval: uint16(91),
  11752. },
  11753. 210: {
  11754. Fbits: uint8(8),
  11755. Fval: uint16(27),
  11756. },
  11757. 211: {
  11758. Fbits: uint8(9),
  11759. Fval: uint16(150),
  11760. },
  11761. 212: {
  11762. Fop: uint8(20),
  11763. Fbits: uint8(7),
  11764. Fval: uint16(67),
  11765. },
  11766. 213: {
  11767. Fbits: uint8(8),
  11768. Fval: uint16(123),
  11769. },
  11770. 214: {
  11771. Fbits: uint8(8),
  11772. Fval: uint16(59),
  11773. },
  11774. 215: {
  11775. Fbits: uint8(9),
  11776. Fval: uint16(214),
  11777. },
  11778. 216: {
  11779. Fop: uint8(18),
  11780. Fbits: uint8(7),
  11781. Fval: uint16(19),
  11782. },
  11783. 217: {
  11784. Fbits: uint8(8),
  11785. Fval: uint16(107),
  11786. },
  11787. 218: {
  11788. Fbits: uint8(8),
  11789. Fval: uint16(43),
  11790. },
  11791. 219: {
  11792. Fbits: uint8(9),
  11793. Fval: uint16(182),
  11794. },
  11795. 220: {
  11796. Fbits: uint8(8),
  11797. Fval: uint16(11),
  11798. },
  11799. 221: {
  11800. Fbits: uint8(8),
  11801. Fval: uint16(139),
  11802. },
  11803. 222: {
  11804. Fbits: uint8(8),
  11805. Fval: uint16(75),
  11806. },
  11807. 223: {
  11808. Fbits: uint8(9),
  11809. Fval: uint16(246),
  11810. },
  11811. 224: {
  11812. Fop: uint8(16),
  11813. Fbits: uint8(7),
  11814. Fval: uint16(5),
  11815. },
  11816. 225: {
  11817. Fbits: uint8(8),
  11818. Fval: uint16(87),
  11819. },
  11820. 226: {
  11821. Fbits: uint8(8),
  11822. Fval: uint16(23),
  11823. },
  11824. 227: {
  11825. Fop: uint8(64),
  11826. Fbits: uint8(8),
  11827. },
  11828. 228: {
  11829. Fop: uint8(19),
  11830. Fbits: uint8(7),
  11831. Fval: uint16(51),
  11832. },
  11833. 229: {
  11834. Fbits: uint8(8),
  11835. Fval: uint16(119),
  11836. },
  11837. 230: {
  11838. Fbits: uint8(8),
  11839. Fval: uint16(55),
  11840. },
  11841. 231: {
  11842. Fbits: uint8(9),
  11843. Fval: uint16(206),
  11844. },
  11845. 232: {
  11846. Fop: uint8(17),
  11847. Fbits: uint8(7),
  11848. Fval: uint16(15),
  11849. },
  11850. 233: {
  11851. Fbits: uint8(8),
  11852. Fval: uint16(103),
  11853. },
  11854. 234: {
  11855. Fbits: uint8(8),
  11856. Fval: uint16(39),
  11857. },
  11858. 235: {
  11859. Fbits: uint8(9),
  11860. Fval: uint16(174),
  11861. },
  11862. 236: {
  11863. Fbits: uint8(8),
  11864. Fval: uint16(7),
  11865. },
  11866. 237: {
  11867. Fbits: uint8(8),
  11868. Fval: uint16(135),
  11869. },
  11870. 238: {
  11871. Fbits: uint8(8),
  11872. Fval: uint16(71),
  11873. },
  11874. 239: {
  11875. Fbits: uint8(9),
  11876. Fval: uint16(238),
  11877. },
  11878. 240: {
  11879. Fop: uint8(16),
  11880. Fbits: uint8(7),
  11881. Fval: uint16(9),
  11882. },
  11883. 241: {
  11884. Fbits: uint8(8),
  11885. Fval: uint16(95),
  11886. },
  11887. 242: {
  11888. Fbits: uint8(8),
  11889. Fval: uint16(31),
  11890. },
  11891. 243: {
  11892. Fbits: uint8(9),
  11893. Fval: uint16(158),
  11894. },
  11895. 244: {
  11896. Fop: uint8(20),
  11897. Fbits: uint8(7),
  11898. Fval: uint16(99),
  11899. },
  11900. 245: {
  11901. Fbits: uint8(8),
  11902. Fval: uint16(127),
  11903. },
  11904. 246: {
  11905. Fbits: uint8(8),
  11906. Fval: uint16(63),
  11907. },
  11908. 247: {
  11909. Fbits: uint8(9),
  11910. Fval: uint16(222),
  11911. },
  11912. 248: {
  11913. Fop: uint8(18),
  11914. Fbits: uint8(7),
  11915. Fval: uint16(27),
  11916. },
  11917. 249: {
  11918. Fbits: uint8(8),
  11919. Fval: uint16(111),
  11920. },
  11921. 250: {
  11922. Fbits: uint8(8),
  11923. Fval: uint16(47),
  11924. },
  11925. 251: {
  11926. Fbits: uint8(9),
  11927. Fval: uint16(190),
  11928. },
  11929. 252: {
  11930. Fbits: uint8(8),
  11931. Fval: uint16(15),
  11932. },
  11933. 253: {
  11934. Fbits: uint8(8),
  11935. Fval: uint16(143),
  11936. },
  11937. 254: {
  11938. Fbits: uint8(8),
  11939. Fval: uint16(79),
  11940. },
  11941. 255: {
  11942. Fbits: uint8(9),
  11943. Fval: uint16(254),
  11944. },
  11945. 256: {
  11946. Fop: uint8(96),
  11947. Fbits: uint8(7),
  11948. },
  11949. 257: {
  11950. Fbits: uint8(8),
  11951. Fval: uint16(80),
  11952. },
  11953. 258: {
  11954. Fbits: uint8(8),
  11955. Fval: uint16(16),
  11956. },
  11957. 259: {
  11958. Fop: uint8(20),
  11959. Fbits: uint8(8),
  11960. Fval: uint16(115),
  11961. },
  11962. 260: {
  11963. Fop: uint8(18),
  11964. Fbits: uint8(7),
  11965. Fval: uint16(31),
  11966. },
  11967. 261: {
  11968. Fbits: uint8(8),
  11969. Fval: uint16(112),
  11970. },
  11971. 262: {
  11972. Fbits: uint8(8),
  11973. Fval: uint16(48),
  11974. },
  11975. 263: {
  11976. Fbits: uint8(9),
  11977. Fval: uint16(193),
  11978. },
  11979. 264: {
  11980. Fop: uint8(16),
  11981. Fbits: uint8(7),
  11982. Fval: uint16(10),
  11983. },
  11984. 265: {
  11985. Fbits: uint8(8),
  11986. Fval: uint16(96),
  11987. },
  11988. 266: {
  11989. Fbits: uint8(8),
  11990. Fval: uint16(32),
  11991. },
  11992. 267: {
  11993. Fbits: uint8(9),
  11994. Fval: uint16(161),
  11995. },
  11996. 268: {
  11997. Fbits: uint8(8),
  11998. },
  11999. 269: {
  12000. Fbits: uint8(8),
  12001. Fval: uint16(128),
  12002. },
  12003. 270: {
  12004. Fbits: uint8(8),
  12005. Fval: uint16(64),
  12006. },
  12007. 271: {
  12008. Fbits: uint8(9),
  12009. Fval: uint16(225),
  12010. },
  12011. 272: {
  12012. Fop: uint8(16),
  12013. Fbits: uint8(7),
  12014. Fval: uint16(6),
  12015. },
  12016. 273: {
  12017. Fbits: uint8(8),
  12018. Fval: uint16(88),
  12019. },
  12020. 274: {
  12021. Fbits: uint8(8),
  12022. Fval: uint16(24),
  12023. },
  12024. 275: {
  12025. Fbits: uint8(9),
  12026. Fval: uint16(145),
  12027. },
  12028. 276: {
  12029. Fop: uint8(19),
  12030. Fbits: uint8(7),
  12031. Fval: uint16(59),
  12032. },
  12033. 277: {
  12034. Fbits: uint8(8),
  12035. Fval: uint16(120),
  12036. },
  12037. 278: {
  12038. Fbits: uint8(8),
  12039. Fval: uint16(56),
  12040. },
  12041. 279: {
  12042. Fbits: uint8(9),
  12043. Fval: uint16(209),
  12044. },
  12045. 280: {
  12046. Fop: uint8(17),
  12047. Fbits: uint8(7),
  12048. Fval: uint16(17),
  12049. },
  12050. 281: {
  12051. Fbits: uint8(8),
  12052. Fval: uint16(104),
  12053. },
  12054. 282: {
  12055. Fbits: uint8(8),
  12056. Fval: uint16(40),
  12057. },
  12058. 283: {
  12059. Fbits: uint8(9),
  12060. Fval: uint16(177),
  12061. },
  12062. 284: {
  12063. Fbits: uint8(8),
  12064. Fval: uint16(8),
  12065. },
  12066. 285: {
  12067. Fbits: uint8(8),
  12068. Fval: uint16(136),
  12069. },
  12070. 286: {
  12071. Fbits: uint8(8),
  12072. Fval: uint16(72),
  12073. },
  12074. 287: {
  12075. Fbits: uint8(9),
  12076. Fval: uint16(241),
  12077. },
  12078. 288: {
  12079. Fop: uint8(16),
  12080. Fbits: uint8(7),
  12081. Fval: uint16(4),
  12082. },
  12083. 289: {
  12084. Fbits: uint8(8),
  12085. Fval: uint16(84),
  12086. },
  12087. 290: {
  12088. Fbits: uint8(8),
  12089. Fval: uint16(20),
  12090. },
  12091. 291: {
  12092. Fop: uint8(21),
  12093. Fbits: uint8(8),
  12094. Fval: uint16(227),
  12095. },
  12096. 292: {
  12097. Fop: uint8(19),
  12098. Fbits: uint8(7),
  12099. Fval: uint16(43),
  12100. },
  12101. 293: {
  12102. Fbits: uint8(8),
  12103. Fval: uint16(116),
  12104. },
  12105. 294: {
  12106. Fbits: uint8(8),
  12107. Fval: uint16(52),
  12108. },
  12109. 295: {
  12110. Fbits: uint8(9),
  12111. Fval: uint16(201),
  12112. },
  12113. 296: {
  12114. Fop: uint8(17),
  12115. Fbits: uint8(7),
  12116. Fval: uint16(13),
  12117. },
  12118. 297: {
  12119. Fbits: uint8(8),
  12120. Fval: uint16(100),
  12121. },
  12122. 298: {
  12123. Fbits: uint8(8),
  12124. Fval: uint16(36),
  12125. },
  12126. 299: {
  12127. Fbits: uint8(9),
  12128. Fval: uint16(169),
  12129. },
  12130. 300: {
  12131. Fbits: uint8(8),
  12132. Fval: uint16(4),
  12133. },
  12134. 301: {
  12135. Fbits: uint8(8),
  12136. Fval: uint16(132),
  12137. },
  12138. 302: {
  12139. Fbits: uint8(8),
  12140. Fval: uint16(68),
  12141. },
  12142. 303: {
  12143. Fbits: uint8(9),
  12144. Fval: uint16(233),
  12145. },
  12146. 304: {
  12147. Fop: uint8(16),
  12148. Fbits: uint8(7),
  12149. Fval: uint16(8),
  12150. },
  12151. 305: {
  12152. Fbits: uint8(8),
  12153. Fval: uint16(92),
  12154. },
  12155. 306: {
  12156. Fbits: uint8(8),
  12157. Fval: uint16(28),
  12158. },
  12159. 307: {
  12160. Fbits: uint8(9),
  12161. Fval: uint16(153),
  12162. },
  12163. 308: {
  12164. Fop: uint8(20),
  12165. Fbits: uint8(7),
  12166. Fval: uint16(83),
  12167. },
  12168. 309: {
  12169. Fbits: uint8(8),
  12170. Fval: uint16(124),
  12171. },
  12172. 310: {
  12173. Fbits: uint8(8),
  12174. Fval: uint16(60),
  12175. },
  12176. 311: {
  12177. Fbits: uint8(9),
  12178. Fval: uint16(217),
  12179. },
  12180. 312: {
  12181. Fop: uint8(18),
  12182. Fbits: uint8(7),
  12183. Fval: uint16(23),
  12184. },
  12185. 313: {
  12186. Fbits: uint8(8),
  12187. Fval: uint16(108),
  12188. },
  12189. 314: {
  12190. Fbits: uint8(8),
  12191. Fval: uint16(44),
  12192. },
  12193. 315: {
  12194. Fbits: uint8(9),
  12195. Fval: uint16(185),
  12196. },
  12197. 316: {
  12198. Fbits: uint8(8),
  12199. Fval: uint16(12),
  12200. },
  12201. 317: {
  12202. Fbits: uint8(8),
  12203. Fval: uint16(140),
  12204. },
  12205. 318: {
  12206. Fbits: uint8(8),
  12207. Fval: uint16(76),
  12208. },
  12209. 319: {
  12210. Fbits: uint8(9),
  12211. Fval: uint16(249),
  12212. },
  12213. 320: {
  12214. Fop: uint8(16),
  12215. Fbits: uint8(7),
  12216. Fval: uint16(3),
  12217. },
  12218. 321: {
  12219. Fbits: uint8(8),
  12220. Fval: uint16(82),
  12221. },
  12222. 322: {
  12223. Fbits: uint8(8),
  12224. Fval: uint16(18),
  12225. },
  12226. 323: {
  12227. Fop: uint8(21),
  12228. Fbits: uint8(8),
  12229. Fval: uint16(163),
  12230. },
  12231. 324: {
  12232. Fop: uint8(19),
  12233. Fbits: uint8(7),
  12234. Fval: uint16(35),
  12235. },
  12236. 325: {
  12237. Fbits: uint8(8),
  12238. Fval: uint16(114),
  12239. },
  12240. 326: {
  12241. Fbits: uint8(8),
  12242. Fval: uint16(50),
  12243. },
  12244. 327: {
  12245. Fbits: uint8(9),
  12246. Fval: uint16(197),
  12247. },
  12248. 328: {
  12249. Fop: uint8(17),
  12250. Fbits: uint8(7),
  12251. Fval: uint16(11),
  12252. },
  12253. 329: {
  12254. Fbits: uint8(8),
  12255. Fval: uint16(98),
  12256. },
  12257. 330: {
  12258. Fbits: uint8(8),
  12259. Fval: uint16(34),
  12260. },
  12261. 331: {
  12262. Fbits: uint8(9),
  12263. Fval: uint16(165),
  12264. },
  12265. 332: {
  12266. Fbits: uint8(8),
  12267. Fval: uint16(2),
  12268. },
  12269. 333: {
  12270. Fbits: uint8(8),
  12271. Fval: uint16(130),
  12272. },
  12273. 334: {
  12274. Fbits: uint8(8),
  12275. Fval: uint16(66),
  12276. },
  12277. 335: {
  12278. Fbits: uint8(9),
  12279. Fval: uint16(229),
  12280. },
  12281. 336: {
  12282. Fop: uint8(16),
  12283. Fbits: uint8(7),
  12284. Fval: uint16(7),
  12285. },
  12286. 337: {
  12287. Fbits: uint8(8),
  12288. Fval: uint16(90),
  12289. },
  12290. 338: {
  12291. Fbits: uint8(8),
  12292. Fval: uint16(26),
  12293. },
  12294. 339: {
  12295. Fbits: uint8(9),
  12296. Fval: uint16(149),
  12297. },
  12298. 340: {
  12299. Fop: uint8(20),
  12300. Fbits: uint8(7),
  12301. Fval: uint16(67),
  12302. },
  12303. 341: {
  12304. Fbits: uint8(8),
  12305. Fval: uint16(122),
  12306. },
  12307. 342: {
  12308. Fbits: uint8(8),
  12309. Fval: uint16(58),
  12310. },
  12311. 343: {
  12312. Fbits: uint8(9),
  12313. Fval: uint16(213),
  12314. },
  12315. 344: {
  12316. Fop: uint8(18),
  12317. Fbits: uint8(7),
  12318. Fval: uint16(19),
  12319. },
  12320. 345: {
  12321. Fbits: uint8(8),
  12322. Fval: uint16(106),
  12323. },
  12324. 346: {
  12325. Fbits: uint8(8),
  12326. Fval: uint16(42),
  12327. },
  12328. 347: {
  12329. Fbits: uint8(9),
  12330. Fval: uint16(181),
  12331. },
  12332. 348: {
  12333. Fbits: uint8(8),
  12334. Fval: uint16(10),
  12335. },
  12336. 349: {
  12337. Fbits: uint8(8),
  12338. Fval: uint16(138),
  12339. },
  12340. 350: {
  12341. Fbits: uint8(8),
  12342. Fval: uint16(74),
  12343. },
  12344. 351: {
  12345. Fbits: uint8(9),
  12346. Fval: uint16(245),
  12347. },
  12348. 352: {
  12349. Fop: uint8(16),
  12350. Fbits: uint8(7),
  12351. Fval: uint16(5),
  12352. },
  12353. 353: {
  12354. Fbits: uint8(8),
  12355. Fval: uint16(86),
  12356. },
  12357. 354: {
  12358. Fbits: uint8(8),
  12359. Fval: uint16(22),
  12360. },
  12361. 355: {
  12362. Fop: uint8(64),
  12363. Fbits: uint8(8),
  12364. },
  12365. 356: {
  12366. Fop: uint8(19),
  12367. Fbits: uint8(7),
  12368. Fval: uint16(51),
  12369. },
  12370. 357: {
  12371. Fbits: uint8(8),
  12372. Fval: uint16(118),
  12373. },
  12374. 358: {
  12375. Fbits: uint8(8),
  12376. Fval: uint16(54),
  12377. },
  12378. 359: {
  12379. Fbits: uint8(9),
  12380. Fval: uint16(205),
  12381. },
  12382. 360: {
  12383. Fop: uint8(17),
  12384. Fbits: uint8(7),
  12385. Fval: uint16(15),
  12386. },
  12387. 361: {
  12388. Fbits: uint8(8),
  12389. Fval: uint16(102),
  12390. },
  12391. 362: {
  12392. Fbits: uint8(8),
  12393. Fval: uint16(38),
  12394. },
  12395. 363: {
  12396. Fbits: uint8(9),
  12397. Fval: uint16(173),
  12398. },
  12399. 364: {
  12400. Fbits: uint8(8),
  12401. Fval: uint16(6),
  12402. },
  12403. 365: {
  12404. Fbits: uint8(8),
  12405. Fval: uint16(134),
  12406. },
  12407. 366: {
  12408. Fbits: uint8(8),
  12409. Fval: uint16(70),
  12410. },
  12411. 367: {
  12412. Fbits: uint8(9),
  12413. Fval: uint16(237),
  12414. },
  12415. 368: {
  12416. Fop: uint8(16),
  12417. Fbits: uint8(7),
  12418. Fval: uint16(9),
  12419. },
  12420. 369: {
  12421. Fbits: uint8(8),
  12422. Fval: uint16(94),
  12423. },
  12424. 370: {
  12425. Fbits: uint8(8),
  12426. Fval: uint16(30),
  12427. },
  12428. 371: {
  12429. Fbits: uint8(9),
  12430. Fval: uint16(157),
  12431. },
  12432. 372: {
  12433. Fop: uint8(20),
  12434. Fbits: uint8(7),
  12435. Fval: uint16(99),
  12436. },
  12437. 373: {
  12438. Fbits: uint8(8),
  12439. Fval: uint16(126),
  12440. },
  12441. 374: {
  12442. Fbits: uint8(8),
  12443. Fval: uint16(62),
  12444. },
  12445. 375: {
  12446. Fbits: uint8(9),
  12447. Fval: uint16(221),
  12448. },
  12449. 376: {
  12450. Fop: uint8(18),
  12451. Fbits: uint8(7),
  12452. Fval: uint16(27),
  12453. },
  12454. 377: {
  12455. Fbits: uint8(8),
  12456. Fval: uint16(110),
  12457. },
  12458. 378: {
  12459. Fbits: uint8(8),
  12460. Fval: uint16(46),
  12461. },
  12462. 379: {
  12463. Fbits: uint8(9),
  12464. Fval: uint16(189),
  12465. },
  12466. 380: {
  12467. Fbits: uint8(8),
  12468. Fval: uint16(14),
  12469. },
  12470. 381: {
  12471. Fbits: uint8(8),
  12472. Fval: uint16(142),
  12473. },
  12474. 382: {
  12475. Fbits: uint8(8),
  12476. Fval: uint16(78),
  12477. },
  12478. 383: {
  12479. Fbits: uint8(9),
  12480. Fval: uint16(253),
  12481. },
  12482. 384: {
  12483. Fop: uint8(96),
  12484. Fbits: uint8(7),
  12485. },
  12486. 385: {
  12487. Fbits: uint8(8),
  12488. Fval: uint16(81),
  12489. },
  12490. 386: {
  12491. Fbits: uint8(8),
  12492. Fval: uint16(17),
  12493. },
  12494. 387: {
  12495. Fop: uint8(21),
  12496. Fbits: uint8(8),
  12497. Fval: uint16(131),
  12498. },
  12499. 388: {
  12500. Fop: uint8(18),
  12501. Fbits: uint8(7),
  12502. Fval: uint16(31),
  12503. },
  12504. 389: {
  12505. Fbits: uint8(8),
  12506. Fval: uint16(113),
  12507. },
  12508. 390: {
  12509. Fbits: uint8(8),
  12510. Fval: uint16(49),
  12511. },
  12512. 391: {
  12513. Fbits: uint8(9),
  12514. Fval: uint16(195),
  12515. },
  12516. 392: {
  12517. Fop: uint8(16),
  12518. Fbits: uint8(7),
  12519. Fval: uint16(10),
  12520. },
  12521. 393: {
  12522. Fbits: uint8(8),
  12523. Fval: uint16(97),
  12524. },
  12525. 394: {
  12526. Fbits: uint8(8),
  12527. Fval: uint16(33),
  12528. },
  12529. 395: {
  12530. Fbits: uint8(9),
  12531. Fval: uint16(163),
  12532. },
  12533. 396: {
  12534. Fbits: uint8(8),
  12535. Fval: uint16(1),
  12536. },
  12537. 397: {
  12538. Fbits: uint8(8),
  12539. Fval: uint16(129),
  12540. },
  12541. 398: {
  12542. Fbits: uint8(8),
  12543. Fval: uint16(65),
  12544. },
  12545. 399: {
  12546. Fbits: uint8(9),
  12547. Fval: uint16(227),
  12548. },
  12549. 400: {
  12550. Fop: uint8(16),
  12551. Fbits: uint8(7),
  12552. Fval: uint16(6),
  12553. },
  12554. 401: {
  12555. Fbits: uint8(8),
  12556. Fval: uint16(89),
  12557. },
  12558. 402: {
  12559. Fbits: uint8(8),
  12560. Fval: uint16(25),
  12561. },
  12562. 403: {
  12563. Fbits: uint8(9),
  12564. Fval: uint16(147),
  12565. },
  12566. 404: {
  12567. Fop: uint8(19),
  12568. Fbits: uint8(7),
  12569. Fval: uint16(59),
  12570. },
  12571. 405: {
  12572. Fbits: uint8(8),
  12573. Fval: uint16(121),
  12574. },
  12575. 406: {
  12576. Fbits: uint8(8),
  12577. Fval: uint16(57),
  12578. },
  12579. 407: {
  12580. Fbits: uint8(9),
  12581. Fval: uint16(211),
  12582. },
  12583. 408: {
  12584. Fop: uint8(17),
  12585. Fbits: uint8(7),
  12586. Fval: uint16(17),
  12587. },
  12588. 409: {
  12589. Fbits: uint8(8),
  12590. Fval: uint16(105),
  12591. },
  12592. 410: {
  12593. Fbits: uint8(8),
  12594. Fval: uint16(41),
  12595. },
  12596. 411: {
  12597. Fbits: uint8(9),
  12598. Fval: uint16(179),
  12599. },
  12600. 412: {
  12601. Fbits: uint8(8),
  12602. Fval: uint16(9),
  12603. },
  12604. 413: {
  12605. Fbits: uint8(8),
  12606. Fval: uint16(137),
  12607. },
  12608. 414: {
  12609. Fbits: uint8(8),
  12610. Fval: uint16(73),
  12611. },
  12612. 415: {
  12613. Fbits: uint8(9),
  12614. Fval: uint16(243),
  12615. },
  12616. 416: {
  12617. Fop: uint8(16),
  12618. Fbits: uint8(7),
  12619. Fval: uint16(4),
  12620. },
  12621. 417: {
  12622. Fbits: uint8(8),
  12623. Fval: uint16(85),
  12624. },
  12625. 418: {
  12626. Fbits: uint8(8),
  12627. Fval: uint16(21),
  12628. },
  12629. 419: {
  12630. Fop: uint8(16),
  12631. Fbits: uint8(8),
  12632. Fval: uint16(258),
  12633. },
  12634. 420: {
  12635. Fop: uint8(19),
  12636. Fbits: uint8(7),
  12637. Fval: uint16(43),
  12638. },
  12639. 421: {
  12640. Fbits: uint8(8),
  12641. Fval: uint16(117),
  12642. },
  12643. 422: {
  12644. Fbits: uint8(8),
  12645. Fval: uint16(53),
  12646. },
  12647. 423: {
  12648. Fbits: uint8(9),
  12649. Fval: uint16(203),
  12650. },
  12651. 424: {
  12652. Fop: uint8(17),
  12653. Fbits: uint8(7),
  12654. Fval: uint16(13),
  12655. },
  12656. 425: {
  12657. Fbits: uint8(8),
  12658. Fval: uint16(101),
  12659. },
  12660. 426: {
  12661. Fbits: uint8(8),
  12662. Fval: uint16(37),
  12663. },
  12664. 427: {
  12665. Fbits: uint8(9),
  12666. Fval: uint16(171),
  12667. },
  12668. 428: {
  12669. Fbits: uint8(8),
  12670. Fval: uint16(5),
  12671. },
  12672. 429: {
  12673. Fbits: uint8(8),
  12674. Fval: uint16(133),
  12675. },
  12676. 430: {
  12677. Fbits: uint8(8),
  12678. Fval: uint16(69),
  12679. },
  12680. 431: {
  12681. Fbits: uint8(9),
  12682. Fval: uint16(235),
  12683. },
  12684. 432: {
  12685. Fop: uint8(16),
  12686. Fbits: uint8(7),
  12687. Fval: uint16(8),
  12688. },
  12689. 433: {
  12690. Fbits: uint8(8),
  12691. Fval: uint16(93),
  12692. },
  12693. 434: {
  12694. Fbits: uint8(8),
  12695. Fval: uint16(29),
  12696. },
  12697. 435: {
  12698. Fbits: uint8(9),
  12699. Fval: uint16(155),
  12700. },
  12701. 436: {
  12702. Fop: uint8(20),
  12703. Fbits: uint8(7),
  12704. Fval: uint16(83),
  12705. },
  12706. 437: {
  12707. Fbits: uint8(8),
  12708. Fval: uint16(125),
  12709. },
  12710. 438: {
  12711. Fbits: uint8(8),
  12712. Fval: uint16(61),
  12713. },
  12714. 439: {
  12715. Fbits: uint8(9),
  12716. Fval: uint16(219),
  12717. },
  12718. 440: {
  12719. Fop: uint8(18),
  12720. Fbits: uint8(7),
  12721. Fval: uint16(23),
  12722. },
  12723. 441: {
  12724. Fbits: uint8(8),
  12725. Fval: uint16(109),
  12726. },
  12727. 442: {
  12728. Fbits: uint8(8),
  12729. Fval: uint16(45),
  12730. },
  12731. 443: {
  12732. Fbits: uint8(9),
  12733. Fval: uint16(187),
  12734. },
  12735. 444: {
  12736. Fbits: uint8(8),
  12737. Fval: uint16(13),
  12738. },
  12739. 445: {
  12740. Fbits: uint8(8),
  12741. Fval: uint16(141),
  12742. },
  12743. 446: {
  12744. Fbits: uint8(8),
  12745. Fval: uint16(77),
  12746. },
  12747. 447: {
  12748. Fbits: uint8(9),
  12749. Fval: uint16(251),
  12750. },
  12751. 448: {
  12752. Fop: uint8(16),
  12753. Fbits: uint8(7),
  12754. Fval: uint16(3),
  12755. },
  12756. 449: {
  12757. Fbits: uint8(8),
  12758. Fval: uint16(83),
  12759. },
  12760. 450: {
  12761. Fbits: uint8(8),
  12762. Fval: uint16(19),
  12763. },
  12764. 451: {
  12765. Fop: uint8(21),
  12766. Fbits: uint8(8),
  12767. Fval: uint16(195),
  12768. },
  12769. 452: {
  12770. Fop: uint8(19),
  12771. Fbits: uint8(7),
  12772. Fval: uint16(35),
  12773. },
  12774. 453: {
  12775. Fbits: uint8(8),
  12776. Fval: uint16(115),
  12777. },
  12778. 454: {
  12779. Fbits: uint8(8),
  12780. Fval: uint16(51),
  12781. },
  12782. 455: {
  12783. Fbits: uint8(9),
  12784. Fval: uint16(199),
  12785. },
  12786. 456: {
  12787. Fop: uint8(17),
  12788. Fbits: uint8(7),
  12789. Fval: uint16(11),
  12790. },
  12791. 457: {
  12792. Fbits: uint8(8),
  12793. Fval: uint16(99),
  12794. },
  12795. 458: {
  12796. Fbits: uint8(8),
  12797. Fval: uint16(35),
  12798. },
  12799. 459: {
  12800. Fbits: uint8(9),
  12801. Fval: uint16(167),
  12802. },
  12803. 460: {
  12804. Fbits: uint8(8),
  12805. Fval: uint16(3),
  12806. },
  12807. 461: {
  12808. Fbits: uint8(8),
  12809. Fval: uint16(131),
  12810. },
  12811. 462: {
  12812. Fbits: uint8(8),
  12813. Fval: uint16(67),
  12814. },
  12815. 463: {
  12816. Fbits: uint8(9),
  12817. Fval: uint16(231),
  12818. },
  12819. 464: {
  12820. Fop: uint8(16),
  12821. Fbits: uint8(7),
  12822. Fval: uint16(7),
  12823. },
  12824. 465: {
  12825. Fbits: uint8(8),
  12826. Fval: uint16(91),
  12827. },
  12828. 466: {
  12829. Fbits: uint8(8),
  12830. Fval: uint16(27),
  12831. },
  12832. 467: {
  12833. Fbits: uint8(9),
  12834. Fval: uint16(151),
  12835. },
  12836. 468: {
  12837. Fop: uint8(20),
  12838. Fbits: uint8(7),
  12839. Fval: uint16(67),
  12840. },
  12841. 469: {
  12842. Fbits: uint8(8),
  12843. Fval: uint16(123),
  12844. },
  12845. 470: {
  12846. Fbits: uint8(8),
  12847. Fval: uint16(59),
  12848. },
  12849. 471: {
  12850. Fbits: uint8(9),
  12851. Fval: uint16(215),
  12852. },
  12853. 472: {
  12854. Fop: uint8(18),
  12855. Fbits: uint8(7),
  12856. Fval: uint16(19),
  12857. },
  12858. 473: {
  12859. Fbits: uint8(8),
  12860. Fval: uint16(107),
  12861. },
  12862. 474: {
  12863. Fbits: uint8(8),
  12864. Fval: uint16(43),
  12865. },
  12866. 475: {
  12867. Fbits: uint8(9),
  12868. Fval: uint16(183),
  12869. },
  12870. 476: {
  12871. Fbits: uint8(8),
  12872. Fval: uint16(11),
  12873. },
  12874. 477: {
  12875. Fbits: uint8(8),
  12876. Fval: uint16(139),
  12877. },
  12878. 478: {
  12879. Fbits: uint8(8),
  12880. Fval: uint16(75),
  12881. },
  12882. 479: {
  12883. Fbits: uint8(9),
  12884. Fval: uint16(247),
  12885. },
  12886. 480: {
  12887. Fop: uint8(16),
  12888. Fbits: uint8(7),
  12889. Fval: uint16(5),
  12890. },
  12891. 481: {
  12892. Fbits: uint8(8),
  12893. Fval: uint16(87),
  12894. },
  12895. 482: {
  12896. Fbits: uint8(8),
  12897. Fval: uint16(23),
  12898. },
  12899. 483: {
  12900. Fop: uint8(64),
  12901. Fbits: uint8(8),
  12902. },
  12903. 484: {
  12904. Fop: uint8(19),
  12905. Fbits: uint8(7),
  12906. Fval: uint16(51),
  12907. },
  12908. 485: {
  12909. Fbits: uint8(8),
  12910. Fval: uint16(119),
  12911. },
  12912. 486: {
  12913. Fbits: uint8(8),
  12914. Fval: uint16(55),
  12915. },
  12916. 487: {
  12917. Fbits: uint8(9),
  12918. Fval: uint16(207),
  12919. },
  12920. 488: {
  12921. Fop: uint8(17),
  12922. Fbits: uint8(7),
  12923. Fval: uint16(15),
  12924. },
  12925. 489: {
  12926. Fbits: uint8(8),
  12927. Fval: uint16(103),
  12928. },
  12929. 490: {
  12930. Fbits: uint8(8),
  12931. Fval: uint16(39),
  12932. },
  12933. 491: {
  12934. Fbits: uint8(9),
  12935. Fval: uint16(175),
  12936. },
  12937. 492: {
  12938. Fbits: uint8(8),
  12939. Fval: uint16(7),
  12940. },
  12941. 493: {
  12942. Fbits: uint8(8),
  12943. Fval: uint16(135),
  12944. },
  12945. 494: {
  12946. Fbits: uint8(8),
  12947. Fval: uint16(71),
  12948. },
  12949. 495: {
  12950. Fbits: uint8(9),
  12951. Fval: uint16(239),
  12952. },
  12953. 496: {
  12954. Fop: uint8(16),
  12955. Fbits: uint8(7),
  12956. Fval: uint16(9),
  12957. },
  12958. 497: {
  12959. Fbits: uint8(8),
  12960. Fval: uint16(95),
  12961. },
  12962. 498: {
  12963. Fbits: uint8(8),
  12964. Fval: uint16(31),
  12965. },
  12966. 499: {
  12967. Fbits: uint8(9),
  12968. Fval: uint16(159),
  12969. },
  12970. 500: {
  12971. Fop: uint8(20),
  12972. Fbits: uint8(7),
  12973. Fval: uint16(99),
  12974. },
  12975. 501: {
  12976. Fbits: uint8(8),
  12977. Fval: uint16(127),
  12978. },
  12979. 502: {
  12980. Fbits: uint8(8),
  12981. Fval: uint16(63),
  12982. },
  12983. 503: {
  12984. Fbits: uint8(9),
  12985. Fval: uint16(223),
  12986. },
  12987. 504: {
  12988. Fop: uint8(18),
  12989. Fbits: uint8(7),
  12990. Fval: uint16(27),
  12991. },
  12992. 505: {
  12993. Fbits: uint8(8),
  12994. Fval: uint16(111),
  12995. },
  12996. 506: {
  12997. Fbits: uint8(8),
  12998. Fval: uint16(47),
  12999. },
  13000. 507: {
  13001. Fbits: uint8(9),
  13002. Fval: uint16(191),
  13003. },
  13004. 508: {
  13005. Fbits: uint8(8),
  13006. Fval: uint16(15),
  13007. },
  13008. 509: {
  13009. Fbits: uint8(8),
  13010. Fval: uint16(143),
  13011. },
  13012. 510: {
  13013. Fbits: uint8(8),
  13014. Fval: uint16(79),
  13015. },
  13016. 511: {
  13017. Fbits: uint8(9),
  13018. Fval: uint16(255),
  13019. },
  13020. }
  13021. var _distfix = [32]Tcode{
  13022. 0: {
  13023. Fop: uint8(16),
  13024. Fbits: uint8(5),
  13025. Fval: uint16(1),
  13026. },
  13027. 1: {
  13028. Fop: uint8(23),
  13029. Fbits: uint8(5),
  13030. Fval: uint16(257),
  13031. },
  13032. 2: {
  13033. Fop: uint8(19),
  13034. Fbits: uint8(5),
  13035. Fval: uint16(17),
  13036. },
  13037. 3: {
  13038. Fop: uint8(27),
  13039. Fbits: uint8(5),
  13040. Fval: uint16(4097),
  13041. },
  13042. 4: {
  13043. Fop: uint8(17),
  13044. Fbits: uint8(5),
  13045. Fval: uint16(5),
  13046. },
  13047. 5: {
  13048. Fop: uint8(25),
  13049. Fbits: uint8(5),
  13050. Fval: uint16(1025),
  13051. },
  13052. 6: {
  13053. Fop: uint8(21),
  13054. Fbits: uint8(5),
  13055. Fval: uint16(65),
  13056. },
  13057. 7: {
  13058. Fop: uint8(29),
  13059. Fbits: uint8(5),
  13060. Fval: uint16(16385),
  13061. },
  13062. 8: {
  13063. Fop: uint8(16),
  13064. Fbits: uint8(5),
  13065. Fval: uint16(3),
  13066. },
  13067. 9: {
  13068. Fop: uint8(24),
  13069. Fbits: uint8(5),
  13070. Fval: uint16(513),
  13071. },
  13072. 10: {
  13073. Fop: uint8(20),
  13074. Fbits: uint8(5),
  13075. Fval: uint16(33),
  13076. },
  13077. 11: {
  13078. Fop: uint8(28),
  13079. Fbits: uint8(5),
  13080. Fval: uint16(8193),
  13081. },
  13082. 12: {
  13083. Fop: uint8(18),
  13084. Fbits: uint8(5),
  13085. Fval: uint16(9),
  13086. },
  13087. 13: {
  13088. Fop: uint8(26),
  13089. Fbits: uint8(5),
  13090. Fval: uint16(2049),
  13091. },
  13092. 14: {
  13093. Fop: uint8(22),
  13094. Fbits: uint8(5),
  13095. Fval: uint16(129),
  13096. },
  13097. 15: {
  13098. Fop: uint8(64),
  13099. Fbits: uint8(5),
  13100. },
  13101. 16: {
  13102. Fop: uint8(16),
  13103. Fbits: uint8(5),
  13104. Fval: uint16(2),
  13105. },
  13106. 17: {
  13107. Fop: uint8(23),
  13108. Fbits: uint8(5),
  13109. Fval: uint16(385),
  13110. },
  13111. 18: {
  13112. Fop: uint8(19),
  13113. Fbits: uint8(5),
  13114. Fval: uint16(25),
  13115. },
  13116. 19: {
  13117. Fop: uint8(27),
  13118. Fbits: uint8(5),
  13119. Fval: uint16(6145),
  13120. },
  13121. 20: {
  13122. Fop: uint8(17),
  13123. Fbits: uint8(5),
  13124. Fval: uint16(7),
  13125. },
  13126. 21: {
  13127. Fop: uint8(25),
  13128. Fbits: uint8(5),
  13129. Fval: uint16(1537),
  13130. },
  13131. 22: {
  13132. Fop: uint8(21),
  13133. Fbits: uint8(5),
  13134. Fval: uint16(97),
  13135. },
  13136. 23: {
  13137. Fop: uint8(29),
  13138. Fbits: uint8(5),
  13139. Fval: uint16(24577),
  13140. },
  13141. 24: {
  13142. Fop: uint8(16),
  13143. Fbits: uint8(5),
  13144. Fval: uint16(4),
  13145. },
  13146. 25: {
  13147. Fop: uint8(24),
  13148. Fbits: uint8(5),
  13149. Fval: uint16(769),
  13150. },
  13151. 26: {
  13152. Fop: uint8(20),
  13153. Fbits: uint8(5),
  13154. Fval: uint16(49),
  13155. },
  13156. 27: {
  13157. Fop: uint8(28),
  13158. Fbits: uint8(5),
  13159. Fval: uint16(12289),
  13160. },
  13161. 28: {
  13162. Fop: uint8(18),
  13163. Fbits: uint8(5),
  13164. Fval: uint16(13),
  13165. },
  13166. 29: {
  13167. Fop: uint8(26),
  13168. Fbits: uint8(5),
  13169. Fval: uint16(3073),
  13170. },
  13171. 30: {
  13172. Fop: uint8(22),
  13173. Fbits: uint8(5),
  13174. Fval: uint16(193),
  13175. },
  13176. 31: {
  13177. Fop: uint8(64),
  13178. Fbits: uint8(5),
  13179. },
  13180. }
  13181. /* Macros for inflateBack(): */
  13182. /* Load returned state from inflate_fast() */
  13183. /* Set state from registers for inflate_fast() */
  13184. /* Clear the input bit accumulator */
  13185. /* Assure that some input is available. If input is requested, but denied,
  13186. then return a Z_BUF_ERROR from inflateBack(). */
  13187. /* Get a byte of input into the bit accumulator, or return from inflateBack()
  13188. with an error if there is no input available. */
  13189. /* Assure that there are at least n bits in the bit accumulator. If there is
  13190. not enough available input to do that, then return from inflateBack() with
  13191. an error. */
  13192. /* Return the low n bits of the bit accumulator (n < 16) */
  13193. /* Remove n bits from the bit accumulator */
  13194. /* Remove zero to seven bits as needed to go to a byte boundary */
  13195. /* Assure that some output space is available, by writing out the window
  13196. if it's full. If the write fails, return from inflateBack() with a
  13197. Z_BUF_ERROR. */
  13198. // C documentation
  13199. //
  13200. // /*
  13201. // strm provides the memory allocation functions and window buffer on input,
  13202. // and provides information on the unused input on return. For Z_DATA_ERROR
  13203. // returns, strm will also provide an error message.
  13204. //
  13205. // in() and out() are the call-back input and output functions. When
  13206. // inflateBack() needs more input, it calls in(). When inflateBack() has
  13207. // filled the window with output, or when it completes with data in the
  13208. // window, it calls out() to write out the data. The application must not
  13209. // change the provided input until in() is called again or inflateBack()
  13210. // returns. The application must not change the window/output buffer until
  13211. // inflateBack() returns.
  13212. //
  13213. // in() and out() are called with a descriptor parameter provided in the
  13214. // inflateBack() call. This parameter can be a structure that provides the
  13215. // information required to do the read or write, as well as accumulated
  13216. // information on the input and output such as totals and check values.
  13217. //
  13218. // in() should return zero on failure. out() should return non-zero on
  13219. // failure. If either in() or out() fails, than inflateBack() returns a
  13220. // Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
  13221. // was in() or out() that caused in the error. Otherwise, inflateBack()
  13222. // returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
  13223. // error, or Z_MEM_ERROR if it could not allocate memory for the state.
  13224. // inflateBack() can also return Z_STREAM_ERROR if the input parameters
  13225. // are not correct, i.e. strm is Z_NULL or the state was not initialized.
  13226. // */
  13227. func XinflateBack(tls *libc.TLS, strm Tz_streamp, in Tin_func, in_desc uintptr, out Tout_func, out_desc uintptr) (r int32) {
  13228. bp := tls.Alloc(16)
  13229. defer tls.Free(16)
  13230. var bits, copy1, have, left, len1, v1, v18, v20, v24, v29, v30, v43, v44 uint32
  13231. 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
  13232. var here, last Tcode
  13233. var hold uint64
  13234. var ret int32
  13235. var _ /* next at bp+0 */ uintptr
  13236. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  13237. /* Check that the strm exists and that the state was initialized */
  13238. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) {
  13239. return -int32(2)
  13240. }
  13241. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  13242. /* Reset the state */
  13243. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  13244. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  13245. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  13246. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  13247. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  13248. if *(*uintptr)(unsafe.Pointer(bp)) != uintptr(m_Z_NULL) {
  13249. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  13250. } else {
  13251. v1 = uint32(0)
  13252. }
  13253. have = v1
  13254. hold = uint64(0)
  13255. bits = uint32(0)
  13256. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  13257. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  13258. /* Inflate until end of block marked as last */
  13259. for {
  13260. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  13261. case int32(_TYPE):
  13262. goto _3
  13263. case int32(_STORED):
  13264. goto _4
  13265. case int32(_TABLE):
  13266. goto _5
  13267. case int32(_LEN):
  13268. goto _6
  13269. case int32(_DONE):
  13270. goto _7
  13271. case int32(_BAD):
  13272. goto _8
  13273. default:
  13274. goto _9
  13275. }
  13276. goto _10
  13277. _3:
  13278. ;
  13279. /* determine and dispatch block type */
  13280. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  13281. hold >>= uint64(bits & uint32(7))
  13282. bits -= bits & uint32(7)
  13283. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  13284. goto _10
  13285. }
  13286. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  13287. if have == uint32(0) {
  13288. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13289. if have == uint32(0) {
  13290. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13291. ret = -int32(5)
  13292. goto inf_leave
  13293. }
  13294. }
  13295. have--
  13296. v11 = *(*uintptr)(unsafe.Pointer(bp))
  13297. *(*uintptr)(unsafe.Pointer(bp))++
  13298. hold += uint64(*(*uint8)(unsafe.Pointer(v11))) << bits
  13299. bits += uint32(8)
  13300. }
  13301. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  13302. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  13303. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  13304. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  13305. case uint32(0): /* stored block */
  13306. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  13307. case uint32(1): /* fixed block */
  13308. _fixedtables(tls, state)
  13309. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN) /* decode codes */
  13310. case uint32(2): /* dynamic block */
  13311. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  13312. case uint32(3):
  13313. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  13314. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13315. }
  13316. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  13317. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  13318. goto _10
  13319. _4:
  13320. ;
  13321. /* get and verify stored block length */
  13322. _14:
  13323. ;
  13324. hold >>= uint64(bits & uint32(7))
  13325. bits -= bits & uint32(7)
  13326. goto _13
  13327. _13:
  13328. ;
  13329. if 0 != 0 {
  13330. goto _14
  13331. }
  13332. goto _12
  13333. _12:
  13334. ; /* go to byte boundary */
  13335. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  13336. if have == uint32(0) {
  13337. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13338. if have == uint32(0) {
  13339. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13340. ret = -int32(5)
  13341. goto inf_leave
  13342. }
  13343. }
  13344. have--
  13345. v15 = *(*uintptr)(unsafe.Pointer(bp))
  13346. *(*uintptr)(unsafe.Pointer(bp))++
  13347. hold += uint64(*(*uint8)(unsafe.Pointer(v15))) << bits
  13348. bits += uint32(8)
  13349. }
  13350. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  13351. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  13352. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13353. goto _10
  13354. }
  13355. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  13356. hold = uint64(0)
  13357. bits = uint32(0)
  13358. /* copy stored block from input to output */
  13359. for (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  13360. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  13361. if have == uint32(0) {
  13362. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13363. if have == uint32(0) {
  13364. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13365. ret = -int32(5)
  13366. goto inf_leave
  13367. }
  13368. }
  13369. if left == uint32(0) {
  13370. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  13371. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  13372. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  13373. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  13374. ret = -int32(5)
  13375. goto inf_leave
  13376. }
  13377. }
  13378. if copy1 > have {
  13379. copy1 = have
  13380. }
  13381. if copy1 > left {
  13382. copy1 = left
  13383. }
  13384. libc.X__builtin___memcpy_chk(tls, put, *(*uintptr)(unsafe.Pointer(bp)), uint64(copy1), ^t__predefined_size_t(0))
  13385. have -= copy1
  13386. *(*uintptr)(unsafe.Pointer(bp)) += uintptr(copy1)
  13387. left -= copy1
  13388. put += uintptr(copy1)
  13389. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  13390. }
  13391. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  13392. goto _10
  13393. _5:
  13394. ;
  13395. /* get dynamic table entries descriptor */
  13396. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  13397. if have == uint32(0) {
  13398. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13399. if have == uint32(0) {
  13400. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13401. ret = -int32(5)
  13402. goto inf_leave
  13403. }
  13404. }
  13405. have--
  13406. v16 = *(*uintptr)(unsafe.Pointer(bp))
  13407. *(*uintptr)(unsafe.Pointer(bp))++
  13408. hold += uint64(*(*uint8)(unsafe.Pointer(v16))) << bits
  13409. bits += uint32(8)
  13410. }
  13411. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  13412. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  13413. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  13414. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  13415. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  13416. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  13417. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  13418. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  13419. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  13420. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  13421. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  13422. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13423. goto _10
  13424. }
  13425. /* get code length code lengths (not a typo) */
  13426. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  13427. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  13428. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  13429. if have == uint32(0) {
  13430. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13431. if have == uint32(0) {
  13432. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13433. ret = -int32(5)
  13434. goto inf_leave
  13435. }
  13436. }
  13437. have--
  13438. v17 = *(*uintptr)(unsafe.Pointer(bp))
  13439. *(*uintptr)(unsafe.Pointer(bp))++
  13440. hold += uint64(*(*uint8)(unsafe.Pointer(v17))) << bits
  13441. bits += uint32(8)
  13442. }
  13443. v19 = state + 140
  13444. v18 = *(*uint32)(unsafe.Pointer(v19))
  13445. *(*uint32)(unsafe.Pointer(v19))++
  13446. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v18])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  13447. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  13448. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  13449. }
  13450. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  13451. v21 = state + 140
  13452. v20 = *(*uint32)(unsafe.Pointer(v21))
  13453. *(*uint32)(unsafe.Pointer(v21))++
  13454. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v20])*2)) = uint16(0)
  13455. }
  13456. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  13457. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  13458. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  13459. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  13460. if ret != 0 {
  13461. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  13462. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13463. goto _10
  13464. }
  13465. /* get length and distance code code lengths */
  13466. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  13467. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  13468. for {
  13469. 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))
  13470. if uint32(here.Fbits) <= bits {
  13471. break
  13472. }
  13473. if have == uint32(0) {
  13474. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13475. if have == uint32(0) {
  13476. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13477. ret = -int32(5)
  13478. goto inf_leave
  13479. }
  13480. }
  13481. have--
  13482. v23 = *(*uintptr)(unsafe.Pointer(bp))
  13483. *(*uintptr)(unsafe.Pointer(bp))++
  13484. hold += uint64(*(*uint8)(unsafe.Pointer(v23))) << bits
  13485. bits += uint32(8)
  13486. goto _22
  13487. _22:
  13488. }
  13489. if libc.Int32FromUint16(here.Fval) < int32(16) {
  13490. hold >>= uint64(here.Fbits)
  13491. bits -= uint32(here.Fbits)
  13492. v25 = state + 140
  13493. v24 = *(*uint32)(unsafe.Pointer(v25))
  13494. *(*uint32)(unsafe.Pointer(v25))++
  13495. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v24)*2)) = here.Fval
  13496. } else {
  13497. if libc.Int32FromUint16(here.Fval) == int32(16) {
  13498. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  13499. if have == uint32(0) {
  13500. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13501. if have == uint32(0) {
  13502. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13503. ret = -int32(5)
  13504. goto inf_leave
  13505. }
  13506. }
  13507. have--
  13508. v26 = *(*uintptr)(unsafe.Pointer(bp))
  13509. *(*uintptr)(unsafe.Pointer(bp))++
  13510. hold += uint64(*(*uint8)(unsafe.Pointer(v26))) << bits
  13511. bits += uint32(8)
  13512. }
  13513. hold >>= uint64(here.Fbits)
  13514. bits -= uint32(here.Fbits)
  13515. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  13516. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  13517. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13518. break
  13519. }
  13520. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  13521. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  13522. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  13523. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  13524. } else {
  13525. if libc.Int32FromUint16(here.Fval) == int32(17) {
  13526. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  13527. if have == uint32(0) {
  13528. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13529. if have == uint32(0) {
  13530. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13531. ret = -int32(5)
  13532. goto inf_leave
  13533. }
  13534. }
  13535. have--
  13536. v27 = *(*uintptr)(unsafe.Pointer(bp))
  13537. *(*uintptr)(unsafe.Pointer(bp))++
  13538. hold += uint64(*(*uint8)(unsafe.Pointer(v27))) << bits
  13539. bits += uint32(8)
  13540. }
  13541. hold >>= uint64(here.Fbits)
  13542. bits -= uint32(here.Fbits)
  13543. len1 = uint32(0)
  13544. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  13545. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  13546. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  13547. } else {
  13548. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  13549. if have == uint32(0) {
  13550. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13551. if have == uint32(0) {
  13552. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13553. ret = -int32(5)
  13554. goto inf_leave
  13555. }
  13556. }
  13557. have--
  13558. v28 = *(*uintptr)(unsafe.Pointer(bp))
  13559. *(*uintptr)(unsafe.Pointer(bp))++
  13560. hold += uint64(*(*uint8)(unsafe.Pointer(v28))) << bits
  13561. bits += uint32(8)
  13562. }
  13563. hold >>= uint64(here.Fbits)
  13564. bits -= uint32(here.Fbits)
  13565. len1 = uint32(0)
  13566. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  13567. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  13568. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  13569. }
  13570. }
  13571. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  13572. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  13573. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13574. break
  13575. }
  13576. for {
  13577. v29 = copy1
  13578. copy1--
  13579. if !(v29 != 0) {
  13580. break
  13581. }
  13582. v31 = state + 140
  13583. v30 = *(*uint32)(unsafe.Pointer(v31))
  13584. *(*uint32)(unsafe.Pointer(v31))++
  13585. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v30)*2)) = uint16(len1)
  13586. }
  13587. }
  13588. }
  13589. /* handle error breaks in while */
  13590. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  13591. goto _10
  13592. }
  13593. /* check for end-of-block code (better have one) */
  13594. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  13595. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  13596. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13597. goto _10
  13598. }
  13599. /* build code tables -- note: do not change the lenbits or distbits
  13600. values here (9 and 6) without reading the comments in inftrees.h
  13601. concerning the ENOUGH constants, which depend on those values */
  13602. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  13603. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  13604. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  13605. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  13606. if ret != 0 {
  13607. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  13608. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13609. goto _10
  13610. }
  13611. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  13612. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  13613. 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)
  13614. if ret != 0 {
  13615. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  13616. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13617. goto _10
  13618. }
  13619. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  13620. /* fallthrough */
  13621. _6:
  13622. ;
  13623. /* use inflate_fast() if we have enough input and output */
  13624. if have >= uint32(6) && left >= uint32(258) {
  13625. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  13626. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  13627. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  13628. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  13629. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  13630. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  13631. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  13632. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - left
  13633. }
  13634. Xinflate_fast(tls, strm, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize)
  13635. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  13636. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  13637. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  13638. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  13639. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  13640. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  13641. goto _10
  13642. }
  13643. /* get a literal, length, or end-of-block code */
  13644. for {
  13645. 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))
  13646. if uint32(here.Fbits) <= bits {
  13647. break
  13648. }
  13649. if have == uint32(0) {
  13650. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13651. if have == uint32(0) {
  13652. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13653. ret = -int32(5)
  13654. goto inf_leave
  13655. }
  13656. }
  13657. have--
  13658. v33 = *(*uintptr)(unsafe.Pointer(bp))
  13659. *(*uintptr)(unsafe.Pointer(bp))++
  13660. hold += uint64(*(*uint8)(unsafe.Pointer(v33))) << bits
  13661. bits += uint32(8)
  13662. goto _32
  13663. _32:
  13664. }
  13665. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  13666. last = here
  13667. for {
  13668. 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))
  13669. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  13670. break
  13671. }
  13672. if have == uint32(0) {
  13673. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13674. if have == uint32(0) {
  13675. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13676. ret = -int32(5)
  13677. goto inf_leave
  13678. }
  13679. }
  13680. have--
  13681. v35 = *(*uintptr)(unsafe.Pointer(bp))
  13682. *(*uintptr)(unsafe.Pointer(bp))++
  13683. hold += uint64(*(*uint8)(unsafe.Pointer(v35))) << bits
  13684. bits += uint32(8)
  13685. goto _34
  13686. _34:
  13687. }
  13688. hold >>= uint64(last.Fbits)
  13689. bits -= uint32(last.Fbits)
  13690. }
  13691. hold >>= uint64(here.Fbits)
  13692. bits -= uint32(here.Fbits)
  13693. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  13694. /* process literal */
  13695. if libc.Int32FromUint8(here.Fop) == 0 {
  13696. if left == uint32(0) {
  13697. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  13698. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  13699. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  13700. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  13701. ret = -int32(5)
  13702. goto inf_leave
  13703. }
  13704. }
  13705. v36 = put
  13706. put++
  13707. *(*uint8)(unsafe.Pointer(v36)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  13708. left--
  13709. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  13710. goto _10
  13711. }
  13712. /* process end of block */
  13713. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  13714. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  13715. goto _10
  13716. }
  13717. /* invalid code */
  13718. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  13719. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  13720. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13721. goto _10
  13722. }
  13723. /* length code -- get extra bits, if any */
  13724. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  13725. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  13726. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  13727. if have == uint32(0) {
  13728. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13729. if have == uint32(0) {
  13730. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13731. ret = -int32(5)
  13732. goto inf_leave
  13733. }
  13734. }
  13735. have--
  13736. v37 = *(*uintptr)(unsafe.Pointer(bp))
  13737. *(*uintptr)(unsafe.Pointer(bp))++
  13738. hold += uint64(*(*uint8)(unsafe.Pointer(v37))) << bits
  13739. bits += uint32(8)
  13740. }
  13741. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  13742. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  13743. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  13744. }
  13745. /* get distance code */
  13746. for {
  13747. 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))
  13748. if uint32(here.Fbits) <= bits {
  13749. break
  13750. }
  13751. if have == uint32(0) {
  13752. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13753. if have == uint32(0) {
  13754. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13755. ret = -int32(5)
  13756. goto inf_leave
  13757. }
  13758. }
  13759. have--
  13760. v39 = *(*uintptr)(unsafe.Pointer(bp))
  13761. *(*uintptr)(unsafe.Pointer(bp))++
  13762. hold += uint64(*(*uint8)(unsafe.Pointer(v39))) << bits
  13763. bits += uint32(8)
  13764. goto _38
  13765. _38:
  13766. }
  13767. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  13768. last = here
  13769. for {
  13770. 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))
  13771. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  13772. break
  13773. }
  13774. if have == uint32(0) {
  13775. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13776. if have == uint32(0) {
  13777. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13778. ret = -int32(5)
  13779. goto inf_leave
  13780. }
  13781. }
  13782. have--
  13783. v41 = *(*uintptr)(unsafe.Pointer(bp))
  13784. *(*uintptr)(unsafe.Pointer(bp))++
  13785. hold += uint64(*(*uint8)(unsafe.Pointer(v41))) << bits
  13786. bits += uint32(8)
  13787. goto _40
  13788. _40:
  13789. }
  13790. hold >>= uint64(last.Fbits)
  13791. bits -= uint32(last.Fbits)
  13792. }
  13793. hold >>= uint64(here.Fbits)
  13794. bits -= uint32(here.Fbits)
  13795. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  13796. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  13797. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13798. goto _10
  13799. }
  13800. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  13801. /* get distance extra bits, if any */
  13802. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  13803. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  13804. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  13805. if have == uint32(0) {
  13806. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  13807. if have == uint32(0) {
  13808. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  13809. ret = -int32(5)
  13810. goto inf_leave
  13811. }
  13812. }
  13813. have--
  13814. v42 = *(*uintptr)(unsafe.Pointer(bp))
  13815. *(*uintptr)(unsafe.Pointer(bp))++
  13816. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  13817. bits += uint32(8)
  13818. }
  13819. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  13820. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  13821. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  13822. }
  13823. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  13824. v43 = left
  13825. } else {
  13826. v43 = uint32(0)
  13827. }
  13828. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-v43 {
  13829. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  13830. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  13831. goto _10
  13832. }
  13833. /* copy match from window to output */
  13834. for cond := true; cond; cond = (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  13835. if left == uint32(0) {
  13836. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  13837. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  13838. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  13839. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  13840. ret = -int32(5)
  13841. goto inf_leave
  13842. }
  13843. }
  13844. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Foffset
  13845. if copy1 < left {
  13846. from = put + uintptr(copy1)
  13847. copy1 = left - copy1
  13848. } else {
  13849. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  13850. copy1 = left
  13851. }
  13852. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  13853. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  13854. }
  13855. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  13856. left -= copy1
  13857. for {
  13858. v46 = put
  13859. put++
  13860. v47 = from
  13861. from++
  13862. *(*uint8)(unsafe.Pointer(v46)) = *(*uint8)(unsafe.Pointer(v47))
  13863. goto _45
  13864. _45:
  13865. ;
  13866. copy1--
  13867. v44 = copy1
  13868. if !(v44 != 0) {
  13869. break
  13870. }
  13871. }
  13872. }
  13873. goto _10
  13874. _7:
  13875. ;
  13876. /* inflate stream terminated properly */
  13877. ret = int32(m_Z_STREAM_END)
  13878. goto inf_leave
  13879. _8:
  13880. ;
  13881. ret = -int32(3)
  13882. goto inf_leave
  13883. _9:
  13884. ;
  13885. /* can't happen, but makes compilers happy */
  13886. ret = -int32(2)
  13887. goto inf_leave
  13888. _10:
  13889. ;
  13890. goto _2
  13891. _2:
  13892. }
  13893. /* Write leftover output and return unused input */
  13894. goto inf_leave
  13895. inf_leave:
  13896. ;
  13897. if left < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  13898. 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) {
  13899. ret = -int32(5)
  13900. }
  13901. }
  13902. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  13903. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  13904. return ret
  13905. }
  13906. var _order = [19]uint16{
  13907. 0: uint16(16),
  13908. 1: uint16(17),
  13909. 2: uint16(18),
  13910. 4: uint16(8),
  13911. 5: uint16(7),
  13912. 6: uint16(9),
  13913. 7: uint16(6),
  13914. 8: uint16(10),
  13915. 9: uint16(5),
  13916. 10: uint16(11),
  13917. 11: uint16(4),
  13918. 12: uint16(12),
  13919. 13: uint16(3),
  13920. 14: uint16(13),
  13921. 15: uint16(2),
  13922. 16: uint16(14),
  13923. 17: uint16(1),
  13924. 18: uint16(15),
  13925. }
  13926. func XinflateBackEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  13927. 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) {
  13928. return -int32(2)
  13929. }
  13930. (*(*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)
  13931. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  13932. return m_Z_OK
  13933. }
  13934. // C documentation
  13935. //
  13936. // /*
  13937. // Decode literal, length, and distance codes and write out the resulting
  13938. // literal and match bytes until either not enough input or output is
  13939. // available, an end-of-block is encountered, or a data error is encountered.
  13940. // When large enough input and output buffers are supplied to inflate(), for
  13941. // example, a 16K input buffer and a 64K output buffer, more than 95% of the
  13942. // inflate execution time is spent in this routine.
  13943. //
  13944. // Entry assumptions:
  13945. //
  13946. // state->mode == LEN
  13947. // strm->avail_in >= 6
  13948. // strm->avail_out >= 258
  13949. // start >= strm->avail_out
  13950. // state->bits < 8
  13951. //
  13952. // On return, state->mode is one of:
  13953. //
  13954. // LEN -- ran out of enough output space or enough available input
  13955. // TYPE -- reached end of block code, inflate() to interpret next block
  13956. // BAD -- error in block data
  13957. //
  13958. // Notes:
  13959. //
  13960. // - The maximum input bits used by a length/distance pair is 15 bits for the
  13961. // length code, 5 bits for the length extra, 15 bits for the distance code,
  13962. // and 13 bits for the distance extra. This totals 48 bits, or six bytes.
  13963. // Therefore if strm->avail_in >= 6, then there is enough input to avoid
  13964. // checking for available input while decoding.
  13965. //
  13966. // - The maximum bytes that a single length/distance pair can output is 258
  13967. // bytes, which is the maximum length that can be coded. inflate_fast()
  13968. // requires strm->avail_out >= 258 for each loop to avoid checking for
  13969. // output space.
  13970. // */
  13971. func Xinflate_fast(tls *libc.TLS, strm Tz_streamp, start uint32) {
  13972. 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
  13973. var bits, dist, dmask, len1, lmask, op, whave, wnext, wsize, v13, v17, v21, v9 uint32
  13974. var hold uint64
  13975. var v45, v46 int64
  13976. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  13977. /* copy state to local variables */
  13978. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  13979. in = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  13980. last = in + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in-libc.Uint32FromInt32(5))
  13981. out = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  13982. beg = out - uintptr(start-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out)
  13983. end = out + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_out-libc.Uint32FromInt32(257))
  13984. wsize = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  13985. whave = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  13986. wnext = (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  13987. window = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  13988. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  13989. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  13990. lcode = (*Tinflate_state)(unsafe.Pointer(state)).Flencode
  13991. dcode = (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode
  13992. lmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits - uint32(1)
  13993. dmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits - uint32(1)
  13994. /* decode literals and length/distances until end-of-block or not enough
  13995. input data or output space */
  13996. for cond := true; cond; cond = in < last && out < end {
  13997. if bits < uint32(15) {
  13998. v1 = in
  13999. in++
  14000. hold += uint64(*(*uint8)(unsafe.Pointer(v1))) << bits
  14001. bits += uint32(8)
  14002. v2 = in
  14003. in++
  14004. hold += uint64(*(*uint8)(unsafe.Pointer(v2))) << bits
  14005. bits += uint32(8)
  14006. }
  14007. here = lcode + uintptr(hold&uint64(lmask))*4
  14008. goto dolen
  14009. dolen:
  14010. ;
  14011. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  14012. hold >>= uint64(op)
  14013. bits -= op
  14014. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  14015. if op == uint32(0) { /* literal */
  14016. v3 = out
  14017. out++
  14018. *(*uint8)(unsafe.Pointer(v3)) = uint8((*Tcode)(unsafe.Pointer(here)).Fval)
  14019. } else {
  14020. if op&uint32(16) != 0 { /* length base */
  14021. len1 = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  14022. op &= uint32(15) /* number of extra bits */
  14023. if op != 0 {
  14024. if bits < op {
  14025. v4 = in
  14026. in++
  14027. hold += uint64(*(*uint8)(unsafe.Pointer(v4))) << bits
  14028. bits += uint32(8)
  14029. }
  14030. len1 += uint32(hold) & (uint32(1)<<op - uint32(1))
  14031. hold >>= uint64(op)
  14032. bits -= op
  14033. }
  14034. if bits < uint32(15) {
  14035. v5 = in
  14036. in++
  14037. hold += uint64(*(*uint8)(unsafe.Pointer(v5))) << bits
  14038. bits += uint32(8)
  14039. v6 = in
  14040. in++
  14041. hold += uint64(*(*uint8)(unsafe.Pointer(v6))) << bits
  14042. bits += uint32(8)
  14043. }
  14044. here = dcode + uintptr(hold&uint64(dmask))*4
  14045. goto dodist
  14046. dodist:
  14047. ;
  14048. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  14049. hold >>= uint64(op)
  14050. bits -= op
  14051. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  14052. if op&uint32(16) != 0 { /* distance base */
  14053. dist = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  14054. op &= uint32(15) /* number of extra bits */
  14055. if bits < op {
  14056. v7 = in
  14057. in++
  14058. hold += uint64(*(*uint8)(unsafe.Pointer(v7))) << bits
  14059. bits += uint32(8)
  14060. if bits < op {
  14061. v8 = in
  14062. in++
  14063. hold += uint64(*(*uint8)(unsafe.Pointer(v8))) << bits
  14064. bits += uint32(8)
  14065. }
  14066. }
  14067. dist += uint32(hold) & (uint32(1)<<op - uint32(1))
  14068. hold >>= uint64(op)
  14069. bits -= op
  14070. op = libc.Uint32FromInt64(int64(out) - int64(beg)) /* max distance in output */
  14071. if dist > op { /* see if copy from window */
  14072. op = dist - op /* distance back in window */
  14073. if op > whave {
  14074. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  14075. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  14076. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  14077. break
  14078. }
  14079. }
  14080. from = window
  14081. if wnext == uint32(0) { /* very common case */
  14082. from += uintptr(wsize - op)
  14083. if op < len1 { /* some from window */
  14084. len1 -= op
  14085. for {
  14086. v11 = out
  14087. out++
  14088. v12 = from
  14089. from++
  14090. *(*uint8)(unsafe.Pointer(v11)) = *(*uint8)(unsafe.Pointer(v12))
  14091. goto _10
  14092. _10:
  14093. ;
  14094. op--
  14095. v9 = op
  14096. if !(v9 != 0) {
  14097. break
  14098. }
  14099. }
  14100. from = out - uintptr(dist) /* rest from output */
  14101. }
  14102. } else {
  14103. if wnext < op { /* wrap around window */
  14104. from += uintptr(wsize + wnext - op)
  14105. op -= wnext
  14106. if op < len1 { /* some from end of window */
  14107. len1 -= op
  14108. for {
  14109. v15 = out
  14110. out++
  14111. v16 = from
  14112. from++
  14113. *(*uint8)(unsafe.Pointer(v15)) = *(*uint8)(unsafe.Pointer(v16))
  14114. goto _14
  14115. _14:
  14116. ;
  14117. op--
  14118. v13 = op
  14119. if !(v13 != 0) {
  14120. break
  14121. }
  14122. }
  14123. from = window
  14124. if wnext < len1 { /* some from start of window */
  14125. op = wnext
  14126. len1 -= op
  14127. for {
  14128. v19 = out
  14129. out++
  14130. v20 = from
  14131. from++
  14132. *(*uint8)(unsafe.Pointer(v19)) = *(*uint8)(unsafe.Pointer(v20))
  14133. goto _18
  14134. _18:
  14135. ;
  14136. op--
  14137. v17 = op
  14138. if !(v17 != 0) {
  14139. break
  14140. }
  14141. }
  14142. from = out - uintptr(dist) /* rest from output */
  14143. }
  14144. }
  14145. } else { /* contiguous in window */
  14146. from += uintptr(wnext - op)
  14147. if op < len1 { /* some from window */
  14148. len1 -= op
  14149. for {
  14150. v23 = out
  14151. out++
  14152. v24 = from
  14153. from++
  14154. *(*uint8)(unsafe.Pointer(v23)) = *(*uint8)(unsafe.Pointer(v24))
  14155. goto _22
  14156. _22:
  14157. ;
  14158. op--
  14159. v21 = op
  14160. if !(v21 != 0) {
  14161. break
  14162. }
  14163. }
  14164. from = out - uintptr(dist) /* rest from output */
  14165. }
  14166. }
  14167. }
  14168. for len1 > uint32(2) {
  14169. v25 = out
  14170. out++
  14171. v26 = from
  14172. from++
  14173. *(*uint8)(unsafe.Pointer(v25)) = *(*uint8)(unsafe.Pointer(v26))
  14174. v27 = out
  14175. out++
  14176. v28 = from
  14177. from++
  14178. *(*uint8)(unsafe.Pointer(v27)) = *(*uint8)(unsafe.Pointer(v28))
  14179. v29 = out
  14180. out++
  14181. v30 = from
  14182. from++
  14183. *(*uint8)(unsafe.Pointer(v29)) = *(*uint8)(unsafe.Pointer(v30))
  14184. len1 -= uint32(3)
  14185. }
  14186. if len1 != 0 {
  14187. v31 = out
  14188. out++
  14189. v32 = from
  14190. from++
  14191. *(*uint8)(unsafe.Pointer(v31)) = *(*uint8)(unsafe.Pointer(v32))
  14192. if len1 > uint32(1) {
  14193. v33 = out
  14194. out++
  14195. v34 = from
  14196. from++
  14197. *(*uint8)(unsafe.Pointer(v33)) = *(*uint8)(unsafe.Pointer(v34))
  14198. }
  14199. }
  14200. } else {
  14201. from = out - uintptr(dist) /* copy direct from output */
  14202. for cond := true; cond; cond = len1 > uint32(2) { /* minimum length is three */
  14203. v35 = out
  14204. out++
  14205. v36 = from
  14206. from++
  14207. *(*uint8)(unsafe.Pointer(v35)) = *(*uint8)(unsafe.Pointer(v36))
  14208. v37 = out
  14209. out++
  14210. v38 = from
  14211. from++
  14212. *(*uint8)(unsafe.Pointer(v37)) = *(*uint8)(unsafe.Pointer(v38))
  14213. v39 = out
  14214. out++
  14215. v40 = from
  14216. from++
  14217. *(*uint8)(unsafe.Pointer(v39)) = *(*uint8)(unsafe.Pointer(v40))
  14218. len1 -= uint32(3)
  14219. }
  14220. if len1 != 0 {
  14221. v41 = out
  14222. out++
  14223. v42 = from
  14224. from++
  14225. *(*uint8)(unsafe.Pointer(v41)) = *(*uint8)(unsafe.Pointer(v42))
  14226. if len1 > uint32(1) {
  14227. v43 = out
  14228. out++
  14229. v44 = from
  14230. from++
  14231. *(*uint8)(unsafe.Pointer(v43)) = *(*uint8)(unsafe.Pointer(v44))
  14232. }
  14233. }
  14234. }
  14235. } else {
  14236. if op&uint32(64) == uint32(0) { /* 2nd level distance code */
  14237. here = dcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  14238. goto dodist
  14239. } else {
  14240. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  14241. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  14242. break
  14243. }
  14244. }
  14245. } else {
  14246. if op&uint32(64) == uint32(0) { /* 2nd level length code */
  14247. here = lcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  14248. goto dolen
  14249. } else {
  14250. if op&uint32(32) != 0 { /* end-of-block */
  14251. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  14252. break
  14253. } else {
  14254. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  14255. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  14256. break
  14257. }
  14258. }
  14259. }
  14260. }
  14261. }
  14262. /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
  14263. len1 = bits >> int32(3)
  14264. in -= uintptr(len1)
  14265. bits -= len1 << int32(3)
  14266. hold &= uint64(uint32(1)<<bits - uint32(1))
  14267. /* update state and return */
  14268. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = in
  14269. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = out
  14270. if in < last {
  14271. v45 = int64(5) + (int64(last) - int64(in))
  14272. } else {
  14273. v45 = int64(5) - (int64(in) - int64(last))
  14274. }
  14275. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = libc.Uint32FromInt64(v45)
  14276. if out < end {
  14277. v46 = int64(257) + (int64(end) - int64(out))
  14278. } else {
  14279. v46 = int64(257) - (int64(out) - int64(end))
  14280. }
  14281. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = libc.Uint32FromInt64(v46)
  14282. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  14283. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  14284. return
  14285. }
  14286. func _inflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  14287. var state uintptr
  14288. _ = state
  14289. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  14290. return int32(1)
  14291. }
  14292. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  14293. 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) {
  14294. return int32(1)
  14295. }
  14296. return 0
  14297. }
  14298. func XinflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  14299. var state, v3, v4 uintptr
  14300. var v1 TuLong
  14301. var v2 uint64
  14302. _, _, _, _, _ = state, v1, v2, v3, v4
  14303. if _inflateStateCheck(tls, strm) != 0 {
  14304. return -int32(2)
  14305. }
  14306. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  14307. v2 = libc.Uint64FromInt32(0)
  14308. (*Tinflate_state)(unsafe.Pointer(state)).Ftotal = v2
  14309. v1 = v2
  14310. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  14311. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  14312. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  14313. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 { /* to support ill-conceived Java test suite */
  14314. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = libc.Uint64FromInt32((*Tinflate_state)(unsafe.Pointer(state)).Fwrap & int32(1))
  14315. }
  14316. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD)
  14317. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  14318. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = 0
  14319. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = -int32(1)
  14320. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  14321. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = uintptr(m_Z_NULL)
  14322. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  14323. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  14324. v4 = state + 1368
  14325. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = v4
  14326. v3 = v4
  14327. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = v3
  14328. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = v3
  14329. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  14330. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  14331. return m_Z_OK
  14332. }
  14333. func XinflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  14334. var state uintptr
  14335. _ = state
  14336. if _inflateStateCheck(tls, strm) != 0 {
  14337. return -int32(2)
  14338. }
  14339. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  14340. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(0)
  14341. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  14342. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  14343. return XinflateResetKeep(tls, strm)
  14344. }
  14345. func XinflateReset2(tls *libc.TLS, strm Tz_streamp, windowBits int32) (r int32) {
  14346. var state uintptr
  14347. var wrap int32
  14348. _, _ = state, wrap
  14349. /* get the state */
  14350. if _inflateStateCheck(tls, strm) != 0 {
  14351. return -int32(2)
  14352. }
  14353. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  14354. /* extract wrap request from windowBits parameter */
  14355. if windowBits < 0 {
  14356. if windowBits < -int32(15) {
  14357. return -int32(2)
  14358. }
  14359. wrap = 0
  14360. windowBits = -windowBits
  14361. } else {
  14362. wrap = windowBits>>int32(4) + int32(5)
  14363. if windowBits < int32(48) {
  14364. windowBits &= int32(15)
  14365. }
  14366. }
  14367. /* set number of window bits, free window if different */
  14368. if windowBits != 0 && (windowBits < int32(8) || windowBits > int32(15)) {
  14369. return -int32(2)
  14370. }
  14371. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Fwbits != libc.Uint32FromInt32(windowBits) {
  14372. (*(*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)
  14373. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  14374. }
  14375. /* update state and reset the rest of it */
  14376. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = wrap
  14377. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  14378. return XinflateReset(tls, strm)
  14379. }
  14380. func XinflateInit2_(tls *libc.TLS, strm Tz_streamp, windowBits int32, version uintptr, stream_size int32) (r int32) {
  14381. var ret int32
  14382. var state uintptr
  14383. _, _ = ret, state
  14384. if version == uintptr(m_Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
  14385. return -int32(6)
  14386. }
  14387. if strm == uintptr(m_Z_NULL) {
  14388. return -int32(2)
  14389. }
  14390. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  14391. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  14392. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  14393. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  14394. }
  14395. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  14396. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  14397. }
  14398. 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)))
  14399. if state == uintptr(m_Z_NULL) {
  14400. return -int32(4)
  14401. }
  14402. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  14403. (*Tinflate_state)(unsafe.Pointer(state)).Fstrm = strm
  14404. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  14405. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD) /* to pass state test in inflateReset2() */
  14406. ret = XinflateReset2(tls, strm, windowBits)
  14407. if ret != m_Z_OK {
  14408. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, state)
  14409. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  14410. }
  14411. return ret
  14412. }
  14413. func XinflateInit_(tls *libc.TLS, strm Tz_streamp, version uintptr, stream_size int32) (r int32) {
  14414. return XinflateInit2_(tls, strm, int32(m_MAX_WBITS), version, stream_size)
  14415. }
  14416. func XinflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  14417. var state uintptr
  14418. _ = state
  14419. if _inflateStateCheck(tls, strm) != 0 {
  14420. return -int32(2)
  14421. }
  14422. if bits == 0 {
  14423. return m_Z_OK
  14424. }
  14425. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  14426. if bits < 0 {
  14427. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  14428. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  14429. return m_Z_OK
  14430. }
  14431. if bits > int32(16) || (*Tinflate_state)(unsafe.Pointer(state)).Fbits+libc.Uint32FromInt32(bits) > uint32(32) {
  14432. return -int32(2)
  14433. }
  14434. value = int32(int64(value) & (libc.Int64FromInt64(1)<<bits - libc.Int64FromInt32(1)))
  14435. *(*uint64)(unsafe.Pointer(state + 80)) += uint64(libc.Uint32FromInt32(value) << (*Tinflate_state)(unsafe.Pointer(state)).Fbits)
  14436. *(*uint32)(unsafe.Pointer(state + 88)) += libc.Uint32FromInt32(bits)
  14437. return m_Z_OK
  14438. }
  14439. // C documentation
  14440. //
  14441. // /*
  14442. // Return state with length and distance decoding tables and index sizes set to
  14443. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  14444. // If BUILDFIXED is defined, then instead this routine builds the tables the
  14445. // first time it's called, and returns those tables the first time and
  14446. // thereafter. This reduces the size of the code by about 2K bytes, in
  14447. // exchange for a little execution time. However, BUILDFIXED should not be
  14448. // used for threaded applications, since the rewriting of the tables and virgin
  14449. // may not be thread-safe.
  14450. // */
  14451. func _fixedtables1(tls *libc.TLS, state uintptr) {
  14452. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix1))
  14453. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  14454. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix1))
  14455. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  14456. }
  14457. var _lenfix1 = [512]Tcode{
  14458. 0: {
  14459. Fop: uint8(96),
  14460. Fbits: uint8(7),
  14461. },
  14462. 1: {
  14463. Fbits: uint8(8),
  14464. Fval: uint16(80),
  14465. },
  14466. 2: {
  14467. Fbits: uint8(8),
  14468. Fval: uint16(16),
  14469. },
  14470. 3: {
  14471. Fop: uint8(20),
  14472. Fbits: uint8(8),
  14473. Fval: uint16(115),
  14474. },
  14475. 4: {
  14476. Fop: uint8(18),
  14477. Fbits: uint8(7),
  14478. Fval: uint16(31),
  14479. },
  14480. 5: {
  14481. Fbits: uint8(8),
  14482. Fval: uint16(112),
  14483. },
  14484. 6: {
  14485. Fbits: uint8(8),
  14486. Fval: uint16(48),
  14487. },
  14488. 7: {
  14489. Fbits: uint8(9),
  14490. Fval: uint16(192),
  14491. },
  14492. 8: {
  14493. Fop: uint8(16),
  14494. Fbits: uint8(7),
  14495. Fval: uint16(10),
  14496. },
  14497. 9: {
  14498. Fbits: uint8(8),
  14499. Fval: uint16(96),
  14500. },
  14501. 10: {
  14502. Fbits: uint8(8),
  14503. Fval: uint16(32),
  14504. },
  14505. 11: {
  14506. Fbits: uint8(9),
  14507. Fval: uint16(160),
  14508. },
  14509. 12: {
  14510. Fbits: uint8(8),
  14511. },
  14512. 13: {
  14513. Fbits: uint8(8),
  14514. Fval: uint16(128),
  14515. },
  14516. 14: {
  14517. Fbits: uint8(8),
  14518. Fval: uint16(64),
  14519. },
  14520. 15: {
  14521. Fbits: uint8(9),
  14522. Fval: uint16(224),
  14523. },
  14524. 16: {
  14525. Fop: uint8(16),
  14526. Fbits: uint8(7),
  14527. Fval: uint16(6),
  14528. },
  14529. 17: {
  14530. Fbits: uint8(8),
  14531. Fval: uint16(88),
  14532. },
  14533. 18: {
  14534. Fbits: uint8(8),
  14535. Fval: uint16(24),
  14536. },
  14537. 19: {
  14538. Fbits: uint8(9),
  14539. Fval: uint16(144),
  14540. },
  14541. 20: {
  14542. Fop: uint8(19),
  14543. Fbits: uint8(7),
  14544. Fval: uint16(59),
  14545. },
  14546. 21: {
  14547. Fbits: uint8(8),
  14548. Fval: uint16(120),
  14549. },
  14550. 22: {
  14551. Fbits: uint8(8),
  14552. Fval: uint16(56),
  14553. },
  14554. 23: {
  14555. Fbits: uint8(9),
  14556. Fval: uint16(208),
  14557. },
  14558. 24: {
  14559. Fop: uint8(17),
  14560. Fbits: uint8(7),
  14561. Fval: uint16(17),
  14562. },
  14563. 25: {
  14564. Fbits: uint8(8),
  14565. Fval: uint16(104),
  14566. },
  14567. 26: {
  14568. Fbits: uint8(8),
  14569. Fval: uint16(40),
  14570. },
  14571. 27: {
  14572. Fbits: uint8(9),
  14573. Fval: uint16(176),
  14574. },
  14575. 28: {
  14576. Fbits: uint8(8),
  14577. Fval: uint16(8),
  14578. },
  14579. 29: {
  14580. Fbits: uint8(8),
  14581. Fval: uint16(136),
  14582. },
  14583. 30: {
  14584. Fbits: uint8(8),
  14585. Fval: uint16(72),
  14586. },
  14587. 31: {
  14588. Fbits: uint8(9),
  14589. Fval: uint16(240),
  14590. },
  14591. 32: {
  14592. Fop: uint8(16),
  14593. Fbits: uint8(7),
  14594. Fval: uint16(4),
  14595. },
  14596. 33: {
  14597. Fbits: uint8(8),
  14598. Fval: uint16(84),
  14599. },
  14600. 34: {
  14601. Fbits: uint8(8),
  14602. Fval: uint16(20),
  14603. },
  14604. 35: {
  14605. Fop: uint8(21),
  14606. Fbits: uint8(8),
  14607. Fval: uint16(227),
  14608. },
  14609. 36: {
  14610. Fop: uint8(19),
  14611. Fbits: uint8(7),
  14612. Fval: uint16(43),
  14613. },
  14614. 37: {
  14615. Fbits: uint8(8),
  14616. Fval: uint16(116),
  14617. },
  14618. 38: {
  14619. Fbits: uint8(8),
  14620. Fval: uint16(52),
  14621. },
  14622. 39: {
  14623. Fbits: uint8(9),
  14624. Fval: uint16(200),
  14625. },
  14626. 40: {
  14627. Fop: uint8(17),
  14628. Fbits: uint8(7),
  14629. Fval: uint16(13),
  14630. },
  14631. 41: {
  14632. Fbits: uint8(8),
  14633. Fval: uint16(100),
  14634. },
  14635. 42: {
  14636. Fbits: uint8(8),
  14637. Fval: uint16(36),
  14638. },
  14639. 43: {
  14640. Fbits: uint8(9),
  14641. Fval: uint16(168),
  14642. },
  14643. 44: {
  14644. Fbits: uint8(8),
  14645. Fval: uint16(4),
  14646. },
  14647. 45: {
  14648. Fbits: uint8(8),
  14649. Fval: uint16(132),
  14650. },
  14651. 46: {
  14652. Fbits: uint8(8),
  14653. Fval: uint16(68),
  14654. },
  14655. 47: {
  14656. Fbits: uint8(9),
  14657. Fval: uint16(232),
  14658. },
  14659. 48: {
  14660. Fop: uint8(16),
  14661. Fbits: uint8(7),
  14662. Fval: uint16(8),
  14663. },
  14664. 49: {
  14665. Fbits: uint8(8),
  14666. Fval: uint16(92),
  14667. },
  14668. 50: {
  14669. Fbits: uint8(8),
  14670. Fval: uint16(28),
  14671. },
  14672. 51: {
  14673. Fbits: uint8(9),
  14674. Fval: uint16(152),
  14675. },
  14676. 52: {
  14677. Fop: uint8(20),
  14678. Fbits: uint8(7),
  14679. Fval: uint16(83),
  14680. },
  14681. 53: {
  14682. Fbits: uint8(8),
  14683. Fval: uint16(124),
  14684. },
  14685. 54: {
  14686. Fbits: uint8(8),
  14687. Fval: uint16(60),
  14688. },
  14689. 55: {
  14690. Fbits: uint8(9),
  14691. Fval: uint16(216),
  14692. },
  14693. 56: {
  14694. Fop: uint8(18),
  14695. Fbits: uint8(7),
  14696. Fval: uint16(23),
  14697. },
  14698. 57: {
  14699. Fbits: uint8(8),
  14700. Fval: uint16(108),
  14701. },
  14702. 58: {
  14703. Fbits: uint8(8),
  14704. Fval: uint16(44),
  14705. },
  14706. 59: {
  14707. Fbits: uint8(9),
  14708. Fval: uint16(184),
  14709. },
  14710. 60: {
  14711. Fbits: uint8(8),
  14712. Fval: uint16(12),
  14713. },
  14714. 61: {
  14715. Fbits: uint8(8),
  14716. Fval: uint16(140),
  14717. },
  14718. 62: {
  14719. Fbits: uint8(8),
  14720. Fval: uint16(76),
  14721. },
  14722. 63: {
  14723. Fbits: uint8(9),
  14724. Fval: uint16(248),
  14725. },
  14726. 64: {
  14727. Fop: uint8(16),
  14728. Fbits: uint8(7),
  14729. Fval: uint16(3),
  14730. },
  14731. 65: {
  14732. Fbits: uint8(8),
  14733. Fval: uint16(82),
  14734. },
  14735. 66: {
  14736. Fbits: uint8(8),
  14737. Fval: uint16(18),
  14738. },
  14739. 67: {
  14740. Fop: uint8(21),
  14741. Fbits: uint8(8),
  14742. Fval: uint16(163),
  14743. },
  14744. 68: {
  14745. Fop: uint8(19),
  14746. Fbits: uint8(7),
  14747. Fval: uint16(35),
  14748. },
  14749. 69: {
  14750. Fbits: uint8(8),
  14751. Fval: uint16(114),
  14752. },
  14753. 70: {
  14754. Fbits: uint8(8),
  14755. Fval: uint16(50),
  14756. },
  14757. 71: {
  14758. Fbits: uint8(9),
  14759. Fval: uint16(196),
  14760. },
  14761. 72: {
  14762. Fop: uint8(17),
  14763. Fbits: uint8(7),
  14764. Fval: uint16(11),
  14765. },
  14766. 73: {
  14767. Fbits: uint8(8),
  14768. Fval: uint16(98),
  14769. },
  14770. 74: {
  14771. Fbits: uint8(8),
  14772. Fval: uint16(34),
  14773. },
  14774. 75: {
  14775. Fbits: uint8(9),
  14776. Fval: uint16(164),
  14777. },
  14778. 76: {
  14779. Fbits: uint8(8),
  14780. Fval: uint16(2),
  14781. },
  14782. 77: {
  14783. Fbits: uint8(8),
  14784. Fval: uint16(130),
  14785. },
  14786. 78: {
  14787. Fbits: uint8(8),
  14788. Fval: uint16(66),
  14789. },
  14790. 79: {
  14791. Fbits: uint8(9),
  14792. Fval: uint16(228),
  14793. },
  14794. 80: {
  14795. Fop: uint8(16),
  14796. Fbits: uint8(7),
  14797. Fval: uint16(7),
  14798. },
  14799. 81: {
  14800. Fbits: uint8(8),
  14801. Fval: uint16(90),
  14802. },
  14803. 82: {
  14804. Fbits: uint8(8),
  14805. Fval: uint16(26),
  14806. },
  14807. 83: {
  14808. Fbits: uint8(9),
  14809. Fval: uint16(148),
  14810. },
  14811. 84: {
  14812. Fop: uint8(20),
  14813. Fbits: uint8(7),
  14814. Fval: uint16(67),
  14815. },
  14816. 85: {
  14817. Fbits: uint8(8),
  14818. Fval: uint16(122),
  14819. },
  14820. 86: {
  14821. Fbits: uint8(8),
  14822. Fval: uint16(58),
  14823. },
  14824. 87: {
  14825. Fbits: uint8(9),
  14826. Fval: uint16(212),
  14827. },
  14828. 88: {
  14829. Fop: uint8(18),
  14830. Fbits: uint8(7),
  14831. Fval: uint16(19),
  14832. },
  14833. 89: {
  14834. Fbits: uint8(8),
  14835. Fval: uint16(106),
  14836. },
  14837. 90: {
  14838. Fbits: uint8(8),
  14839. Fval: uint16(42),
  14840. },
  14841. 91: {
  14842. Fbits: uint8(9),
  14843. Fval: uint16(180),
  14844. },
  14845. 92: {
  14846. Fbits: uint8(8),
  14847. Fval: uint16(10),
  14848. },
  14849. 93: {
  14850. Fbits: uint8(8),
  14851. Fval: uint16(138),
  14852. },
  14853. 94: {
  14854. Fbits: uint8(8),
  14855. Fval: uint16(74),
  14856. },
  14857. 95: {
  14858. Fbits: uint8(9),
  14859. Fval: uint16(244),
  14860. },
  14861. 96: {
  14862. Fop: uint8(16),
  14863. Fbits: uint8(7),
  14864. Fval: uint16(5),
  14865. },
  14866. 97: {
  14867. Fbits: uint8(8),
  14868. Fval: uint16(86),
  14869. },
  14870. 98: {
  14871. Fbits: uint8(8),
  14872. Fval: uint16(22),
  14873. },
  14874. 99: {
  14875. Fop: uint8(64),
  14876. Fbits: uint8(8),
  14877. },
  14878. 100: {
  14879. Fop: uint8(19),
  14880. Fbits: uint8(7),
  14881. Fval: uint16(51),
  14882. },
  14883. 101: {
  14884. Fbits: uint8(8),
  14885. Fval: uint16(118),
  14886. },
  14887. 102: {
  14888. Fbits: uint8(8),
  14889. Fval: uint16(54),
  14890. },
  14891. 103: {
  14892. Fbits: uint8(9),
  14893. Fval: uint16(204),
  14894. },
  14895. 104: {
  14896. Fop: uint8(17),
  14897. Fbits: uint8(7),
  14898. Fval: uint16(15),
  14899. },
  14900. 105: {
  14901. Fbits: uint8(8),
  14902. Fval: uint16(102),
  14903. },
  14904. 106: {
  14905. Fbits: uint8(8),
  14906. Fval: uint16(38),
  14907. },
  14908. 107: {
  14909. Fbits: uint8(9),
  14910. Fval: uint16(172),
  14911. },
  14912. 108: {
  14913. Fbits: uint8(8),
  14914. Fval: uint16(6),
  14915. },
  14916. 109: {
  14917. Fbits: uint8(8),
  14918. Fval: uint16(134),
  14919. },
  14920. 110: {
  14921. Fbits: uint8(8),
  14922. Fval: uint16(70),
  14923. },
  14924. 111: {
  14925. Fbits: uint8(9),
  14926. Fval: uint16(236),
  14927. },
  14928. 112: {
  14929. Fop: uint8(16),
  14930. Fbits: uint8(7),
  14931. Fval: uint16(9),
  14932. },
  14933. 113: {
  14934. Fbits: uint8(8),
  14935. Fval: uint16(94),
  14936. },
  14937. 114: {
  14938. Fbits: uint8(8),
  14939. Fval: uint16(30),
  14940. },
  14941. 115: {
  14942. Fbits: uint8(9),
  14943. Fval: uint16(156),
  14944. },
  14945. 116: {
  14946. Fop: uint8(20),
  14947. Fbits: uint8(7),
  14948. Fval: uint16(99),
  14949. },
  14950. 117: {
  14951. Fbits: uint8(8),
  14952. Fval: uint16(126),
  14953. },
  14954. 118: {
  14955. Fbits: uint8(8),
  14956. Fval: uint16(62),
  14957. },
  14958. 119: {
  14959. Fbits: uint8(9),
  14960. Fval: uint16(220),
  14961. },
  14962. 120: {
  14963. Fop: uint8(18),
  14964. Fbits: uint8(7),
  14965. Fval: uint16(27),
  14966. },
  14967. 121: {
  14968. Fbits: uint8(8),
  14969. Fval: uint16(110),
  14970. },
  14971. 122: {
  14972. Fbits: uint8(8),
  14973. Fval: uint16(46),
  14974. },
  14975. 123: {
  14976. Fbits: uint8(9),
  14977. Fval: uint16(188),
  14978. },
  14979. 124: {
  14980. Fbits: uint8(8),
  14981. Fval: uint16(14),
  14982. },
  14983. 125: {
  14984. Fbits: uint8(8),
  14985. Fval: uint16(142),
  14986. },
  14987. 126: {
  14988. Fbits: uint8(8),
  14989. Fval: uint16(78),
  14990. },
  14991. 127: {
  14992. Fbits: uint8(9),
  14993. Fval: uint16(252),
  14994. },
  14995. 128: {
  14996. Fop: uint8(96),
  14997. Fbits: uint8(7),
  14998. },
  14999. 129: {
  15000. Fbits: uint8(8),
  15001. Fval: uint16(81),
  15002. },
  15003. 130: {
  15004. Fbits: uint8(8),
  15005. Fval: uint16(17),
  15006. },
  15007. 131: {
  15008. Fop: uint8(21),
  15009. Fbits: uint8(8),
  15010. Fval: uint16(131),
  15011. },
  15012. 132: {
  15013. Fop: uint8(18),
  15014. Fbits: uint8(7),
  15015. Fval: uint16(31),
  15016. },
  15017. 133: {
  15018. Fbits: uint8(8),
  15019. Fval: uint16(113),
  15020. },
  15021. 134: {
  15022. Fbits: uint8(8),
  15023. Fval: uint16(49),
  15024. },
  15025. 135: {
  15026. Fbits: uint8(9),
  15027. Fval: uint16(194),
  15028. },
  15029. 136: {
  15030. Fop: uint8(16),
  15031. Fbits: uint8(7),
  15032. Fval: uint16(10),
  15033. },
  15034. 137: {
  15035. Fbits: uint8(8),
  15036. Fval: uint16(97),
  15037. },
  15038. 138: {
  15039. Fbits: uint8(8),
  15040. Fval: uint16(33),
  15041. },
  15042. 139: {
  15043. Fbits: uint8(9),
  15044. Fval: uint16(162),
  15045. },
  15046. 140: {
  15047. Fbits: uint8(8),
  15048. Fval: uint16(1),
  15049. },
  15050. 141: {
  15051. Fbits: uint8(8),
  15052. Fval: uint16(129),
  15053. },
  15054. 142: {
  15055. Fbits: uint8(8),
  15056. Fval: uint16(65),
  15057. },
  15058. 143: {
  15059. Fbits: uint8(9),
  15060. Fval: uint16(226),
  15061. },
  15062. 144: {
  15063. Fop: uint8(16),
  15064. Fbits: uint8(7),
  15065. Fval: uint16(6),
  15066. },
  15067. 145: {
  15068. Fbits: uint8(8),
  15069. Fval: uint16(89),
  15070. },
  15071. 146: {
  15072. Fbits: uint8(8),
  15073. Fval: uint16(25),
  15074. },
  15075. 147: {
  15076. Fbits: uint8(9),
  15077. Fval: uint16(146),
  15078. },
  15079. 148: {
  15080. Fop: uint8(19),
  15081. Fbits: uint8(7),
  15082. Fval: uint16(59),
  15083. },
  15084. 149: {
  15085. Fbits: uint8(8),
  15086. Fval: uint16(121),
  15087. },
  15088. 150: {
  15089. Fbits: uint8(8),
  15090. Fval: uint16(57),
  15091. },
  15092. 151: {
  15093. Fbits: uint8(9),
  15094. Fval: uint16(210),
  15095. },
  15096. 152: {
  15097. Fop: uint8(17),
  15098. Fbits: uint8(7),
  15099. Fval: uint16(17),
  15100. },
  15101. 153: {
  15102. Fbits: uint8(8),
  15103. Fval: uint16(105),
  15104. },
  15105. 154: {
  15106. Fbits: uint8(8),
  15107. Fval: uint16(41),
  15108. },
  15109. 155: {
  15110. Fbits: uint8(9),
  15111. Fval: uint16(178),
  15112. },
  15113. 156: {
  15114. Fbits: uint8(8),
  15115. Fval: uint16(9),
  15116. },
  15117. 157: {
  15118. Fbits: uint8(8),
  15119. Fval: uint16(137),
  15120. },
  15121. 158: {
  15122. Fbits: uint8(8),
  15123. Fval: uint16(73),
  15124. },
  15125. 159: {
  15126. Fbits: uint8(9),
  15127. Fval: uint16(242),
  15128. },
  15129. 160: {
  15130. Fop: uint8(16),
  15131. Fbits: uint8(7),
  15132. Fval: uint16(4),
  15133. },
  15134. 161: {
  15135. Fbits: uint8(8),
  15136. Fval: uint16(85),
  15137. },
  15138. 162: {
  15139. Fbits: uint8(8),
  15140. Fval: uint16(21),
  15141. },
  15142. 163: {
  15143. Fop: uint8(16),
  15144. Fbits: uint8(8),
  15145. Fval: uint16(258),
  15146. },
  15147. 164: {
  15148. Fop: uint8(19),
  15149. Fbits: uint8(7),
  15150. Fval: uint16(43),
  15151. },
  15152. 165: {
  15153. Fbits: uint8(8),
  15154. Fval: uint16(117),
  15155. },
  15156. 166: {
  15157. Fbits: uint8(8),
  15158. Fval: uint16(53),
  15159. },
  15160. 167: {
  15161. Fbits: uint8(9),
  15162. Fval: uint16(202),
  15163. },
  15164. 168: {
  15165. Fop: uint8(17),
  15166. Fbits: uint8(7),
  15167. Fval: uint16(13),
  15168. },
  15169. 169: {
  15170. Fbits: uint8(8),
  15171. Fval: uint16(101),
  15172. },
  15173. 170: {
  15174. Fbits: uint8(8),
  15175. Fval: uint16(37),
  15176. },
  15177. 171: {
  15178. Fbits: uint8(9),
  15179. Fval: uint16(170),
  15180. },
  15181. 172: {
  15182. Fbits: uint8(8),
  15183. Fval: uint16(5),
  15184. },
  15185. 173: {
  15186. Fbits: uint8(8),
  15187. Fval: uint16(133),
  15188. },
  15189. 174: {
  15190. Fbits: uint8(8),
  15191. Fval: uint16(69),
  15192. },
  15193. 175: {
  15194. Fbits: uint8(9),
  15195. Fval: uint16(234),
  15196. },
  15197. 176: {
  15198. Fop: uint8(16),
  15199. Fbits: uint8(7),
  15200. Fval: uint16(8),
  15201. },
  15202. 177: {
  15203. Fbits: uint8(8),
  15204. Fval: uint16(93),
  15205. },
  15206. 178: {
  15207. Fbits: uint8(8),
  15208. Fval: uint16(29),
  15209. },
  15210. 179: {
  15211. Fbits: uint8(9),
  15212. Fval: uint16(154),
  15213. },
  15214. 180: {
  15215. Fop: uint8(20),
  15216. Fbits: uint8(7),
  15217. Fval: uint16(83),
  15218. },
  15219. 181: {
  15220. Fbits: uint8(8),
  15221. Fval: uint16(125),
  15222. },
  15223. 182: {
  15224. Fbits: uint8(8),
  15225. Fval: uint16(61),
  15226. },
  15227. 183: {
  15228. Fbits: uint8(9),
  15229. Fval: uint16(218),
  15230. },
  15231. 184: {
  15232. Fop: uint8(18),
  15233. Fbits: uint8(7),
  15234. Fval: uint16(23),
  15235. },
  15236. 185: {
  15237. Fbits: uint8(8),
  15238. Fval: uint16(109),
  15239. },
  15240. 186: {
  15241. Fbits: uint8(8),
  15242. Fval: uint16(45),
  15243. },
  15244. 187: {
  15245. Fbits: uint8(9),
  15246. Fval: uint16(186),
  15247. },
  15248. 188: {
  15249. Fbits: uint8(8),
  15250. Fval: uint16(13),
  15251. },
  15252. 189: {
  15253. Fbits: uint8(8),
  15254. Fval: uint16(141),
  15255. },
  15256. 190: {
  15257. Fbits: uint8(8),
  15258. Fval: uint16(77),
  15259. },
  15260. 191: {
  15261. Fbits: uint8(9),
  15262. Fval: uint16(250),
  15263. },
  15264. 192: {
  15265. Fop: uint8(16),
  15266. Fbits: uint8(7),
  15267. Fval: uint16(3),
  15268. },
  15269. 193: {
  15270. Fbits: uint8(8),
  15271. Fval: uint16(83),
  15272. },
  15273. 194: {
  15274. Fbits: uint8(8),
  15275. Fval: uint16(19),
  15276. },
  15277. 195: {
  15278. Fop: uint8(21),
  15279. Fbits: uint8(8),
  15280. Fval: uint16(195),
  15281. },
  15282. 196: {
  15283. Fop: uint8(19),
  15284. Fbits: uint8(7),
  15285. Fval: uint16(35),
  15286. },
  15287. 197: {
  15288. Fbits: uint8(8),
  15289. Fval: uint16(115),
  15290. },
  15291. 198: {
  15292. Fbits: uint8(8),
  15293. Fval: uint16(51),
  15294. },
  15295. 199: {
  15296. Fbits: uint8(9),
  15297. Fval: uint16(198),
  15298. },
  15299. 200: {
  15300. Fop: uint8(17),
  15301. Fbits: uint8(7),
  15302. Fval: uint16(11),
  15303. },
  15304. 201: {
  15305. Fbits: uint8(8),
  15306. Fval: uint16(99),
  15307. },
  15308. 202: {
  15309. Fbits: uint8(8),
  15310. Fval: uint16(35),
  15311. },
  15312. 203: {
  15313. Fbits: uint8(9),
  15314. Fval: uint16(166),
  15315. },
  15316. 204: {
  15317. Fbits: uint8(8),
  15318. Fval: uint16(3),
  15319. },
  15320. 205: {
  15321. Fbits: uint8(8),
  15322. Fval: uint16(131),
  15323. },
  15324. 206: {
  15325. Fbits: uint8(8),
  15326. Fval: uint16(67),
  15327. },
  15328. 207: {
  15329. Fbits: uint8(9),
  15330. Fval: uint16(230),
  15331. },
  15332. 208: {
  15333. Fop: uint8(16),
  15334. Fbits: uint8(7),
  15335. Fval: uint16(7),
  15336. },
  15337. 209: {
  15338. Fbits: uint8(8),
  15339. Fval: uint16(91),
  15340. },
  15341. 210: {
  15342. Fbits: uint8(8),
  15343. Fval: uint16(27),
  15344. },
  15345. 211: {
  15346. Fbits: uint8(9),
  15347. Fval: uint16(150),
  15348. },
  15349. 212: {
  15350. Fop: uint8(20),
  15351. Fbits: uint8(7),
  15352. Fval: uint16(67),
  15353. },
  15354. 213: {
  15355. Fbits: uint8(8),
  15356. Fval: uint16(123),
  15357. },
  15358. 214: {
  15359. Fbits: uint8(8),
  15360. Fval: uint16(59),
  15361. },
  15362. 215: {
  15363. Fbits: uint8(9),
  15364. Fval: uint16(214),
  15365. },
  15366. 216: {
  15367. Fop: uint8(18),
  15368. Fbits: uint8(7),
  15369. Fval: uint16(19),
  15370. },
  15371. 217: {
  15372. Fbits: uint8(8),
  15373. Fval: uint16(107),
  15374. },
  15375. 218: {
  15376. Fbits: uint8(8),
  15377. Fval: uint16(43),
  15378. },
  15379. 219: {
  15380. Fbits: uint8(9),
  15381. Fval: uint16(182),
  15382. },
  15383. 220: {
  15384. Fbits: uint8(8),
  15385. Fval: uint16(11),
  15386. },
  15387. 221: {
  15388. Fbits: uint8(8),
  15389. Fval: uint16(139),
  15390. },
  15391. 222: {
  15392. Fbits: uint8(8),
  15393. Fval: uint16(75),
  15394. },
  15395. 223: {
  15396. Fbits: uint8(9),
  15397. Fval: uint16(246),
  15398. },
  15399. 224: {
  15400. Fop: uint8(16),
  15401. Fbits: uint8(7),
  15402. Fval: uint16(5),
  15403. },
  15404. 225: {
  15405. Fbits: uint8(8),
  15406. Fval: uint16(87),
  15407. },
  15408. 226: {
  15409. Fbits: uint8(8),
  15410. Fval: uint16(23),
  15411. },
  15412. 227: {
  15413. Fop: uint8(64),
  15414. Fbits: uint8(8),
  15415. },
  15416. 228: {
  15417. Fop: uint8(19),
  15418. Fbits: uint8(7),
  15419. Fval: uint16(51),
  15420. },
  15421. 229: {
  15422. Fbits: uint8(8),
  15423. Fval: uint16(119),
  15424. },
  15425. 230: {
  15426. Fbits: uint8(8),
  15427. Fval: uint16(55),
  15428. },
  15429. 231: {
  15430. Fbits: uint8(9),
  15431. Fval: uint16(206),
  15432. },
  15433. 232: {
  15434. Fop: uint8(17),
  15435. Fbits: uint8(7),
  15436. Fval: uint16(15),
  15437. },
  15438. 233: {
  15439. Fbits: uint8(8),
  15440. Fval: uint16(103),
  15441. },
  15442. 234: {
  15443. Fbits: uint8(8),
  15444. Fval: uint16(39),
  15445. },
  15446. 235: {
  15447. Fbits: uint8(9),
  15448. Fval: uint16(174),
  15449. },
  15450. 236: {
  15451. Fbits: uint8(8),
  15452. Fval: uint16(7),
  15453. },
  15454. 237: {
  15455. Fbits: uint8(8),
  15456. Fval: uint16(135),
  15457. },
  15458. 238: {
  15459. Fbits: uint8(8),
  15460. Fval: uint16(71),
  15461. },
  15462. 239: {
  15463. Fbits: uint8(9),
  15464. Fval: uint16(238),
  15465. },
  15466. 240: {
  15467. Fop: uint8(16),
  15468. Fbits: uint8(7),
  15469. Fval: uint16(9),
  15470. },
  15471. 241: {
  15472. Fbits: uint8(8),
  15473. Fval: uint16(95),
  15474. },
  15475. 242: {
  15476. Fbits: uint8(8),
  15477. Fval: uint16(31),
  15478. },
  15479. 243: {
  15480. Fbits: uint8(9),
  15481. Fval: uint16(158),
  15482. },
  15483. 244: {
  15484. Fop: uint8(20),
  15485. Fbits: uint8(7),
  15486. Fval: uint16(99),
  15487. },
  15488. 245: {
  15489. Fbits: uint8(8),
  15490. Fval: uint16(127),
  15491. },
  15492. 246: {
  15493. Fbits: uint8(8),
  15494. Fval: uint16(63),
  15495. },
  15496. 247: {
  15497. Fbits: uint8(9),
  15498. Fval: uint16(222),
  15499. },
  15500. 248: {
  15501. Fop: uint8(18),
  15502. Fbits: uint8(7),
  15503. Fval: uint16(27),
  15504. },
  15505. 249: {
  15506. Fbits: uint8(8),
  15507. Fval: uint16(111),
  15508. },
  15509. 250: {
  15510. Fbits: uint8(8),
  15511. Fval: uint16(47),
  15512. },
  15513. 251: {
  15514. Fbits: uint8(9),
  15515. Fval: uint16(190),
  15516. },
  15517. 252: {
  15518. Fbits: uint8(8),
  15519. Fval: uint16(15),
  15520. },
  15521. 253: {
  15522. Fbits: uint8(8),
  15523. Fval: uint16(143),
  15524. },
  15525. 254: {
  15526. Fbits: uint8(8),
  15527. Fval: uint16(79),
  15528. },
  15529. 255: {
  15530. Fbits: uint8(9),
  15531. Fval: uint16(254),
  15532. },
  15533. 256: {
  15534. Fop: uint8(96),
  15535. Fbits: uint8(7),
  15536. },
  15537. 257: {
  15538. Fbits: uint8(8),
  15539. Fval: uint16(80),
  15540. },
  15541. 258: {
  15542. Fbits: uint8(8),
  15543. Fval: uint16(16),
  15544. },
  15545. 259: {
  15546. Fop: uint8(20),
  15547. Fbits: uint8(8),
  15548. Fval: uint16(115),
  15549. },
  15550. 260: {
  15551. Fop: uint8(18),
  15552. Fbits: uint8(7),
  15553. Fval: uint16(31),
  15554. },
  15555. 261: {
  15556. Fbits: uint8(8),
  15557. Fval: uint16(112),
  15558. },
  15559. 262: {
  15560. Fbits: uint8(8),
  15561. Fval: uint16(48),
  15562. },
  15563. 263: {
  15564. Fbits: uint8(9),
  15565. Fval: uint16(193),
  15566. },
  15567. 264: {
  15568. Fop: uint8(16),
  15569. Fbits: uint8(7),
  15570. Fval: uint16(10),
  15571. },
  15572. 265: {
  15573. Fbits: uint8(8),
  15574. Fval: uint16(96),
  15575. },
  15576. 266: {
  15577. Fbits: uint8(8),
  15578. Fval: uint16(32),
  15579. },
  15580. 267: {
  15581. Fbits: uint8(9),
  15582. Fval: uint16(161),
  15583. },
  15584. 268: {
  15585. Fbits: uint8(8),
  15586. },
  15587. 269: {
  15588. Fbits: uint8(8),
  15589. Fval: uint16(128),
  15590. },
  15591. 270: {
  15592. Fbits: uint8(8),
  15593. Fval: uint16(64),
  15594. },
  15595. 271: {
  15596. Fbits: uint8(9),
  15597. Fval: uint16(225),
  15598. },
  15599. 272: {
  15600. Fop: uint8(16),
  15601. Fbits: uint8(7),
  15602. Fval: uint16(6),
  15603. },
  15604. 273: {
  15605. Fbits: uint8(8),
  15606. Fval: uint16(88),
  15607. },
  15608. 274: {
  15609. Fbits: uint8(8),
  15610. Fval: uint16(24),
  15611. },
  15612. 275: {
  15613. Fbits: uint8(9),
  15614. Fval: uint16(145),
  15615. },
  15616. 276: {
  15617. Fop: uint8(19),
  15618. Fbits: uint8(7),
  15619. Fval: uint16(59),
  15620. },
  15621. 277: {
  15622. Fbits: uint8(8),
  15623. Fval: uint16(120),
  15624. },
  15625. 278: {
  15626. Fbits: uint8(8),
  15627. Fval: uint16(56),
  15628. },
  15629. 279: {
  15630. Fbits: uint8(9),
  15631. Fval: uint16(209),
  15632. },
  15633. 280: {
  15634. Fop: uint8(17),
  15635. Fbits: uint8(7),
  15636. Fval: uint16(17),
  15637. },
  15638. 281: {
  15639. Fbits: uint8(8),
  15640. Fval: uint16(104),
  15641. },
  15642. 282: {
  15643. Fbits: uint8(8),
  15644. Fval: uint16(40),
  15645. },
  15646. 283: {
  15647. Fbits: uint8(9),
  15648. Fval: uint16(177),
  15649. },
  15650. 284: {
  15651. Fbits: uint8(8),
  15652. Fval: uint16(8),
  15653. },
  15654. 285: {
  15655. Fbits: uint8(8),
  15656. Fval: uint16(136),
  15657. },
  15658. 286: {
  15659. Fbits: uint8(8),
  15660. Fval: uint16(72),
  15661. },
  15662. 287: {
  15663. Fbits: uint8(9),
  15664. Fval: uint16(241),
  15665. },
  15666. 288: {
  15667. Fop: uint8(16),
  15668. Fbits: uint8(7),
  15669. Fval: uint16(4),
  15670. },
  15671. 289: {
  15672. Fbits: uint8(8),
  15673. Fval: uint16(84),
  15674. },
  15675. 290: {
  15676. Fbits: uint8(8),
  15677. Fval: uint16(20),
  15678. },
  15679. 291: {
  15680. Fop: uint8(21),
  15681. Fbits: uint8(8),
  15682. Fval: uint16(227),
  15683. },
  15684. 292: {
  15685. Fop: uint8(19),
  15686. Fbits: uint8(7),
  15687. Fval: uint16(43),
  15688. },
  15689. 293: {
  15690. Fbits: uint8(8),
  15691. Fval: uint16(116),
  15692. },
  15693. 294: {
  15694. Fbits: uint8(8),
  15695. Fval: uint16(52),
  15696. },
  15697. 295: {
  15698. Fbits: uint8(9),
  15699. Fval: uint16(201),
  15700. },
  15701. 296: {
  15702. Fop: uint8(17),
  15703. Fbits: uint8(7),
  15704. Fval: uint16(13),
  15705. },
  15706. 297: {
  15707. Fbits: uint8(8),
  15708. Fval: uint16(100),
  15709. },
  15710. 298: {
  15711. Fbits: uint8(8),
  15712. Fval: uint16(36),
  15713. },
  15714. 299: {
  15715. Fbits: uint8(9),
  15716. Fval: uint16(169),
  15717. },
  15718. 300: {
  15719. Fbits: uint8(8),
  15720. Fval: uint16(4),
  15721. },
  15722. 301: {
  15723. Fbits: uint8(8),
  15724. Fval: uint16(132),
  15725. },
  15726. 302: {
  15727. Fbits: uint8(8),
  15728. Fval: uint16(68),
  15729. },
  15730. 303: {
  15731. Fbits: uint8(9),
  15732. Fval: uint16(233),
  15733. },
  15734. 304: {
  15735. Fop: uint8(16),
  15736. Fbits: uint8(7),
  15737. Fval: uint16(8),
  15738. },
  15739. 305: {
  15740. Fbits: uint8(8),
  15741. Fval: uint16(92),
  15742. },
  15743. 306: {
  15744. Fbits: uint8(8),
  15745. Fval: uint16(28),
  15746. },
  15747. 307: {
  15748. Fbits: uint8(9),
  15749. Fval: uint16(153),
  15750. },
  15751. 308: {
  15752. Fop: uint8(20),
  15753. Fbits: uint8(7),
  15754. Fval: uint16(83),
  15755. },
  15756. 309: {
  15757. Fbits: uint8(8),
  15758. Fval: uint16(124),
  15759. },
  15760. 310: {
  15761. Fbits: uint8(8),
  15762. Fval: uint16(60),
  15763. },
  15764. 311: {
  15765. Fbits: uint8(9),
  15766. Fval: uint16(217),
  15767. },
  15768. 312: {
  15769. Fop: uint8(18),
  15770. Fbits: uint8(7),
  15771. Fval: uint16(23),
  15772. },
  15773. 313: {
  15774. Fbits: uint8(8),
  15775. Fval: uint16(108),
  15776. },
  15777. 314: {
  15778. Fbits: uint8(8),
  15779. Fval: uint16(44),
  15780. },
  15781. 315: {
  15782. Fbits: uint8(9),
  15783. Fval: uint16(185),
  15784. },
  15785. 316: {
  15786. Fbits: uint8(8),
  15787. Fval: uint16(12),
  15788. },
  15789. 317: {
  15790. Fbits: uint8(8),
  15791. Fval: uint16(140),
  15792. },
  15793. 318: {
  15794. Fbits: uint8(8),
  15795. Fval: uint16(76),
  15796. },
  15797. 319: {
  15798. Fbits: uint8(9),
  15799. Fval: uint16(249),
  15800. },
  15801. 320: {
  15802. Fop: uint8(16),
  15803. Fbits: uint8(7),
  15804. Fval: uint16(3),
  15805. },
  15806. 321: {
  15807. Fbits: uint8(8),
  15808. Fval: uint16(82),
  15809. },
  15810. 322: {
  15811. Fbits: uint8(8),
  15812. Fval: uint16(18),
  15813. },
  15814. 323: {
  15815. Fop: uint8(21),
  15816. Fbits: uint8(8),
  15817. Fval: uint16(163),
  15818. },
  15819. 324: {
  15820. Fop: uint8(19),
  15821. Fbits: uint8(7),
  15822. Fval: uint16(35),
  15823. },
  15824. 325: {
  15825. Fbits: uint8(8),
  15826. Fval: uint16(114),
  15827. },
  15828. 326: {
  15829. Fbits: uint8(8),
  15830. Fval: uint16(50),
  15831. },
  15832. 327: {
  15833. Fbits: uint8(9),
  15834. Fval: uint16(197),
  15835. },
  15836. 328: {
  15837. Fop: uint8(17),
  15838. Fbits: uint8(7),
  15839. Fval: uint16(11),
  15840. },
  15841. 329: {
  15842. Fbits: uint8(8),
  15843. Fval: uint16(98),
  15844. },
  15845. 330: {
  15846. Fbits: uint8(8),
  15847. Fval: uint16(34),
  15848. },
  15849. 331: {
  15850. Fbits: uint8(9),
  15851. Fval: uint16(165),
  15852. },
  15853. 332: {
  15854. Fbits: uint8(8),
  15855. Fval: uint16(2),
  15856. },
  15857. 333: {
  15858. Fbits: uint8(8),
  15859. Fval: uint16(130),
  15860. },
  15861. 334: {
  15862. Fbits: uint8(8),
  15863. Fval: uint16(66),
  15864. },
  15865. 335: {
  15866. Fbits: uint8(9),
  15867. Fval: uint16(229),
  15868. },
  15869. 336: {
  15870. Fop: uint8(16),
  15871. Fbits: uint8(7),
  15872. Fval: uint16(7),
  15873. },
  15874. 337: {
  15875. Fbits: uint8(8),
  15876. Fval: uint16(90),
  15877. },
  15878. 338: {
  15879. Fbits: uint8(8),
  15880. Fval: uint16(26),
  15881. },
  15882. 339: {
  15883. Fbits: uint8(9),
  15884. Fval: uint16(149),
  15885. },
  15886. 340: {
  15887. Fop: uint8(20),
  15888. Fbits: uint8(7),
  15889. Fval: uint16(67),
  15890. },
  15891. 341: {
  15892. Fbits: uint8(8),
  15893. Fval: uint16(122),
  15894. },
  15895. 342: {
  15896. Fbits: uint8(8),
  15897. Fval: uint16(58),
  15898. },
  15899. 343: {
  15900. Fbits: uint8(9),
  15901. Fval: uint16(213),
  15902. },
  15903. 344: {
  15904. Fop: uint8(18),
  15905. Fbits: uint8(7),
  15906. Fval: uint16(19),
  15907. },
  15908. 345: {
  15909. Fbits: uint8(8),
  15910. Fval: uint16(106),
  15911. },
  15912. 346: {
  15913. Fbits: uint8(8),
  15914. Fval: uint16(42),
  15915. },
  15916. 347: {
  15917. Fbits: uint8(9),
  15918. Fval: uint16(181),
  15919. },
  15920. 348: {
  15921. Fbits: uint8(8),
  15922. Fval: uint16(10),
  15923. },
  15924. 349: {
  15925. Fbits: uint8(8),
  15926. Fval: uint16(138),
  15927. },
  15928. 350: {
  15929. Fbits: uint8(8),
  15930. Fval: uint16(74),
  15931. },
  15932. 351: {
  15933. Fbits: uint8(9),
  15934. Fval: uint16(245),
  15935. },
  15936. 352: {
  15937. Fop: uint8(16),
  15938. Fbits: uint8(7),
  15939. Fval: uint16(5),
  15940. },
  15941. 353: {
  15942. Fbits: uint8(8),
  15943. Fval: uint16(86),
  15944. },
  15945. 354: {
  15946. Fbits: uint8(8),
  15947. Fval: uint16(22),
  15948. },
  15949. 355: {
  15950. Fop: uint8(64),
  15951. Fbits: uint8(8),
  15952. },
  15953. 356: {
  15954. Fop: uint8(19),
  15955. Fbits: uint8(7),
  15956. Fval: uint16(51),
  15957. },
  15958. 357: {
  15959. Fbits: uint8(8),
  15960. Fval: uint16(118),
  15961. },
  15962. 358: {
  15963. Fbits: uint8(8),
  15964. Fval: uint16(54),
  15965. },
  15966. 359: {
  15967. Fbits: uint8(9),
  15968. Fval: uint16(205),
  15969. },
  15970. 360: {
  15971. Fop: uint8(17),
  15972. Fbits: uint8(7),
  15973. Fval: uint16(15),
  15974. },
  15975. 361: {
  15976. Fbits: uint8(8),
  15977. Fval: uint16(102),
  15978. },
  15979. 362: {
  15980. Fbits: uint8(8),
  15981. Fval: uint16(38),
  15982. },
  15983. 363: {
  15984. Fbits: uint8(9),
  15985. Fval: uint16(173),
  15986. },
  15987. 364: {
  15988. Fbits: uint8(8),
  15989. Fval: uint16(6),
  15990. },
  15991. 365: {
  15992. Fbits: uint8(8),
  15993. Fval: uint16(134),
  15994. },
  15995. 366: {
  15996. Fbits: uint8(8),
  15997. Fval: uint16(70),
  15998. },
  15999. 367: {
  16000. Fbits: uint8(9),
  16001. Fval: uint16(237),
  16002. },
  16003. 368: {
  16004. Fop: uint8(16),
  16005. Fbits: uint8(7),
  16006. Fval: uint16(9),
  16007. },
  16008. 369: {
  16009. Fbits: uint8(8),
  16010. Fval: uint16(94),
  16011. },
  16012. 370: {
  16013. Fbits: uint8(8),
  16014. Fval: uint16(30),
  16015. },
  16016. 371: {
  16017. Fbits: uint8(9),
  16018. Fval: uint16(157),
  16019. },
  16020. 372: {
  16021. Fop: uint8(20),
  16022. Fbits: uint8(7),
  16023. Fval: uint16(99),
  16024. },
  16025. 373: {
  16026. Fbits: uint8(8),
  16027. Fval: uint16(126),
  16028. },
  16029. 374: {
  16030. Fbits: uint8(8),
  16031. Fval: uint16(62),
  16032. },
  16033. 375: {
  16034. Fbits: uint8(9),
  16035. Fval: uint16(221),
  16036. },
  16037. 376: {
  16038. Fop: uint8(18),
  16039. Fbits: uint8(7),
  16040. Fval: uint16(27),
  16041. },
  16042. 377: {
  16043. Fbits: uint8(8),
  16044. Fval: uint16(110),
  16045. },
  16046. 378: {
  16047. Fbits: uint8(8),
  16048. Fval: uint16(46),
  16049. },
  16050. 379: {
  16051. Fbits: uint8(9),
  16052. Fval: uint16(189),
  16053. },
  16054. 380: {
  16055. Fbits: uint8(8),
  16056. Fval: uint16(14),
  16057. },
  16058. 381: {
  16059. Fbits: uint8(8),
  16060. Fval: uint16(142),
  16061. },
  16062. 382: {
  16063. Fbits: uint8(8),
  16064. Fval: uint16(78),
  16065. },
  16066. 383: {
  16067. Fbits: uint8(9),
  16068. Fval: uint16(253),
  16069. },
  16070. 384: {
  16071. Fop: uint8(96),
  16072. Fbits: uint8(7),
  16073. },
  16074. 385: {
  16075. Fbits: uint8(8),
  16076. Fval: uint16(81),
  16077. },
  16078. 386: {
  16079. Fbits: uint8(8),
  16080. Fval: uint16(17),
  16081. },
  16082. 387: {
  16083. Fop: uint8(21),
  16084. Fbits: uint8(8),
  16085. Fval: uint16(131),
  16086. },
  16087. 388: {
  16088. Fop: uint8(18),
  16089. Fbits: uint8(7),
  16090. Fval: uint16(31),
  16091. },
  16092. 389: {
  16093. Fbits: uint8(8),
  16094. Fval: uint16(113),
  16095. },
  16096. 390: {
  16097. Fbits: uint8(8),
  16098. Fval: uint16(49),
  16099. },
  16100. 391: {
  16101. Fbits: uint8(9),
  16102. Fval: uint16(195),
  16103. },
  16104. 392: {
  16105. Fop: uint8(16),
  16106. Fbits: uint8(7),
  16107. Fval: uint16(10),
  16108. },
  16109. 393: {
  16110. Fbits: uint8(8),
  16111. Fval: uint16(97),
  16112. },
  16113. 394: {
  16114. Fbits: uint8(8),
  16115. Fval: uint16(33),
  16116. },
  16117. 395: {
  16118. Fbits: uint8(9),
  16119. Fval: uint16(163),
  16120. },
  16121. 396: {
  16122. Fbits: uint8(8),
  16123. Fval: uint16(1),
  16124. },
  16125. 397: {
  16126. Fbits: uint8(8),
  16127. Fval: uint16(129),
  16128. },
  16129. 398: {
  16130. Fbits: uint8(8),
  16131. Fval: uint16(65),
  16132. },
  16133. 399: {
  16134. Fbits: uint8(9),
  16135. Fval: uint16(227),
  16136. },
  16137. 400: {
  16138. Fop: uint8(16),
  16139. Fbits: uint8(7),
  16140. Fval: uint16(6),
  16141. },
  16142. 401: {
  16143. Fbits: uint8(8),
  16144. Fval: uint16(89),
  16145. },
  16146. 402: {
  16147. Fbits: uint8(8),
  16148. Fval: uint16(25),
  16149. },
  16150. 403: {
  16151. Fbits: uint8(9),
  16152. Fval: uint16(147),
  16153. },
  16154. 404: {
  16155. Fop: uint8(19),
  16156. Fbits: uint8(7),
  16157. Fval: uint16(59),
  16158. },
  16159. 405: {
  16160. Fbits: uint8(8),
  16161. Fval: uint16(121),
  16162. },
  16163. 406: {
  16164. Fbits: uint8(8),
  16165. Fval: uint16(57),
  16166. },
  16167. 407: {
  16168. Fbits: uint8(9),
  16169. Fval: uint16(211),
  16170. },
  16171. 408: {
  16172. Fop: uint8(17),
  16173. Fbits: uint8(7),
  16174. Fval: uint16(17),
  16175. },
  16176. 409: {
  16177. Fbits: uint8(8),
  16178. Fval: uint16(105),
  16179. },
  16180. 410: {
  16181. Fbits: uint8(8),
  16182. Fval: uint16(41),
  16183. },
  16184. 411: {
  16185. Fbits: uint8(9),
  16186. Fval: uint16(179),
  16187. },
  16188. 412: {
  16189. Fbits: uint8(8),
  16190. Fval: uint16(9),
  16191. },
  16192. 413: {
  16193. Fbits: uint8(8),
  16194. Fval: uint16(137),
  16195. },
  16196. 414: {
  16197. Fbits: uint8(8),
  16198. Fval: uint16(73),
  16199. },
  16200. 415: {
  16201. Fbits: uint8(9),
  16202. Fval: uint16(243),
  16203. },
  16204. 416: {
  16205. Fop: uint8(16),
  16206. Fbits: uint8(7),
  16207. Fval: uint16(4),
  16208. },
  16209. 417: {
  16210. Fbits: uint8(8),
  16211. Fval: uint16(85),
  16212. },
  16213. 418: {
  16214. Fbits: uint8(8),
  16215. Fval: uint16(21),
  16216. },
  16217. 419: {
  16218. Fop: uint8(16),
  16219. Fbits: uint8(8),
  16220. Fval: uint16(258),
  16221. },
  16222. 420: {
  16223. Fop: uint8(19),
  16224. Fbits: uint8(7),
  16225. Fval: uint16(43),
  16226. },
  16227. 421: {
  16228. Fbits: uint8(8),
  16229. Fval: uint16(117),
  16230. },
  16231. 422: {
  16232. Fbits: uint8(8),
  16233. Fval: uint16(53),
  16234. },
  16235. 423: {
  16236. Fbits: uint8(9),
  16237. Fval: uint16(203),
  16238. },
  16239. 424: {
  16240. Fop: uint8(17),
  16241. Fbits: uint8(7),
  16242. Fval: uint16(13),
  16243. },
  16244. 425: {
  16245. Fbits: uint8(8),
  16246. Fval: uint16(101),
  16247. },
  16248. 426: {
  16249. Fbits: uint8(8),
  16250. Fval: uint16(37),
  16251. },
  16252. 427: {
  16253. Fbits: uint8(9),
  16254. Fval: uint16(171),
  16255. },
  16256. 428: {
  16257. Fbits: uint8(8),
  16258. Fval: uint16(5),
  16259. },
  16260. 429: {
  16261. Fbits: uint8(8),
  16262. Fval: uint16(133),
  16263. },
  16264. 430: {
  16265. Fbits: uint8(8),
  16266. Fval: uint16(69),
  16267. },
  16268. 431: {
  16269. Fbits: uint8(9),
  16270. Fval: uint16(235),
  16271. },
  16272. 432: {
  16273. Fop: uint8(16),
  16274. Fbits: uint8(7),
  16275. Fval: uint16(8),
  16276. },
  16277. 433: {
  16278. Fbits: uint8(8),
  16279. Fval: uint16(93),
  16280. },
  16281. 434: {
  16282. Fbits: uint8(8),
  16283. Fval: uint16(29),
  16284. },
  16285. 435: {
  16286. Fbits: uint8(9),
  16287. Fval: uint16(155),
  16288. },
  16289. 436: {
  16290. Fop: uint8(20),
  16291. Fbits: uint8(7),
  16292. Fval: uint16(83),
  16293. },
  16294. 437: {
  16295. Fbits: uint8(8),
  16296. Fval: uint16(125),
  16297. },
  16298. 438: {
  16299. Fbits: uint8(8),
  16300. Fval: uint16(61),
  16301. },
  16302. 439: {
  16303. Fbits: uint8(9),
  16304. Fval: uint16(219),
  16305. },
  16306. 440: {
  16307. Fop: uint8(18),
  16308. Fbits: uint8(7),
  16309. Fval: uint16(23),
  16310. },
  16311. 441: {
  16312. Fbits: uint8(8),
  16313. Fval: uint16(109),
  16314. },
  16315. 442: {
  16316. Fbits: uint8(8),
  16317. Fval: uint16(45),
  16318. },
  16319. 443: {
  16320. Fbits: uint8(9),
  16321. Fval: uint16(187),
  16322. },
  16323. 444: {
  16324. Fbits: uint8(8),
  16325. Fval: uint16(13),
  16326. },
  16327. 445: {
  16328. Fbits: uint8(8),
  16329. Fval: uint16(141),
  16330. },
  16331. 446: {
  16332. Fbits: uint8(8),
  16333. Fval: uint16(77),
  16334. },
  16335. 447: {
  16336. Fbits: uint8(9),
  16337. Fval: uint16(251),
  16338. },
  16339. 448: {
  16340. Fop: uint8(16),
  16341. Fbits: uint8(7),
  16342. Fval: uint16(3),
  16343. },
  16344. 449: {
  16345. Fbits: uint8(8),
  16346. Fval: uint16(83),
  16347. },
  16348. 450: {
  16349. Fbits: uint8(8),
  16350. Fval: uint16(19),
  16351. },
  16352. 451: {
  16353. Fop: uint8(21),
  16354. Fbits: uint8(8),
  16355. Fval: uint16(195),
  16356. },
  16357. 452: {
  16358. Fop: uint8(19),
  16359. Fbits: uint8(7),
  16360. Fval: uint16(35),
  16361. },
  16362. 453: {
  16363. Fbits: uint8(8),
  16364. Fval: uint16(115),
  16365. },
  16366. 454: {
  16367. Fbits: uint8(8),
  16368. Fval: uint16(51),
  16369. },
  16370. 455: {
  16371. Fbits: uint8(9),
  16372. Fval: uint16(199),
  16373. },
  16374. 456: {
  16375. Fop: uint8(17),
  16376. Fbits: uint8(7),
  16377. Fval: uint16(11),
  16378. },
  16379. 457: {
  16380. Fbits: uint8(8),
  16381. Fval: uint16(99),
  16382. },
  16383. 458: {
  16384. Fbits: uint8(8),
  16385. Fval: uint16(35),
  16386. },
  16387. 459: {
  16388. Fbits: uint8(9),
  16389. Fval: uint16(167),
  16390. },
  16391. 460: {
  16392. Fbits: uint8(8),
  16393. Fval: uint16(3),
  16394. },
  16395. 461: {
  16396. Fbits: uint8(8),
  16397. Fval: uint16(131),
  16398. },
  16399. 462: {
  16400. Fbits: uint8(8),
  16401. Fval: uint16(67),
  16402. },
  16403. 463: {
  16404. Fbits: uint8(9),
  16405. Fval: uint16(231),
  16406. },
  16407. 464: {
  16408. Fop: uint8(16),
  16409. Fbits: uint8(7),
  16410. Fval: uint16(7),
  16411. },
  16412. 465: {
  16413. Fbits: uint8(8),
  16414. Fval: uint16(91),
  16415. },
  16416. 466: {
  16417. Fbits: uint8(8),
  16418. Fval: uint16(27),
  16419. },
  16420. 467: {
  16421. Fbits: uint8(9),
  16422. Fval: uint16(151),
  16423. },
  16424. 468: {
  16425. Fop: uint8(20),
  16426. Fbits: uint8(7),
  16427. Fval: uint16(67),
  16428. },
  16429. 469: {
  16430. Fbits: uint8(8),
  16431. Fval: uint16(123),
  16432. },
  16433. 470: {
  16434. Fbits: uint8(8),
  16435. Fval: uint16(59),
  16436. },
  16437. 471: {
  16438. Fbits: uint8(9),
  16439. Fval: uint16(215),
  16440. },
  16441. 472: {
  16442. Fop: uint8(18),
  16443. Fbits: uint8(7),
  16444. Fval: uint16(19),
  16445. },
  16446. 473: {
  16447. Fbits: uint8(8),
  16448. Fval: uint16(107),
  16449. },
  16450. 474: {
  16451. Fbits: uint8(8),
  16452. Fval: uint16(43),
  16453. },
  16454. 475: {
  16455. Fbits: uint8(9),
  16456. Fval: uint16(183),
  16457. },
  16458. 476: {
  16459. Fbits: uint8(8),
  16460. Fval: uint16(11),
  16461. },
  16462. 477: {
  16463. Fbits: uint8(8),
  16464. Fval: uint16(139),
  16465. },
  16466. 478: {
  16467. Fbits: uint8(8),
  16468. Fval: uint16(75),
  16469. },
  16470. 479: {
  16471. Fbits: uint8(9),
  16472. Fval: uint16(247),
  16473. },
  16474. 480: {
  16475. Fop: uint8(16),
  16476. Fbits: uint8(7),
  16477. Fval: uint16(5),
  16478. },
  16479. 481: {
  16480. Fbits: uint8(8),
  16481. Fval: uint16(87),
  16482. },
  16483. 482: {
  16484. Fbits: uint8(8),
  16485. Fval: uint16(23),
  16486. },
  16487. 483: {
  16488. Fop: uint8(64),
  16489. Fbits: uint8(8),
  16490. },
  16491. 484: {
  16492. Fop: uint8(19),
  16493. Fbits: uint8(7),
  16494. Fval: uint16(51),
  16495. },
  16496. 485: {
  16497. Fbits: uint8(8),
  16498. Fval: uint16(119),
  16499. },
  16500. 486: {
  16501. Fbits: uint8(8),
  16502. Fval: uint16(55),
  16503. },
  16504. 487: {
  16505. Fbits: uint8(9),
  16506. Fval: uint16(207),
  16507. },
  16508. 488: {
  16509. Fop: uint8(17),
  16510. Fbits: uint8(7),
  16511. Fval: uint16(15),
  16512. },
  16513. 489: {
  16514. Fbits: uint8(8),
  16515. Fval: uint16(103),
  16516. },
  16517. 490: {
  16518. Fbits: uint8(8),
  16519. Fval: uint16(39),
  16520. },
  16521. 491: {
  16522. Fbits: uint8(9),
  16523. Fval: uint16(175),
  16524. },
  16525. 492: {
  16526. Fbits: uint8(8),
  16527. Fval: uint16(7),
  16528. },
  16529. 493: {
  16530. Fbits: uint8(8),
  16531. Fval: uint16(135),
  16532. },
  16533. 494: {
  16534. Fbits: uint8(8),
  16535. Fval: uint16(71),
  16536. },
  16537. 495: {
  16538. Fbits: uint8(9),
  16539. Fval: uint16(239),
  16540. },
  16541. 496: {
  16542. Fop: uint8(16),
  16543. Fbits: uint8(7),
  16544. Fval: uint16(9),
  16545. },
  16546. 497: {
  16547. Fbits: uint8(8),
  16548. Fval: uint16(95),
  16549. },
  16550. 498: {
  16551. Fbits: uint8(8),
  16552. Fval: uint16(31),
  16553. },
  16554. 499: {
  16555. Fbits: uint8(9),
  16556. Fval: uint16(159),
  16557. },
  16558. 500: {
  16559. Fop: uint8(20),
  16560. Fbits: uint8(7),
  16561. Fval: uint16(99),
  16562. },
  16563. 501: {
  16564. Fbits: uint8(8),
  16565. Fval: uint16(127),
  16566. },
  16567. 502: {
  16568. Fbits: uint8(8),
  16569. Fval: uint16(63),
  16570. },
  16571. 503: {
  16572. Fbits: uint8(9),
  16573. Fval: uint16(223),
  16574. },
  16575. 504: {
  16576. Fop: uint8(18),
  16577. Fbits: uint8(7),
  16578. Fval: uint16(27),
  16579. },
  16580. 505: {
  16581. Fbits: uint8(8),
  16582. Fval: uint16(111),
  16583. },
  16584. 506: {
  16585. Fbits: uint8(8),
  16586. Fval: uint16(47),
  16587. },
  16588. 507: {
  16589. Fbits: uint8(9),
  16590. Fval: uint16(191),
  16591. },
  16592. 508: {
  16593. Fbits: uint8(8),
  16594. Fval: uint16(15),
  16595. },
  16596. 509: {
  16597. Fbits: uint8(8),
  16598. Fval: uint16(143),
  16599. },
  16600. 510: {
  16601. Fbits: uint8(8),
  16602. Fval: uint16(79),
  16603. },
  16604. 511: {
  16605. Fbits: uint8(9),
  16606. Fval: uint16(255),
  16607. },
  16608. }
  16609. var _distfix1 = [32]Tcode{
  16610. 0: {
  16611. Fop: uint8(16),
  16612. Fbits: uint8(5),
  16613. Fval: uint16(1),
  16614. },
  16615. 1: {
  16616. Fop: uint8(23),
  16617. Fbits: uint8(5),
  16618. Fval: uint16(257),
  16619. },
  16620. 2: {
  16621. Fop: uint8(19),
  16622. Fbits: uint8(5),
  16623. Fval: uint16(17),
  16624. },
  16625. 3: {
  16626. Fop: uint8(27),
  16627. Fbits: uint8(5),
  16628. Fval: uint16(4097),
  16629. },
  16630. 4: {
  16631. Fop: uint8(17),
  16632. Fbits: uint8(5),
  16633. Fval: uint16(5),
  16634. },
  16635. 5: {
  16636. Fop: uint8(25),
  16637. Fbits: uint8(5),
  16638. Fval: uint16(1025),
  16639. },
  16640. 6: {
  16641. Fop: uint8(21),
  16642. Fbits: uint8(5),
  16643. Fval: uint16(65),
  16644. },
  16645. 7: {
  16646. Fop: uint8(29),
  16647. Fbits: uint8(5),
  16648. Fval: uint16(16385),
  16649. },
  16650. 8: {
  16651. Fop: uint8(16),
  16652. Fbits: uint8(5),
  16653. Fval: uint16(3),
  16654. },
  16655. 9: {
  16656. Fop: uint8(24),
  16657. Fbits: uint8(5),
  16658. Fval: uint16(513),
  16659. },
  16660. 10: {
  16661. Fop: uint8(20),
  16662. Fbits: uint8(5),
  16663. Fval: uint16(33),
  16664. },
  16665. 11: {
  16666. Fop: uint8(28),
  16667. Fbits: uint8(5),
  16668. Fval: uint16(8193),
  16669. },
  16670. 12: {
  16671. Fop: uint8(18),
  16672. Fbits: uint8(5),
  16673. Fval: uint16(9),
  16674. },
  16675. 13: {
  16676. Fop: uint8(26),
  16677. Fbits: uint8(5),
  16678. Fval: uint16(2049),
  16679. },
  16680. 14: {
  16681. Fop: uint8(22),
  16682. Fbits: uint8(5),
  16683. Fval: uint16(129),
  16684. },
  16685. 15: {
  16686. Fop: uint8(64),
  16687. Fbits: uint8(5),
  16688. },
  16689. 16: {
  16690. Fop: uint8(16),
  16691. Fbits: uint8(5),
  16692. Fval: uint16(2),
  16693. },
  16694. 17: {
  16695. Fop: uint8(23),
  16696. Fbits: uint8(5),
  16697. Fval: uint16(385),
  16698. },
  16699. 18: {
  16700. Fop: uint8(19),
  16701. Fbits: uint8(5),
  16702. Fval: uint16(25),
  16703. },
  16704. 19: {
  16705. Fop: uint8(27),
  16706. Fbits: uint8(5),
  16707. Fval: uint16(6145),
  16708. },
  16709. 20: {
  16710. Fop: uint8(17),
  16711. Fbits: uint8(5),
  16712. Fval: uint16(7),
  16713. },
  16714. 21: {
  16715. Fop: uint8(25),
  16716. Fbits: uint8(5),
  16717. Fval: uint16(1537),
  16718. },
  16719. 22: {
  16720. Fop: uint8(21),
  16721. Fbits: uint8(5),
  16722. Fval: uint16(97),
  16723. },
  16724. 23: {
  16725. Fop: uint8(29),
  16726. Fbits: uint8(5),
  16727. Fval: uint16(24577),
  16728. },
  16729. 24: {
  16730. Fop: uint8(16),
  16731. Fbits: uint8(5),
  16732. Fval: uint16(4),
  16733. },
  16734. 25: {
  16735. Fop: uint8(24),
  16736. Fbits: uint8(5),
  16737. Fval: uint16(769),
  16738. },
  16739. 26: {
  16740. Fop: uint8(20),
  16741. Fbits: uint8(5),
  16742. Fval: uint16(49),
  16743. },
  16744. 27: {
  16745. Fop: uint8(28),
  16746. Fbits: uint8(5),
  16747. Fval: uint16(12289),
  16748. },
  16749. 28: {
  16750. Fop: uint8(18),
  16751. Fbits: uint8(5),
  16752. Fval: uint16(13),
  16753. },
  16754. 29: {
  16755. Fop: uint8(26),
  16756. Fbits: uint8(5),
  16757. Fval: uint16(3073),
  16758. },
  16759. 30: {
  16760. Fop: uint8(22),
  16761. Fbits: uint8(5),
  16762. Fval: uint16(193),
  16763. },
  16764. 31: {
  16765. Fop: uint8(64),
  16766. Fbits: uint8(5),
  16767. },
  16768. }
  16769. // C documentation
  16770. //
  16771. // /*
  16772. // Update the window with the last wsize (normally 32K) bytes written before
  16773. // returning. If window does not exist yet, create it. This is only called
  16774. // when a window is already in use, or when output has been written during this
  16775. // inflate call, but the end of the deflate stream has not been reached yet.
  16776. // It is also called to create a window for dictionary data when a dictionary
  16777. // is loaded.
  16778. //
  16779. // Providing output buffers larger than 32K to inflate() should provide a speed
  16780. // advantage, since only the last 32K of output is copied to the sliding window
  16781. // upon return from inflate(), and since all distances after the first 32K of
  16782. // output will fall in the output data, making match copies simpler and faster.
  16783. // The advantage may be dependent on the size of the processor's data caches.
  16784. // */
  16785. func _updatewindow(tls *libc.TLS, strm Tz_streamp, end uintptr, copy1 uint32) (r int32) {
  16786. var dist uint32
  16787. var state uintptr
  16788. _, _ = dist, state
  16789. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16790. /* if it hasn't been done already, allocate space for the window */
  16791. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  16792. (*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)))
  16793. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  16794. return int32(1)
  16795. }
  16796. }
  16797. /* if window not in use yet, initialize */
  16798. if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize == uint32(0) {
  16799. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  16800. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  16801. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  16802. }
  16803. /* copy state->wsize or less output bytes into the circular window */
  16804. if copy1 >= (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  16805. libc.X__builtin___memcpy_chk(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwsize), ^t__predefined_size_t(0))
  16806. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  16807. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  16808. } else {
  16809. dist = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  16810. if dist > copy1 {
  16811. dist = copy1
  16812. }
  16813. libc.X__builtin___memcpy_chk(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), end-uintptr(copy1), uint64(dist), ^t__predefined_size_t(0))
  16814. copy1 -= dist
  16815. if copy1 != 0 {
  16816. libc.X__builtin___memcpy_chk(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr(copy1), uint64(copy1), ^t__predefined_size_t(0))
  16817. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = copy1
  16818. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  16819. } else {
  16820. *(*uint32)(unsafe.Pointer(state + 68)) += dist
  16821. if (*Tinflate_state)(unsafe.Pointer(state)).Fwnext == (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  16822. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  16823. }
  16824. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  16825. *(*uint32)(unsafe.Pointer(state + 64)) += dist
  16826. }
  16827. }
  16828. }
  16829. return 0
  16830. }
  16831. /* Macros for inflate(): */
  16832. /* check function to use adler32() for zlib or crc32() for gzip */
  16833. /* check macros for header crc */
  16834. /* Load registers with state in inflate() for speed */
  16835. /* Restore state from registers in inflate() */
  16836. /* Clear the input bit accumulator */
  16837. /* Get a byte of input into the bit accumulator, or return from inflate()
  16838. if there is no input available. */
  16839. /* Assure that there are at least n bits in the bit accumulator. If there is
  16840. not enough available input to do that, then return from inflate(). */
  16841. /* Return the low n bits of the bit accumulator (n < 16) */
  16842. /* Remove n bits from the bit accumulator */
  16843. /* Remove zero to seven bits as needed to go to a byte boundary */
  16844. /*
  16845. inflate() uses a state machine to process as much input data and generate as
  16846. much output data as possible before returning. The state machine is
  16847. structured roughly as follows:
  16848. for (;;) switch (state) {
  16849. ...
  16850. case STATEn:
  16851. if (not enough input data or output space to make progress)
  16852. return;
  16853. ... make progress ...
  16854. state = STATEm;
  16855. break;
  16856. ...
  16857. }
  16858. so when inflate() is called again, the same case is attempted again, and
  16859. if the appropriate resources are provided, the machine proceeds to the
  16860. next state. The NEEDBITS() macro is usually the way the state evaluates
  16861. whether it can proceed or should return. NEEDBITS() does the return if
  16862. the requested bits are not available. The typical use of the BITS macros
  16863. is:
  16864. NEEDBITS(n);
  16865. ... do something with BITS(n) ...
  16866. DROPBITS(n);
  16867. where NEEDBITS(n) either returns from inflate() if there isn't enough
  16868. input left to load n bits into the accumulator, or it continues. BITS(n)
  16869. gives the low n bits in the accumulator. When done, DROPBITS(n) drops
  16870. the low n bits off the accumulator. INITBITS() clears the accumulator
  16871. and sets the number of available bits to zero. BYTEBITS() discards just
  16872. enough bits to put the accumulator on a byte boundary. After BYTEBITS()
  16873. and a NEEDBITS(8), then BITS(8) would return the next byte in the stream.
  16874. NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return
  16875. if there is no input available. The decoding of variable length codes uses
  16876. PULLBYTE() directly in order to pull just enough bytes to decode the next
  16877. code, and no more.
  16878. Some states loop until they get enough input, making sure that enough
  16879. state information is maintained to continue the loop where it left off
  16880. if NEEDBITS() returns in the loop. For example, want, need, and keep
  16881. would all have to actually be part of the saved state in case NEEDBITS()
  16882. returns:
  16883. case STATEw:
  16884. while (want < need) {
  16885. NEEDBITS(n);
  16886. keep[want++] = BITS(n);
  16887. DROPBITS(n);
  16888. }
  16889. state = STATEx;
  16890. case STATEx:
  16891. As shown above, if the next state is also the next case, then the break
  16892. is omitted.
  16893. A state may also return if there is not enough output space available to
  16894. complete that state. Those states are copying stored data, writing a
  16895. literal byte, and copying a matching string.
  16896. When returning, a "goto inf_leave" is used to update the total counters,
  16897. update the check value, and determine whether any progress has been made
  16898. during that inflate() call in order to return the proper return code.
  16899. Progress is defined as a change in either strm->avail_in or strm->avail_out.
  16900. When there is a window, goto inf_leave will update the window with the last
  16901. output written. If a goto inf_leave occurs in the middle of decompression
  16902. and there is no window currently, goto inf_leave will create one and copy
  16903. output to the window for the next call of inflate().
  16904. In this implementation, the flush parameter of inflate() only affects the
  16905. return code (per zlib.h). inflate() always writes as much as possible to
  16906. strm->next_out, given the space available and the provided input--the effect
  16907. documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers
  16908. the allocation of and copying into a sliding window until necessary, which
  16909. provides the effect documented in zlib.h for Z_FINISH when the entire input
  16910. stream available. So the only thing the flush parameter actually does is:
  16911. when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it
  16912. will return Z_BUF_ERROR if it has not reached the end of the stream.
  16913. */
  16914. func Xinflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  16915. bp := tls.Alloc(16)
  16916. defer tls.Free(16)
  16917. var bits, copy1, have, in, left, len1, out, v46, v48, v49, v50, v52, v53, v64, v66, v70, v75, v76, v90 uint32
  16918. 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
  16919. var here, last Tcode
  16920. var hold, v101, v102, v37, v56, v58, v59, v96, v97, v98 uint64
  16921. var ret, v103, v104, v105, v38 int32
  16922. var v47, v99 bool
  16923. var _ /* hbuf at bp+0 */ [4]uint8
  16924. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  16925. 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) {
  16926. return -int32(2)
  16927. }
  16928. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16929. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  16930. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  16931. } /* skip check */
  16932. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  16933. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  16934. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  16935. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  16936. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  16937. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  16938. in = have
  16939. out = left
  16940. ret = m_Z_OK
  16941. for {
  16942. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  16943. case int32(_HEAD):
  16944. goto _2
  16945. case int32(_FLAGS):
  16946. goto _3
  16947. case int32(_TIME):
  16948. goto _4
  16949. case int32(_OS):
  16950. goto _5
  16951. case int32(_EXLEN):
  16952. goto _6
  16953. case int32(_EXTRA):
  16954. goto _7
  16955. case int32(_NAME):
  16956. goto _8
  16957. case int32(_COMMENT):
  16958. goto _9
  16959. case int32(_HCRC):
  16960. goto _10
  16961. case int32(_DICTID):
  16962. goto _11
  16963. case int32(_DICT):
  16964. goto _12
  16965. case int32(_TYPE):
  16966. goto _13
  16967. case int32(_TYPEDO):
  16968. goto _14
  16969. case int32(_STORED):
  16970. goto _15
  16971. case int32(_COPY_):
  16972. goto _16
  16973. case int32(_COPY):
  16974. goto _17
  16975. case int32(_TABLE):
  16976. goto _18
  16977. case int32(_LENLENS):
  16978. goto _19
  16979. case int32(_CODELENS):
  16980. goto _20
  16981. case int32(_LEN_):
  16982. goto _21
  16983. case int32(_LEN):
  16984. goto _22
  16985. case int32(_LENEXT):
  16986. goto _23
  16987. case int32(_DIST):
  16988. goto _24
  16989. case int32(_DISTEXT):
  16990. goto _25
  16991. case int32(_MATCH):
  16992. goto _26
  16993. case int32(_LIT):
  16994. goto _27
  16995. case int32(_CHECK):
  16996. goto _28
  16997. case int32(_LENGTH):
  16998. goto _29
  16999. case int32(_DONE):
  17000. goto _30
  17001. case int32(_BAD):
  17002. goto _31
  17003. case int32(_MEM):
  17004. goto _32
  17005. default:
  17006. goto _33
  17007. case int32(_SYNC):
  17008. goto _34
  17009. }
  17010. goto _35
  17011. _2:
  17012. ;
  17013. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap == 0 {
  17014. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  17015. goto _35
  17016. }
  17017. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  17018. if have == uint32(0) {
  17019. goto inf_leave
  17020. }
  17021. have--
  17022. v36 = next
  17023. next++
  17024. hold += uint64(*(*uint8)(unsafe.Pointer(v36))) << bits
  17025. bits += uint32(8)
  17026. }
  17027. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) != 0 && hold == uint64(0x8b1f) { /* gzip header */
  17028. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  17029. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = uint32(15)
  17030. }
  17031. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  17032. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  17033. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  17034. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  17035. hold = uint64(0)
  17036. bits = uint32(0)
  17037. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_FLAGS)
  17038. goto _35
  17039. }
  17040. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  17041. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = -int32(1)
  17042. }
  17043. 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 {
  17044. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 308
  17045. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17046. goto _35
  17047. }
  17048. if uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) != uint32(m_Z_DEFLATED) {
  17049. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  17050. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17051. goto _35
  17052. }
  17053. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  17054. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  17055. len1 = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(8)
  17056. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  17057. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = len1
  17058. }
  17059. if len1 > uint32(15) || len1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwbits {
  17060. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 358
  17061. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17062. goto _35
  17063. }
  17064. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(1) << len1
  17065. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = 0 /* indicate zlib header */
  17066. v37 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  17067. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v37
  17068. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v37
  17069. if hold&uint64(0x200) != 0 {
  17070. v38 = int32(_DICTID)
  17071. } else {
  17072. v38 = int32(_TYPE)
  17073. }
  17074. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = v38
  17075. hold = uint64(0)
  17076. bits = uint32(0)
  17077. goto _35
  17078. _3:
  17079. ;
  17080. _41:
  17081. ;
  17082. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  17083. if have == uint32(0) {
  17084. goto inf_leave
  17085. }
  17086. have--
  17087. v42 = next
  17088. next++
  17089. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  17090. bits += uint32(8)
  17091. }
  17092. goto _40
  17093. _40:
  17094. ;
  17095. if 0 != 0 {
  17096. goto _41
  17097. }
  17098. goto _39
  17099. _39:
  17100. ;
  17101. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = libc.Int32FromUint64(hold)
  17102. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xff) != int32(m_Z_DEFLATED) {
  17103. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  17104. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17105. goto _35
  17106. }
  17107. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xe000) != 0 {
  17108. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 378
  17109. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17110. goto _35
  17111. }
  17112. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  17113. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftext = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(1))
  17114. }
  17115. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  17116. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  17117. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  17118. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  17119. }
  17120. hold = uint64(0)
  17121. bits = uint32(0)
  17122. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TIME)
  17123. /* fallthrough */
  17124. _4:
  17125. ;
  17126. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  17127. if have == uint32(0) {
  17128. goto inf_leave
  17129. }
  17130. have--
  17131. v43 = next
  17132. next++
  17133. hold += uint64(*(*uint8)(unsafe.Pointer(v43))) << bits
  17134. bits += uint32(8)
  17135. }
  17136. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  17137. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftime = hold
  17138. }
  17139. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  17140. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  17141. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  17142. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(2)] = uint8(hold >> libc.Int32FromInt32(16))
  17143. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(3)] = uint8(hold >> libc.Int32FromInt32(24))
  17144. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(4))
  17145. }
  17146. hold = uint64(0)
  17147. bits = uint32(0)
  17148. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_OS)
  17149. /* fallthrough */
  17150. _5:
  17151. ;
  17152. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  17153. if have == uint32(0) {
  17154. goto inf_leave
  17155. }
  17156. have--
  17157. v44 = next
  17158. next++
  17159. hold += uint64(*(*uint8)(unsafe.Pointer(v44))) << bits
  17160. bits += uint32(8)
  17161. }
  17162. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  17163. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fxflags = libc.Int32FromUint64(hold & libc.Uint64FromInt32(0xff))
  17164. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fos = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8))
  17165. }
  17166. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  17167. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  17168. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  17169. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  17170. }
  17171. hold = uint64(0)
  17172. bits = uint32(0)
  17173. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXLEN)
  17174. /* fallthrough */
  17175. _6:
  17176. ;
  17177. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  17178. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  17179. if have == uint32(0) {
  17180. goto inf_leave
  17181. }
  17182. have--
  17183. v45 = next
  17184. next++
  17185. hold += uint64(*(*uint8)(unsafe.Pointer(v45))) << bits
  17186. bits += uint32(8)
  17187. }
  17188. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold)
  17189. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  17190. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len = uint32(hold)
  17191. }
  17192. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  17193. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  17194. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  17195. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  17196. }
  17197. hold = uint64(0)
  17198. bits = uint32(0)
  17199. } else {
  17200. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  17201. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra = uintptr(m_Z_NULL)
  17202. }
  17203. }
  17204. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXTRA)
  17205. /* fallthrough */
  17206. _7:
  17207. ;
  17208. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  17209. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17210. if copy1 > have {
  17211. copy1 = have
  17212. }
  17213. if copy1 != 0 {
  17214. 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 {
  17215. v46 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17216. len1 = v46
  17217. }
  17218. if v47 && v46 < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  17219. if len1+copy1 > (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  17220. v48 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max - len1
  17221. } else {
  17222. v48 = copy1
  17223. }
  17224. libc.X__builtin___memcpy_chk(tls, (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len1), next, uint64(v48), ^t__predefined_size_t(0))
  17225. }
  17226. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  17227. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  17228. }
  17229. have -= copy1
  17230. next += uintptr(copy1)
  17231. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  17232. }
  17233. if (*Tinflate_state)(unsafe.Pointer(state)).Flength != 0 {
  17234. goto inf_leave
  17235. }
  17236. }
  17237. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  17238. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_NAME)
  17239. /* fallthrough */
  17240. _8:
  17241. ;
  17242. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0800) != 0 {
  17243. if have == uint32(0) {
  17244. goto inf_leave
  17245. }
  17246. copy1 = uint32(0)
  17247. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  17248. v49 = copy1
  17249. copy1++
  17250. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v49))))
  17251. 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 {
  17252. v51 = state + 92
  17253. v50 = *(*uint32)(unsafe.Pointer(v51))
  17254. *(*uint32)(unsafe.Pointer(v51))++
  17255. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname + uintptr(v50))) = uint8(len1)
  17256. }
  17257. }
  17258. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  17259. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  17260. }
  17261. have -= copy1
  17262. next += uintptr(copy1)
  17263. if len1 != 0 {
  17264. goto inf_leave
  17265. }
  17266. } else {
  17267. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  17268. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname = uintptr(m_Z_NULL)
  17269. }
  17270. }
  17271. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  17272. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COMMENT)
  17273. /* fallthrough */
  17274. _9:
  17275. ;
  17276. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x1000) != 0 {
  17277. if have == uint32(0) {
  17278. goto inf_leave
  17279. }
  17280. copy1 = uint32(0)
  17281. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  17282. v52 = copy1
  17283. copy1++
  17284. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v52))))
  17285. 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 {
  17286. v54 = state + 92
  17287. v53 = *(*uint32)(unsafe.Pointer(v54))
  17288. *(*uint32)(unsafe.Pointer(v54))++
  17289. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment + uintptr(v53))) = uint8(len1)
  17290. }
  17291. }
  17292. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  17293. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  17294. }
  17295. have -= copy1
  17296. next += uintptr(copy1)
  17297. if len1 != 0 {
  17298. goto inf_leave
  17299. }
  17300. } else {
  17301. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  17302. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment = uintptr(m_Z_NULL)
  17303. }
  17304. }
  17305. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HCRC)
  17306. /* fallthrough */
  17307. _10:
  17308. ;
  17309. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 {
  17310. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  17311. if have == uint32(0) {
  17312. goto inf_leave
  17313. }
  17314. have--
  17315. v55 = next
  17316. next++
  17317. hold += uint64(*(*uint8)(unsafe.Pointer(v55))) << bits
  17318. bits += uint32(8)
  17319. }
  17320. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck&uint64(0xffff) {
  17321. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 403
  17322. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17323. goto _35
  17324. }
  17325. hold = uint64(0)
  17326. bits = uint32(0)
  17327. }
  17328. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  17329. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fhcrc = (*Tinflate_state)(unsafe.Pointer(state)).Fflags >> libc.Int32FromInt32(9) & libc.Int32FromInt32(1)
  17330. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = int32(1)
  17331. }
  17332. v56 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  17333. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v56
  17334. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v56
  17335. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  17336. goto _35
  17337. _11:
  17338. ;
  17339. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  17340. if have == uint32(0) {
  17341. goto inf_leave
  17342. }
  17343. have--
  17344. v57 = next
  17345. next++
  17346. hold += uint64(*(*uint8)(unsafe.Pointer(v57))) << bits
  17347. bits += uint32(8)
  17348. }
  17349. 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)
  17350. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v58
  17351. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v58
  17352. hold = uint64(0)
  17353. bits = uint32(0)
  17354. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DICT)
  17355. /* fallthrough */
  17356. _12:
  17357. ;
  17358. if (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict == 0 {
  17359. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  17360. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  17361. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  17362. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  17363. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  17364. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  17365. return int32(m_Z_NEED_DICT)
  17366. }
  17367. v59 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  17368. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v59
  17369. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v59
  17370. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  17371. /* fallthrough */
  17372. _13:
  17373. ;
  17374. if flush == int32(m_Z_BLOCK) || flush == int32(m_Z_TREES) {
  17375. goto inf_leave
  17376. }
  17377. /* fallthrough */
  17378. _14:
  17379. ;
  17380. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  17381. hold >>= uint64(bits & uint32(7))
  17382. bits -= bits & uint32(7)
  17383. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CHECK)
  17384. goto _35
  17385. }
  17386. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  17387. if have == uint32(0) {
  17388. goto inf_leave
  17389. }
  17390. have--
  17391. v60 = next
  17392. next++
  17393. hold += uint64(*(*uint8)(unsafe.Pointer(v60))) << bits
  17394. bits += uint32(8)
  17395. }
  17396. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  17397. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  17398. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  17399. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  17400. case uint32(0): /* stored block */
  17401. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  17402. case uint32(1): /* fixed block */
  17403. _fixedtables1(tls, state)
  17404. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_) /* decode codes */
  17405. if flush == int32(m_Z_TREES) {
  17406. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  17407. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  17408. goto inf_leave
  17409. }
  17410. case uint32(2): /* dynamic block */
  17411. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  17412. case uint32(3):
  17413. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  17414. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17415. }
  17416. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  17417. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  17418. goto _35
  17419. _15:
  17420. ;
  17421. hold >>= uint64(bits & uint32(7))
  17422. bits -= bits & uint32(7) /* go to byte boundary */
  17423. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  17424. if have == uint32(0) {
  17425. goto inf_leave
  17426. }
  17427. have--
  17428. v61 = next
  17429. next++
  17430. hold += uint64(*(*uint8)(unsafe.Pointer(v61))) << bits
  17431. bits += uint32(8)
  17432. }
  17433. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  17434. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  17435. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17436. goto _35
  17437. }
  17438. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  17439. hold = uint64(0)
  17440. bits = uint32(0)
  17441. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY_)
  17442. if flush == int32(m_Z_TREES) {
  17443. goto inf_leave
  17444. }
  17445. /* fallthrough */
  17446. _16:
  17447. ;
  17448. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY)
  17449. /* fallthrough */
  17450. _17:
  17451. ;
  17452. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17453. if copy1 != 0 {
  17454. if copy1 > have {
  17455. copy1 = have
  17456. }
  17457. if copy1 > left {
  17458. copy1 = left
  17459. }
  17460. if copy1 == uint32(0) {
  17461. goto inf_leave
  17462. }
  17463. libc.X__builtin___memcpy_chk(tls, put, next, uint64(copy1), ^t__predefined_size_t(0))
  17464. have -= copy1
  17465. next += uintptr(copy1)
  17466. left -= copy1
  17467. put += uintptr(copy1)
  17468. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  17469. goto _35
  17470. }
  17471. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  17472. goto _35
  17473. _18:
  17474. ;
  17475. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  17476. if have == uint32(0) {
  17477. goto inf_leave
  17478. }
  17479. have--
  17480. v62 = next
  17481. next++
  17482. hold += uint64(*(*uint8)(unsafe.Pointer(v62))) << bits
  17483. bits += uint32(8)
  17484. }
  17485. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  17486. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  17487. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  17488. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  17489. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  17490. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  17491. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  17492. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  17493. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  17494. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  17495. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  17496. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17497. goto _35
  17498. }
  17499. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  17500. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENLENS)
  17501. /* fallthrough */
  17502. _19:
  17503. ;
  17504. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  17505. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  17506. if have == uint32(0) {
  17507. goto inf_leave
  17508. }
  17509. have--
  17510. v63 = next
  17511. next++
  17512. hold += uint64(*(*uint8)(unsafe.Pointer(v63))) << bits
  17513. bits += uint32(8)
  17514. }
  17515. v65 = state + 140
  17516. v64 = *(*uint32)(unsafe.Pointer(v65))
  17517. *(*uint32)(unsafe.Pointer(v65))++
  17518. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v64])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  17519. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  17520. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  17521. }
  17522. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  17523. v67 = state + 140
  17524. v66 = *(*uint32)(unsafe.Pointer(v67))
  17525. *(*uint32)(unsafe.Pointer(v67))++
  17526. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v66])*2)) = uint16(0)
  17527. }
  17528. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  17529. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  17530. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  17531. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  17532. if ret != 0 {
  17533. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  17534. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17535. goto _35
  17536. }
  17537. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  17538. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CODELENS)
  17539. /* fallthrough */
  17540. _20:
  17541. ;
  17542. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  17543. for {
  17544. 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))
  17545. if uint32(here.Fbits) <= bits {
  17546. break
  17547. }
  17548. if have == uint32(0) {
  17549. goto inf_leave
  17550. }
  17551. have--
  17552. v69 = next
  17553. next++
  17554. hold += uint64(*(*uint8)(unsafe.Pointer(v69))) << bits
  17555. bits += uint32(8)
  17556. goto _68
  17557. _68:
  17558. }
  17559. if libc.Int32FromUint16(here.Fval) < int32(16) {
  17560. hold >>= uint64(here.Fbits)
  17561. bits -= uint32(here.Fbits)
  17562. v71 = state + 140
  17563. v70 = *(*uint32)(unsafe.Pointer(v71))
  17564. *(*uint32)(unsafe.Pointer(v71))++
  17565. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v70)*2)) = here.Fval
  17566. } else {
  17567. if libc.Int32FromUint16(here.Fval) == int32(16) {
  17568. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  17569. if have == uint32(0) {
  17570. goto inf_leave
  17571. }
  17572. have--
  17573. v72 = next
  17574. next++
  17575. hold += uint64(*(*uint8)(unsafe.Pointer(v72))) << bits
  17576. bits += uint32(8)
  17577. }
  17578. hold >>= uint64(here.Fbits)
  17579. bits -= uint32(here.Fbits)
  17580. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  17581. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  17582. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17583. break
  17584. }
  17585. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  17586. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  17587. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  17588. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  17589. } else {
  17590. if libc.Int32FromUint16(here.Fval) == int32(17) {
  17591. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  17592. if have == uint32(0) {
  17593. goto inf_leave
  17594. }
  17595. have--
  17596. v73 = next
  17597. next++
  17598. hold += uint64(*(*uint8)(unsafe.Pointer(v73))) << bits
  17599. bits += uint32(8)
  17600. }
  17601. hold >>= uint64(here.Fbits)
  17602. bits -= uint32(here.Fbits)
  17603. len1 = uint32(0)
  17604. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  17605. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  17606. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  17607. } else {
  17608. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  17609. if have == uint32(0) {
  17610. goto inf_leave
  17611. }
  17612. have--
  17613. v74 = next
  17614. next++
  17615. hold += uint64(*(*uint8)(unsafe.Pointer(v74))) << bits
  17616. bits += uint32(8)
  17617. }
  17618. hold >>= uint64(here.Fbits)
  17619. bits -= uint32(here.Fbits)
  17620. len1 = uint32(0)
  17621. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  17622. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  17623. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  17624. }
  17625. }
  17626. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  17627. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  17628. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17629. break
  17630. }
  17631. for {
  17632. v75 = copy1
  17633. copy1--
  17634. if !(v75 != 0) {
  17635. break
  17636. }
  17637. v77 = state + 140
  17638. v76 = *(*uint32)(unsafe.Pointer(v77))
  17639. *(*uint32)(unsafe.Pointer(v77))++
  17640. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v76)*2)) = uint16(len1)
  17641. }
  17642. }
  17643. }
  17644. /* handle error breaks in while */
  17645. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  17646. goto _35
  17647. }
  17648. /* check for end-of-block code (better have one) */
  17649. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  17650. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  17651. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17652. goto _35
  17653. }
  17654. /* build code tables -- note: do not change the lenbits or distbits
  17655. values here (9 and 6) without reading the comments in inftrees.h
  17656. concerning the ENOUGH constants, which depend on those values */
  17657. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  17658. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  17659. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  17660. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  17661. if ret != 0 {
  17662. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  17663. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17664. goto _35
  17665. }
  17666. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  17667. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  17668. 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)
  17669. if ret != 0 {
  17670. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  17671. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17672. goto _35
  17673. }
  17674. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_)
  17675. if flush == int32(m_Z_TREES) {
  17676. goto inf_leave
  17677. }
  17678. /* fallthrough */
  17679. _21:
  17680. ;
  17681. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  17682. /* fallthrough */
  17683. _22:
  17684. ;
  17685. if have >= uint32(6) && left >= uint32(258) {
  17686. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  17687. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  17688. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  17689. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  17690. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  17691. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  17692. Xinflate_fast(tls, strm, out)
  17693. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  17694. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  17695. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  17696. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  17697. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  17698. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  17699. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  17700. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  17701. }
  17702. goto _35
  17703. }
  17704. (*Tinflate_state)(unsafe.Pointer(state)).Fback = 0
  17705. for {
  17706. 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))
  17707. if uint32(here.Fbits) <= bits {
  17708. break
  17709. }
  17710. if have == uint32(0) {
  17711. goto inf_leave
  17712. }
  17713. have--
  17714. v79 = next
  17715. next++
  17716. hold += uint64(*(*uint8)(unsafe.Pointer(v79))) << bits
  17717. bits += uint32(8)
  17718. goto _78
  17719. _78:
  17720. }
  17721. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  17722. last = here
  17723. for {
  17724. 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))
  17725. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  17726. break
  17727. }
  17728. if have == uint32(0) {
  17729. goto inf_leave
  17730. }
  17731. have--
  17732. v81 = next
  17733. next++
  17734. hold += uint64(*(*uint8)(unsafe.Pointer(v81))) << bits
  17735. bits += uint32(8)
  17736. goto _80
  17737. _80:
  17738. }
  17739. hold >>= uint64(last.Fbits)
  17740. bits -= uint32(last.Fbits)
  17741. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  17742. }
  17743. hold >>= uint64(here.Fbits)
  17744. bits -= uint32(here.Fbits)
  17745. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  17746. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  17747. if libc.Int32FromUint8(here.Fop) == 0 {
  17748. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LIT)
  17749. goto _35
  17750. }
  17751. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  17752. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  17753. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  17754. goto _35
  17755. }
  17756. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  17757. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  17758. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17759. goto _35
  17760. }
  17761. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  17762. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENEXT)
  17763. /* fallthrough */
  17764. _23:
  17765. ;
  17766. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  17767. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  17768. if have == uint32(0) {
  17769. goto inf_leave
  17770. }
  17771. have--
  17772. v82 = next
  17773. next++
  17774. hold += uint64(*(*uint8)(unsafe.Pointer(v82))) << bits
  17775. bits += uint32(8)
  17776. }
  17777. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  17778. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  17779. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  17780. p83 = state + 7148
  17781. *(*int32)(unsafe.Pointer(p83)) = int32(uint32(*(*int32)(unsafe.Pointer(p83))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  17782. }
  17783. (*Tinflate_state)(unsafe.Pointer(state)).Fwas = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17784. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DIST)
  17785. /* fallthrough */
  17786. _24:
  17787. ;
  17788. for {
  17789. 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))
  17790. if uint32(here.Fbits) <= bits {
  17791. break
  17792. }
  17793. if have == uint32(0) {
  17794. goto inf_leave
  17795. }
  17796. have--
  17797. v85 = next
  17798. next++
  17799. hold += uint64(*(*uint8)(unsafe.Pointer(v85))) << bits
  17800. bits += uint32(8)
  17801. goto _84
  17802. _84:
  17803. }
  17804. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  17805. last = here
  17806. for {
  17807. 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))
  17808. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  17809. break
  17810. }
  17811. if have == uint32(0) {
  17812. goto inf_leave
  17813. }
  17814. have--
  17815. v87 = next
  17816. next++
  17817. hold += uint64(*(*uint8)(unsafe.Pointer(v87))) << bits
  17818. bits += uint32(8)
  17819. goto _86
  17820. _86:
  17821. }
  17822. hold >>= uint64(last.Fbits)
  17823. bits -= uint32(last.Fbits)
  17824. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  17825. }
  17826. hold >>= uint64(here.Fbits)
  17827. bits -= uint32(here.Fbits)
  17828. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  17829. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  17830. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  17831. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17832. goto _35
  17833. }
  17834. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  17835. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  17836. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DISTEXT)
  17837. /* fallthrough */
  17838. _25:
  17839. ;
  17840. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  17841. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  17842. if have == uint32(0) {
  17843. goto inf_leave
  17844. }
  17845. have--
  17846. v88 = next
  17847. next++
  17848. hold += uint64(*(*uint8)(unsafe.Pointer(v88))) << bits
  17849. bits += uint32(8)
  17850. }
  17851. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  17852. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  17853. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  17854. p89 = state + 7148
  17855. *(*int32)(unsafe.Pointer(p89)) = int32(uint32(*(*int32)(unsafe.Pointer(p89))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  17856. }
  17857. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MATCH)
  17858. /* fallthrough */
  17859. _26:
  17860. ;
  17861. if left == uint32(0) {
  17862. goto inf_leave
  17863. }
  17864. copy1 = out - left
  17865. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > copy1 { /* copy from window */
  17866. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Foffset - copy1
  17867. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwhave {
  17868. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  17869. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  17870. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17871. goto _35
  17872. }
  17873. }
  17874. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwnext {
  17875. copy1 -= (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  17876. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize-copy1)
  17877. } else {
  17878. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext-copy1)
  17879. }
  17880. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  17881. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17882. }
  17883. } else { /* copy from output */
  17884. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  17885. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  17886. }
  17887. if copy1 > left {
  17888. copy1 = left
  17889. }
  17890. left -= copy1
  17891. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  17892. for {
  17893. v92 = put
  17894. put++
  17895. v93 = from
  17896. from++
  17897. *(*uint8)(unsafe.Pointer(v92)) = *(*uint8)(unsafe.Pointer(v93))
  17898. goto _91
  17899. _91:
  17900. ;
  17901. copy1--
  17902. v90 = copy1
  17903. if !(v90 != 0) {
  17904. break
  17905. }
  17906. }
  17907. if (*Tinflate_state)(unsafe.Pointer(state)).Flength == uint32(0) {
  17908. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  17909. }
  17910. goto _35
  17911. _27:
  17912. ;
  17913. if left == uint32(0) {
  17914. goto inf_leave
  17915. }
  17916. v94 = put
  17917. put++
  17918. *(*uint8)(unsafe.Pointer(v94)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  17919. left--
  17920. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  17921. goto _35
  17922. _28:
  17923. ;
  17924. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  17925. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  17926. if have == uint32(0) {
  17927. goto inf_leave
  17928. }
  17929. have--
  17930. v95 = next
  17931. next++
  17932. hold += uint64(*(*uint8)(unsafe.Pointer(v95))) << bits
  17933. bits += uint32(8)
  17934. }
  17935. out -= left
  17936. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  17937. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  17938. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  17939. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  17940. v97 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  17941. } else {
  17942. v97 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  17943. }
  17944. v96 = v97
  17945. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v96
  17946. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v96
  17947. }
  17948. out = left
  17949. if v99 = (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0; v99 {
  17950. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  17951. v98 = hold
  17952. } else {
  17953. v98 = hold>>int32(24)&uint64(0xff) + hold>>int32(8)&uint64(0xff00) + hold&uint64(0xff00)<<int32(8) + hold&uint64(0xff)<<int32(24)
  17954. }
  17955. }
  17956. if v99 && v98 != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  17957. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 423
  17958. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17959. goto _35
  17960. }
  17961. hold = uint64(0)
  17962. bits = uint32(0)
  17963. }
  17964. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENGTH)
  17965. /* fallthrough */
  17966. _29:
  17967. ;
  17968. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  17969. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  17970. if have == uint32(0) {
  17971. goto inf_leave
  17972. }
  17973. have--
  17974. v100 = next
  17975. next++
  17976. hold += uint64(*(*uint8)(unsafe.Pointer(v100))) << bits
  17977. bits += uint32(8)
  17978. }
  17979. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Ftotal&uint64(0xffffffff) {
  17980. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 444
  17981. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  17982. goto _35
  17983. }
  17984. hold = uint64(0)
  17985. bits = uint32(0)
  17986. }
  17987. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  17988. /* fallthrough */
  17989. _30:
  17990. ;
  17991. ret = int32(m_Z_STREAM_END)
  17992. goto inf_leave
  17993. _31:
  17994. ;
  17995. ret = -int32(3)
  17996. goto inf_leave
  17997. _32:
  17998. ;
  17999. return -int32(4)
  18000. _34:
  18001. ;
  18002. /* fallthrough */
  18003. _33:
  18004. ;
  18005. return -int32(2)
  18006. _35:
  18007. ;
  18008. goto _1
  18009. _1:
  18010. }
  18011. /*
  18012. Return from inflate(), updating the total counts and the check value.
  18013. If there was no progress during the inflate() call, return a buffer
  18014. error. Call updatewindow() to create and/or update the window state.
  18015. Note: a memory error from inflate() is non-recoverable.
  18016. */
  18017. goto inf_leave
  18018. inf_leave:
  18019. ;
  18020. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  18021. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  18022. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  18023. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  18024. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  18025. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  18026. 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)) {
  18027. if _updatewindow(tls, strm, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, out-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out) != 0 {
  18028. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  18029. return -int32(4)
  18030. }
  18031. }
  18032. in -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  18033. out -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  18034. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(in)
  18035. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  18036. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  18037. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  18038. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  18039. v102 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  18040. } else {
  18041. v102 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  18042. }
  18043. v101 = v102
  18044. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v101
  18045. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v101
  18046. }
  18047. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  18048. v103 = int32(64)
  18049. } else {
  18050. v103 = 0
  18051. }
  18052. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  18053. v104 = int32(128)
  18054. } else {
  18055. v104 = 0
  18056. }
  18057. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_LEN_) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY_) {
  18058. v105 = int32(256)
  18059. } else {
  18060. v105 = 0
  18061. }
  18062. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = libc.Int32FromUint32((*Tinflate_state)(unsafe.Pointer(state)).Fbits) + v103 + v104 + v105
  18063. if (in == uint32(0) && out == uint32(0) || flush == int32(m_Z_FINISH)) && ret == m_Z_OK {
  18064. ret = -int32(5)
  18065. }
  18066. return ret
  18067. }
  18068. var _order1 = [19]uint16{
  18069. 0: uint16(16),
  18070. 1: uint16(17),
  18071. 2: uint16(18),
  18072. 4: uint16(8),
  18073. 5: uint16(7),
  18074. 6: uint16(9),
  18075. 7: uint16(6),
  18076. 8: uint16(10),
  18077. 9: uint16(5),
  18078. 10: uint16(11),
  18079. 11: uint16(4),
  18080. 12: uint16(12),
  18081. 13: uint16(3),
  18082. 14: uint16(13),
  18083. 15: uint16(2),
  18084. 16: uint16(14),
  18085. 17: uint16(1),
  18086. 18: uint16(15),
  18087. }
  18088. func XinflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  18089. var state uintptr
  18090. _ = state
  18091. if _inflateStateCheck(tls, strm) != 0 {
  18092. return -int32(2)
  18093. }
  18094. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  18095. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  18096. (*(*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)
  18097. }
  18098. (*(*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)
  18099. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  18100. return m_Z_OK
  18101. }
  18102. func XinflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  18103. var state uintptr
  18104. _ = state
  18105. /* check state */
  18106. if _inflateStateCheck(tls, strm) != 0 {
  18107. return -int32(2)
  18108. }
  18109. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  18110. /* copy dictionary */
  18111. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave != 0 && dictionary != uintptr(m_Z_NULL) {
  18112. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  18113. libc.X__builtin___memcpy_chk(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), ^t__predefined_size_t(0))
  18114. }
  18115. if dictLength != uintptr(m_Z_NULL) {
  18116. *(*TuInt)(unsafe.Pointer(dictLength)) = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  18117. }
  18118. return m_Z_OK
  18119. }
  18120. func XinflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  18121. var dictid uint64
  18122. var ret int32
  18123. var state uintptr
  18124. _, _, _ = dictid, ret, state
  18125. /* check state */
  18126. if _inflateStateCheck(tls, strm) != 0 {
  18127. return -int32(2)
  18128. }
  18129. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  18130. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_DICT) {
  18131. return -int32(2)
  18132. }
  18133. /* check for correct dictionary identifier */
  18134. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_DICT) {
  18135. dictid = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  18136. dictid = Xadler32(tls, dictid, dictionary, dictLength)
  18137. if dictid != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  18138. return -int32(3)
  18139. }
  18140. }
  18141. /* copy dictionary to window using updatewindow(), which will amend the
  18142. existing dictionary if appropriate */
  18143. ret = _updatewindow(tls, strm, dictionary+uintptr(dictLength), dictLength)
  18144. if ret != 0 {
  18145. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  18146. return -int32(4)
  18147. }
  18148. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = int32(1)
  18149. return m_Z_OK
  18150. }
  18151. func XinflateGetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  18152. var state uintptr
  18153. _ = state
  18154. /* check state */
  18155. if _inflateStateCheck(tls, strm) != 0 {
  18156. return -int32(2)
  18157. }
  18158. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  18159. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) == 0 {
  18160. return -int32(2)
  18161. }
  18162. /* save header structure */
  18163. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = head
  18164. (*Tgz_header)(unsafe.Pointer(head)).Fdone = 0
  18165. return m_Z_OK
  18166. }
  18167. // C documentation
  18168. //
  18169. // /*
  18170. // Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found
  18171. // or when out of input. When called, *have is the number of pattern bytes
  18172. // found in order so far, in 0..3. On return *have is updated to the new
  18173. // state. If on return *have equals four, then the pattern was found and the
  18174. // return value is how many bytes were read including the last byte of the
  18175. // pattern. If *have is less than four, then the pattern has not been found
  18176. // yet and the return value is len. In the latter case, syncsearch() can be
  18177. // called again with more data and the *have state. *have is initialized to
  18178. // zero for the first call.
  18179. // */
  18180. func _syncsearch(tls *libc.TLS, have uintptr, buf uintptr, len1 uint32) (r uint32) {
  18181. var got, next uint32
  18182. var v1 int32
  18183. _, _, _ = got, next, v1
  18184. got = *(*uint32)(unsafe.Pointer(have))
  18185. next = uint32(0)
  18186. for next < len1 && got < uint32(4) {
  18187. if got < uint32(2) {
  18188. v1 = 0
  18189. } else {
  18190. v1 = int32(0xff)
  18191. }
  18192. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(buf + uintptr(next)))) == v1 {
  18193. got++
  18194. } else {
  18195. if *(*uint8)(unsafe.Pointer(buf + uintptr(next))) != 0 {
  18196. got = uint32(0)
  18197. } else {
  18198. got = uint32(4) - got
  18199. }
  18200. }
  18201. next++
  18202. }
  18203. *(*uint32)(unsafe.Pointer(have)) = got
  18204. return next
  18205. }
  18206. func XinflateSync(tls *libc.TLS, strm Tz_streamp) (r int32) {
  18207. bp := tls.Alloc(16)
  18208. defer tls.Free(16)
  18209. var flags int32
  18210. var in, out uint64
  18211. var len1, v1 uint32
  18212. var state uintptr
  18213. var _ /* buf at bp+0 */ [4]uint8
  18214. _, _, _, _, _, _ = flags, in, len1, out, state, v1
  18215. /* check parameters */
  18216. if _inflateStateCheck(tls, strm) != 0 {
  18217. return -int32(2)
  18218. }
  18219. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  18220. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits < uint32(8) {
  18221. return -int32(5)
  18222. }
  18223. /* if first time, start search in bit buffer */
  18224. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_SYNC) {
  18225. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_SYNC)
  18226. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7))
  18227. *(*uint32)(unsafe.Pointer(state + 88)) -= (*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7)
  18228. len1 = uint32(0)
  18229. for (*Tinflate_state)(unsafe.Pointer(state)).Fbits >= uint32(8) {
  18230. v1 = len1
  18231. len1++
  18232. (*(*[4]uint8)(unsafe.Pointer(bp)))[v1] = uint8((*Tinflate_state)(unsafe.Pointer(state)).Fhold)
  18233. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64(8)
  18234. *(*uint32)(unsafe.Pointer(state + 88)) -= uint32(8)
  18235. }
  18236. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  18237. _syncsearch(tls, state+140, bp, len1)
  18238. }
  18239. /* search available input */
  18240. len1 = _syncsearch(tls, state+140, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, (*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
  18241. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  18242. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  18243. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  18244. /* return no joy or set up to restart inflate() on a new block */
  18245. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave != uint32(4) {
  18246. return -int32(3)
  18247. }
  18248. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags == -int32(1) {
  18249. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = 0
  18250. } else {
  18251. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  18252. } /* no point in computing a check value now */
  18253. flags = (*Tinflate_state)(unsafe.Pointer(state)).Fflags
  18254. in = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in
  18255. out = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out
  18256. XinflateReset(tls, strm)
  18257. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = in
  18258. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = out
  18259. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = flags
  18260. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  18261. return m_Z_OK
  18262. }
  18263. // C documentation
  18264. //
  18265. // /*
  18266. // Returns true if inflate is currently at the end of a block generated by
  18267. // Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
  18268. // implementation to provide an additional safety check. PPP uses
  18269. // Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored
  18270. // block. When decompressing, PPP checks that at the end of input packet,
  18271. // inflate is waiting for these length bytes.
  18272. // */
  18273. func XinflateSyncPoint(tls *libc.TLS, strm Tz_streamp) (r int32) {
  18274. var state uintptr
  18275. _ = state
  18276. if _inflateStateCheck(tls, strm) != 0 {
  18277. return -int32(2)
  18278. }
  18279. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  18280. return libc.BoolInt32((*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_STORED) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits == uint32(0))
  18281. }
  18282. func XinflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  18283. var copy1, state, window uintptr
  18284. var wsize uint32
  18285. _, _, _, _ = copy1, state, window, wsize
  18286. /* check input */
  18287. if _inflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  18288. return -int32(2)
  18289. }
  18290. state = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  18291. /* allocate space */
  18292. 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)))
  18293. if copy1 == uintptr(m_Z_NULL) {
  18294. return -int32(4)
  18295. }
  18296. window = uintptr(m_Z_NULL)
  18297. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  18298. 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)))
  18299. if window == uintptr(m_Z_NULL) {
  18300. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, copy1)
  18301. return -int32(4)
  18302. }
  18303. }
  18304. /* copy state */
  18305. libc.X__builtin___memcpy_chk(tls, dest, source, uint64(112), ^t__predefined_size_t(0))
  18306. libc.X__builtin___memcpy_chk(tls, copy1, state, uint64(7160), ^t__predefined_size_t(0))
  18307. (*Tinflate_state)(unsafe.Pointer(copy1)).Fstrm = dest
  18308. 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 {
  18309. (*Tinflate_state)(unsafe.Pointer(copy1)).Flencode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Flencode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  18310. (*Tinflate_state)(unsafe.Pointer(copy1)).Fdistcode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  18311. }
  18312. (*Tinflate_state)(unsafe.Pointer(copy1)).Fnext = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext)-t__predefined_ptrdiff_t(state+1368))/4)*4
  18313. if window != uintptr(m_Z_NULL) {
  18314. wsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  18315. libc.X__builtin___memcpy_chk(tls, window, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64(wsize), ^t__predefined_size_t(0))
  18316. }
  18317. (*Tinflate_state)(unsafe.Pointer(copy1)).Fwindow = window
  18318. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = copy1
  18319. return m_Z_OK
  18320. }
  18321. func XinflateUndermine(tls *libc.TLS, strm Tz_streamp, subvert int32) (r int32) {
  18322. var state uintptr
  18323. _ = state
  18324. if _inflateStateCheck(tls, strm) != 0 {
  18325. return -int32(2)
  18326. }
  18327. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  18328. _ = subvert
  18329. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  18330. return -int32(3)
  18331. }
  18332. func XinflateValidate(tls *libc.TLS, strm Tz_streamp, check int32) (r int32) {
  18333. var state uintptr
  18334. _ = state
  18335. if _inflateStateCheck(tls, strm) != 0 {
  18336. return -int32(2)
  18337. }
  18338. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  18339. if check != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  18340. *(*int32)(unsafe.Pointer(state + 16)) |= int32(4)
  18341. } else {
  18342. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  18343. }
  18344. return m_Z_OK
  18345. }
  18346. func XinflateMark(tls *libc.TLS, strm Tz_streamp) (r int64) {
  18347. var state uintptr
  18348. var v1, v2 uint32
  18349. _, _, _ = state, v1, v2
  18350. if _inflateStateCheck(tls, strm) != 0 {
  18351. return -(libc.Int64FromInt64(1) << libc.Int32FromInt32(16))
  18352. }
  18353. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  18354. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY) {
  18355. v1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  18356. } else {
  18357. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_MATCH) {
  18358. v2 = (*Tinflate_state)(unsafe.Pointer(state)).Fwas - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  18359. } else {
  18360. v2 = uint32(0)
  18361. }
  18362. v1 = v2
  18363. }
  18364. return libc.Int64FromUint64(libc.Uint64FromInt64(int64((*Tinflate_state)(unsafe.Pointer(state)).Fback))<<libc.Int32FromInt32(16)) + libc.Int64FromUint32(v1)
  18365. }
  18366. func XinflateCodesUsed(tls *libc.TLS, strm Tz_streamp) (r uint64) {
  18367. var state uintptr
  18368. _ = state
  18369. if _inflateStateCheck(tls, strm) != 0 {
  18370. return libc.Uint64FromInt32(-libc.Int32FromInt32(1))
  18371. }
  18372. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  18373. return libc.Uint64FromInt64((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext) - t__predefined_ptrdiff_t(state+1368)) / 4)
  18374. }
  18375. const m_MAXBITS = 15
  18376. /*
  18377. If you use the zlib library in a product, an acknowledgment is welcome
  18378. in the documentation of your product. If for some reason you cannot
  18379. include such an acknowledgment, I would appreciate that you keep this
  18380. copyright string in the executable of your product.
  18381. */
  18382. // C documentation
  18383. //
  18384. // /*
  18385. // Build a set of tables to decode the provided canonical Huffman code.
  18386. // The code lengths are lens[0..codes-1]. The result starts at *table,
  18387. // whose indices are 0..2^bits-1. work is a writable array of at least
  18388. // lens shorts, which is used as a work area. type is the type of code
  18389. // to be generated, CODES, LENS, or DISTS. On return, zero is success,
  18390. // -1 is an invalid code, and +1 means that ENOUGH isn't enough. table
  18391. // on return points to the next available entry's address. bits is the
  18392. // requested root table index bits, and on return it is the actual root
  18393. // table index bits. It will differ if the request is greater than the
  18394. // longest code or if it is less than the shortest code.
  18395. // */
  18396. func Xinflate_table(tls *libc.TLS, type1 Tcodetype, lens uintptr, codes uint32, table uintptr, bits uintptr, work uintptr) (r int32) {
  18397. bp := tls.Alloc(64)
  18398. defer tls.Free(64)
  18399. var base, extra, next, v13, v14, v17, v4, v5, v6, v7 uintptr
  18400. var curr, drop, fill, huff, incr, len1, low, mask, match, max, min, root, sym, used uint32
  18401. var here Tcode
  18402. var left int32
  18403. var v12, v16 uint16
  18404. var _ /* count at bp+0 */ [16]uint16
  18405. var _ /* offs at bp+32 */ [16]uint16
  18406. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  18407. /*
  18408. Process a set of code lengths to create a canonical Huffman code. The
  18409. code lengths are lens[0..codes-1]. Each length corresponds to the
  18410. symbols 0..codes-1. The Huffman code is generated by first sorting the
  18411. symbols by length from short to long, and retaining the symbol order
  18412. for codes with equal lengths. Then the code starts with all zero bits
  18413. for the first code of the shortest length, and the codes are integer
  18414. increments for the same length, and zeros are appended as the length
  18415. increases. For the deflate format, these bits are stored backwards
  18416. from their more natural integer increment ordering, and so when the
  18417. decoding tables are built in the large loop below, the integer codes
  18418. are incremented backwards.
  18419. This routine assumes, but does not check, that all of the entries in
  18420. lens[] are in the range 0..MAXBITS. The caller must assure this.
  18421. 1..MAXBITS is interpreted as that code length. zero means that that
  18422. symbol does not occur in this code.
  18423. The codes are sorted by computing a count of codes for each length,
  18424. creating from that a table of starting indices for each length in the
  18425. sorted table, and then entering the symbols in order in the sorted
  18426. table. The sorted table is work[], with that space being provided by
  18427. the caller.
  18428. The length counts are used for other purposes as well, i.e. finding
  18429. the minimum and maximum length codes, determining if there are any
  18430. codes at all, checking for a valid set of lengths, and looking ahead
  18431. at length counts to determine sub-table sizes when building the
  18432. decoding tables.
  18433. */
  18434. /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
  18435. len1 = uint32(0)
  18436. for {
  18437. if !(len1 <= uint32(m_MAXBITS)) {
  18438. break
  18439. }
  18440. (*(*[16]uint16)(unsafe.Pointer(bp)))[len1] = uint16(0)
  18441. goto _1
  18442. _1:
  18443. ;
  18444. len1++
  18445. }
  18446. sym = uint32(0)
  18447. for {
  18448. if !(sym < codes) {
  18449. break
  18450. }
  18451. (*(*[16]uint16)(unsafe.Pointer(bp)))[*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))]++
  18452. goto _2
  18453. _2:
  18454. ;
  18455. sym++
  18456. }
  18457. /* bound code lengths, force root to be within code lengths */
  18458. root = *(*uint32)(unsafe.Pointer(bits))
  18459. max = uint32(m_MAXBITS)
  18460. for {
  18461. if !(max >= uint32(1)) {
  18462. break
  18463. }
  18464. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[max]) != 0 {
  18465. break
  18466. }
  18467. goto _3
  18468. _3:
  18469. ;
  18470. max--
  18471. }
  18472. if root > max {
  18473. root = max
  18474. }
  18475. if max == uint32(0) { /* no symbols to code at all */
  18476. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  18477. here.Fbits = libc.Uint8FromInt32(1)
  18478. here.Fval = libc.Uint16FromInt32(0)
  18479. v5 = table
  18480. v4 = *(*uintptr)(unsafe.Pointer(v5))
  18481. *(*uintptr)(unsafe.Pointer(v5)) += 4
  18482. *(*Tcode)(unsafe.Pointer(v4)) = here /* make a table to force an error */
  18483. v7 = table
  18484. v6 = *(*uintptr)(unsafe.Pointer(v7))
  18485. *(*uintptr)(unsafe.Pointer(v7)) += 4
  18486. *(*Tcode)(unsafe.Pointer(v6)) = here
  18487. *(*uint32)(unsafe.Pointer(bits)) = uint32(1)
  18488. return 0 /* no symbols, but wait for decoding to report error */
  18489. }
  18490. min = uint32(1)
  18491. for {
  18492. if !(min < max) {
  18493. break
  18494. }
  18495. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[min]) != 0 {
  18496. break
  18497. }
  18498. goto _8
  18499. _8:
  18500. ;
  18501. min++
  18502. }
  18503. if root < min {
  18504. root = min
  18505. }
  18506. /* check for an over-subscribed or incomplete set of lengths */
  18507. left = int32(1)
  18508. len1 = uint32(1)
  18509. for {
  18510. if !(len1 <= uint32(m_MAXBITS)) {
  18511. break
  18512. }
  18513. left <<= int32(1)
  18514. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1])
  18515. if left < 0 {
  18516. return -int32(1)
  18517. } /* over-subscribed */
  18518. goto _9
  18519. _9:
  18520. ;
  18521. len1++
  18522. }
  18523. if left > 0 && (type1 == int32(_CODES) || max != uint32(1)) {
  18524. return -int32(1)
  18525. } /* incomplete set */
  18526. /* generate offsets into symbol table for each length for sorting */
  18527. (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[int32(1)] = uint16(0)
  18528. len1 = uint32(1)
  18529. for {
  18530. if !(len1 < uint32(m_MAXBITS)) {
  18531. break
  18532. }
  18533. (*(*[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]))
  18534. goto _10
  18535. _10:
  18536. ;
  18537. len1++
  18538. }
  18539. /* sort symbols by length, by symbol order within each length */
  18540. sym = uint32(0)
  18541. for {
  18542. if !(sym < codes) {
  18543. break
  18544. }
  18545. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))) != 0 {
  18546. v13 = bp + 32 + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2
  18547. v12 = *(*uint16)(unsafe.Pointer(v13))
  18548. *(*uint16)(unsafe.Pointer(v13))++
  18549. *(*uint16)(unsafe.Pointer(work + uintptr(v12)*2)) = uint16(sym)
  18550. }
  18551. goto _11
  18552. _11:
  18553. ;
  18554. sym++
  18555. }
  18556. /*
  18557. Create and fill in decoding tables. In this loop, the table being
  18558. filled is at next and has curr index bits. The code being used is huff
  18559. with length len. That code is converted to an index by dropping drop
  18560. bits off of the bottom. For codes where len is less than drop + curr,
  18561. those top drop + curr - len bits are incremented through all values to
  18562. fill the table with replicated entries.
  18563. root is the number of index bits for the root table. When len exceeds
  18564. root, sub-tables are created pointed to by the root entry with an index
  18565. of the low root bits of huff. This is saved in low to check for when a
  18566. new sub-table should be started. drop is zero when the root table is
  18567. being filled, and drop is root when sub-tables are being filled.
  18568. When a new sub-table is needed, it is necessary to look ahead in the
  18569. code lengths to determine what size sub-table is needed. The length
  18570. counts are used for this, and so count[] is decremented as codes are
  18571. entered in the tables.
  18572. used keeps track of how many table entries have been allocated from the
  18573. provided *table space. It is checked for LENS and DIST tables against
  18574. the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
  18575. the initial root table size constants. See the comments in inftrees.h
  18576. for more information.
  18577. sym increments through all symbols, and the loop terminates when
  18578. all codes of length max, i.e. all codes, have been processed. This
  18579. routine permits incomplete codes, so another loop after this one fills
  18580. in the rest of the decoding tables with invalid code markers.
  18581. */
  18582. /* set up for code type */
  18583. switch type1 {
  18584. case int32(_CODES):
  18585. v14 = work
  18586. extra = v14
  18587. base = v14 /* dummy value--not used */
  18588. match = uint32(20)
  18589. case int32(_LENS):
  18590. base = uintptr(unsafe.Pointer(&_lbase))
  18591. extra = uintptr(unsafe.Pointer(&_lext))
  18592. match = uint32(257)
  18593. default: /* DISTS */
  18594. base = uintptr(unsafe.Pointer(&_dbase))
  18595. extra = uintptr(unsafe.Pointer(&_dext))
  18596. match = uint32(0)
  18597. }
  18598. /* initialize state for loop */
  18599. huff = uint32(0) /* starting code */
  18600. sym = uint32(0) /* starting code symbol */
  18601. len1 = min /* starting code length */
  18602. next = *(*uintptr)(unsafe.Pointer(table)) /* current table to fill in */
  18603. curr = root /* current table index bits */
  18604. drop = uint32(0) /* current bits to drop from code for index */
  18605. low = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* trigger new sub-table when len > root */
  18606. used = uint32(1) << root /* use root table entries */
  18607. mask = used - uint32(1) /* mask for comparing low */
  18608. /* check available table space */
  18609. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  18610. return int32(1)
  18611. }
  18612. /* process all codes and make table entries */
  18613. for {
  18614. /* create table entry */
  18615. here.Fbits = uint8(len1 - drop)
  18616. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))+uint32(1) < match {
  18617. here.Fop = libc.Uint8FromInt32(0)
  18618. here.Fval = *(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))
  18619. } else {
  18620. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))) >= match {
  18621. here.Fop = uint8(*(*uint16)(unsafe.Pointer(extra + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2)))
  18622. here.Fval = *(*uint16)(unsafe.Pointer(base + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2))
  18623. } else {
  18624. here.Fop = libc.Uint8FromInt32(libc.Int32FromInt32(32) + libc.Int32FromInt32(64)) /* end of block */
  18625. here.Fval = uint16(0)
  18626. }
  18627. }
  18628. /* replicate for those indices with low len bits equal to huff */
  18629. incr = uint32(1) << (len1 - drop)
  18630. fill = uint32(1) << curr
  18631. min = fill /* save offset to next table */
  18632. for cond := true; cond; cond = fill != uint32(0) {
  18633. fill -= incr
  18634. *(*Tcode)(unsafe.Pointer(next + uintptr(huff>>drop+fill)*4)) = here
  18635. }
  18636. /* backwards increment the len-bit code huff */
  18637. incr = uint32(1) << (len1 - uint32(1))
  18638. for huff&incr != 0 {
  18639. incr >>= uint32(1)
  18640. }
  18641. if incr != uint32(0) {
  18642. huff &= incr - uint32(1)
  18643. huff += incr
  18644. } else {
  18645. huff = uint32(0)
  18646. }
  18647. /* go to next symbol, update count, len */
  18648. sym++
  18649. v17 = bp + uintptr(len1)*2
  18650. *(*uint16)(unsafe.Pointer(v17))--
  18651. v16 = *(*uint16)(unsafe.Pointer(v17))
  18652. if libc.Int32FromUint16(v16) == 0 {
  18653. if len1 == max {
  18654. break
  18655. }
  18656. len1 = uint32(*(*uint16)(unsafe.Pointer(lens + uintptr(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))*2)))
  18657. }
  18658. /* create new sub-table if needed */
  18659. if len1 > root && huff&mask != low {
  18660. /* if first time, transition to sub-tables */
  18661. if drop == uint32(0) {
  18662. drop = root
  18663. }
  18664. /* increment past last table */
  18665. next += uintptr(min) * 4 /* here min is 1 << curr */
  18666. /* determine length of next table */
  18667. curr = len1 - drop
  18668. left = libc.Int32FromInt32(1) << curr
  18669. for curr+drop < max {
  18670. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[curr+drop])
  18671. if left <= 0 {
  18672. break
  18673. }
  18674. curr++
  18675. left <<= int32(1)
  18676. }
  18677. /* check for enough space */
  18678. used += uint32(1) << curr
  18679. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  18680. return int32(1)
  18681. }
  18682. /* point entry in root table to sub-table */
  18683. low = huff & mask
  18684. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fop = uint8(curr)
  18685. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fbits = uint8(root)
  18686. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fval = libc.Uint16FromInt64((int64(next) - int64(*(*uintptr)(unsafe.Pointer(table)))) / 4)
  18687. }
  18688. goto _15
  18689. _15:
  18690. }
  18691. /* fill in remaining table entry if code is incomplete (guaranteed to have
  18692. at most one remaining entry, since if the code is incomplete, the
  18693. maximum code length that was allowed to get this far is one bit) */
  18694. if huff != uint32(0) {
  18695. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  18696. here.Fbits = uint8(len1 - drop)
  18697. here.Fval = libc.Uint16FromInt32(0)
  18698. *(*Tcode)(unsafe.Pointer(next + uintptr(huff)*4)) = here
  18699. }
  18700. /* set return parameters */
  18701. *(*uintptr)(unsafe.Pointer(table)) += uintptr(used) * 4
  18702. *(*uint32)(unsafe.Pointer(bits)) = root
  18703. return 0
  18704. }
  18705. var _lbase = [31]uint16{
  18706. 0: uint16(3),
  18707. 1: uint16(4),
  18708. 2: uint16(5),
  18709. 3: uint16(6),
  18710. 4: uint16(7),
  18711. 5: uint16(8),
  18712. 6: uint16(9),
  18713. 7: uint16(10),
  18714. 8: uint16(11),
  18715. 9: uint16(13),
  18716. 10: uint16(15),
  18717. 11: uint16(17),
  18718. 12: uint16(19),
  18719. 13: uint16(23),
  18720. 14: uint16(27),
  18721. 15: uint16(31),
  18722. 16: uint16(35),
  18723. 17: uint16(43),
  18724. 18: uint16(51),
  18725. 19: uint16(59),
  18726. 20: uint16(67),
  18727. 21: uint16(83),
  18728. 22: uint16(99),
  18729. 23: uint16(115),
  18730. 24: uint16(131),
  18731. 25: uint16(163),
  18732. 26: uint16(195),
  18733. 27: uint16(227),
  18734. 28: uint16(258),
  18735. }
  18736. var _lext = [31]uint16{
  18737. 0: uint16(16),
  18738. 1: uint16(16),
  18739. 2: uint16(16),
  18740. 3: uint16(16),
  18741. 4: uint16(16),
  18742. 5: uint16(16),
  18743. 6: uint16(16),
  18744. 7: uint16(16),
  18745. 8: uint16(17),
  18746. 9: uint16(17),
  18747. 10: uint16(17),
  18748. 11: uint16(17),
  18749. 12: uint16(18),
  18750. 13: uint16(18),
  18751. 14: uint16(18),
  18752. 15: uint16(18),
  18753. 16: uint16(19),
  18754. 17: uint16(19),
  18755. 18: uint16(19),
  18756. 19: uint16(19),
  18757. 20: uint16(20),
  18758. 21: uint16(20),
  18759. 22: uint16(20),
  18760. 23: uint16(20),
  18761. 24: uint16(21),
  18762. 25: uint16(21),
  18763. 26: uint16(21),
  18764. 27: uint16(21),
  18765. 28: uint16(16),
  18766. 29: uint16(203),
  18767. 30: uint16(77),
  18768. }
  18769. var _dbase = [32]uint16{
  18770. 0: uint16(1),
  18771. 1: uint16(2),
  18772. 2: uint16(3),
  18773. 3: uint16(4),
  18774. 4: uint16(5),
  18775. 5: uint16(7),
  18776. 6: uint16(9),
  18777. 7: uint16(13),
  18778. 8: uint16(17),
  18779. 9: uint16(25),
  18780. 10: uint16(33),
  18781. 11: uint16(49),
  18782. 12: uint16(65),
  18783. 13: uint16(97),
  18784. 14: uint16(129),
  18785. 15: uint16(193),
  18786. 16: uint16(257),
  18787. 17: uint16(385),
  18788. 18: uint16(513),
  18789. 19: uint16(769),
  18790. 20: uint16(1025),
  18791. 21: uint16(1537),
  18792. 22: uint16(2049),
  18793. 23: uint16(3073),
  18794. 24: uint16(4097),
  18795. 25: uint16(6145),
  18796. 26: uint16(8193),
  18797. 27: uint16(12289),
  18798. 28: uint16(16385),
  18799. 29: uint16(24577),
  18800. }
  18801. var _dext = [32]uint16{
  18802. 0: uint16(16),
  18803. 1: uint16(16),
  18804. 2: uint16(16),
  18805. 3: uint16(16),
  18806. 4: uint16(17),
  18807. 5: uint16(17),
  18808. 6: uint16(18),
  18809. 7: uint16(18),
  18810. 8: uint16(19),
  18811. 9: uint16(19),
  18812. 10: uint16(20),
  18813. 11: uint16(20),
  18814. 12: uint16(21),
  18815. 13: uint16(21),
  18816. 14: uint16(22),
  18817. 15: uint16(22),
  18818. 16: uint16(23),
  18819. 17: uint16(23),
  18820. 18: uint16(24),
  18821. 19: uint16(24),
  18822. 20: uint16(25),
  18823. 21: uint16(25),
  18824. 22: uint16(26),
  18825. 23: uint16(26),
  18826. 24: uint16(27),
  18827. 25: uint16(27),
  18828. 26: uint16(28),
  18829. 27: uint16(28),
  18830. 28: uint16(29),
  18831. 29: uint16(29),
  18832. 30: uint16(64),
  18833. 31: uint16(64),
  18834. }
  18835. const m_DIST_CODE_LEN = 512
  18836. const m_END_BLOCK = 256
  18837. const m_MAX_BL_BITS = 7
  18838. const m_REPZ_11_138 = 18
  18839. const m_REPZ_3_10 = 17
  18840. const m_REP_3_6 = 16
  18841. const m_SMALLEST = 1
  18842. const m_TCONST = "const"
  18843. type Tstatic_tree_desc = struct {
  18844. Fstatic_tree uintptr
  18845. Fextra_bits uintptr
  18846. Fextra_base int32
  18847. Felems int32
  18848. Fmax_length int32
  18849. }
  18850. type Tstatic_tree_desc_s = Tstatic_tree_desc
  18851. /* ===========================================================================
  18852. * Constants
  18853. */
  18854. /* Bit length codes must not exceed MAX_BL_BITS bits */
  18855. /* end of block literal code */
  18856. /* repeat previous bit length 3-6 times (2 bits of repeat count) */
  18857. /* repeat a zero length 3-10 times (3 bits of repeat count) */
  18858. /* repeat a zero length 11-138 times (7 bits of repeat count) */
  18859. var _extra_lbits = [29]int32{
  18860. 8: int32(1),
  18861. 9: int32(1),
  18862. 10: int32(1),
  18863. 11: int32(1),
  18864. 12: int32(2),
  18865. 13: int32(2),
  18866. 14: int32(2),
  18867. 15: int32(2),
  18868. 16: int32(3),
  18869. 17: int32(3),
  18870. 18: int32(3),
  18871. 19: int32(3),
  18872. 20: int32(4),
  18873. 21: int32(4),
  18874. 22: int32(4),
  18875. 23: int32(4),
  18876. 24: int32(5),
  18877. 25: int32(5),
  18878. 26: int32(5),
  18879. 27: int32(5),
  18880. }
  18881. var _extra_dbits = [30]int32{
  18882. 4: int32(1),
  18883. 5: int32(1),
  18884. 6: int32(2),
  18885. 7: int32(2),
  18886. 8: int32(3),
  18887. 9: int32(3),
  18888. 10: int32(4),
  18889. 11: int32(4),
  18890. 12: int32(5),
  18891. 13: int32(5),
  18892. 14: int32(6),
  18893. 15: int32(6),
  18894. 16: int32(7),
  18895. 17: int32(7),
  18896. 18: int32(8),
  18897. 19: int32(8),
  18898. 20: int32(9),
  18899. 21: int32(9),
  18900. 22: int32(10),
  18901. 23: int32(10),
  18902. 24: int32(11),
  18903. 25: int32(11),
  18904. 26: int32(12),
  18905. 27: int32(12),
  18906. 28: int32(13),
  18907. 29: int32(13),
  18908. }
  18909. var _extra_blbits = [19]int32{
  18910. 16: int32(2),
  18911. 17: int32(3),
  18912. 18: int32(7),
  18913. }
  18914. var _bl_order = [19]Tuch{
  18915. 0: uint8(16),
  18916. 1: uint8(17),
  18917. 2: uint8(18),
  18918. 4: uint8(8),
  18919. 5: uint8(7),
  18920. 6: uint8(9),
  18921. 7: uint8(6),
  18922. 8: uint8(10),
  18923. 9: uint8(5),
  18924. 10: uint8(11),
  18925. 11: uint8(4),
  18926. 12: uint8(12),
  18927. 13: uint8(3),
  18928. 14: uint8(13),
  18929. 15: uint8(2),
  18930. 16: uint8(14),
  18931. 17: uint8(1),
  18932. 18: uint8(15),
  18933. }
  18934. var _static_ltree = [288]Tct_data{
  18935. 0: {
  18936. Ffc: *(*struct {
  18937. Fcode [0]Tush
  18938. Ffreq Tush
  18939. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  18940. Fdl: *(*struct {
  18941. Flen1 [0]Tush
  18942. Fdad Tush
  18943. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18944. },
  18945. 1: {
  18946. Ffc: *(*struct {
  18947. Fcode [0]Tush
  18948. Ffreq Tush
  18949. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(140)})),
  18950. Fdl: *(*struct {
  18951. Flen1 [0]Tush
  18952. Fdad Tush
  18953. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18954. },
  18955. 2: {
  18956. Ffc: *(*struct {
  18957. Fcode [0]Tush
  18958. Ffreq Tush
  18959. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(76)})),
  18960. Fdl: *(*struct {
  18961. Flen1 [0]Tush
  18962. Fdad Tush
  18963. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18964. },
  18965. 3: {
  18966. Ffc: *(*struct {
  18967. Fcode [0]Tush
  18968. Ffreq Tush
  18969. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(204)})),
  18970. Fdl: *(*struct {
  18971. Flen1 [0]Tush
  18972. Fdad Tush
  18973. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18974. },
  18975. 4: {
  18976. Ffc: *(*struct {
  18977. Fcode [0]Tush
  18978. Ffreq Tush
  18979. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(44)})),
  18980. Fdl: *(*struct {
  18981. Flen1 [0]Tush
  18982. Fdad Tush
  18983. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18984. },
  18985. 5: {
  18986. Ffc: *(*struct {
  18987. Fcode [0]Tush
  18988. Ffreq Tush
  18989. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(172)})),
  18990. Fdl: *(*struct {
  18991. Flen1 [0]Tush
  18992. Fdad Tush
  18993. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18994. },
  18995. 6: {
  18996. Ffc: *(*struct {
  18997. Fcode [0]Tush
  18998. Ffreq Tush
  18999. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(108)})),
  19000. Fdl: *(*struct {
  19001. Flen1 [0]Tush
  19002. Fdad Tush
  19003. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19004. },
  19005. 7: {
  19006. Ffc: *(*struct {
  19007. Fcode [0]Tush
  19008. Ffreq Tush
  19009. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(236)})),
  19010. Fdl: *(*struct {
  19011. Flen1 [0]Tush
  19012. Fdad Tush
  19013. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19014. },
  19015. 8: {
  19016. Ffc: *(*struct {
  19017. Fcode [0]Tush
  19018. Ffreq Tush
  19019. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  19020. Fdl: *(*struct {
  19021. Flen1 [0]Tush
  19022. Fdad Tush
  19023. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19024. },
  19025. 9: {
  19026. Ffc: *(*struct {
  19027. Fcode [0]Tush
  19028. Ffreq Tush
  19029. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(156)})),
  19030. Fdl: *(*struct {
  19031. Flen1 [0]Tush
  19032. Fdad Tush
  19033. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19034. },
  19035. 10: {
  19036. Ffc: *(*struct {
  19037. Fcode [0]Tush
  19038. Ffreq Tush
  19039. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(92)})),
  19040. Fdl: *(*struct {
  19041. Flen1 [0]Tush
  19042. Fdad Tush
  19043. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19044. },
  19045. 11: {
  19046. Ffc: *(*struct {
  19047. Fcode [0]Tush
  19048. Ffreq Tush
  19049. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(220)})),
  19050. Fdl: *(*struct {
  19051. Flen1 [0]Tush
  19052. Fdad Tush
  19053. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19054. },
  19055. 12: {
  19056. Ffc: *(*struct {
  19057. Fcode [0]Tush
  19058. Ffreq Tush
  19059. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(60)})),
  19060. Fdl: *(*struct {
  19061. Flen1 [0]Tush
  19062. Fdad Tush
  19063. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19064. },
  19065. 13: {
  19066. Ffc: *(*struct {
  19067. Fcode [0]Tush
  19068. Ffreq Tush
  19069. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(188)})),
  19070. Fdl: *(*struct {
  19071. Flen1 [0]Tush
  19072. Fdad Tush
  19073. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19074. },
  19075. 14: {
  19076. Ffc: *(*struct {
  19077. Fcode [0]Tush
  19078. Ffreq Tush
  19079. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(124)})),
  19080. Fdl: *(*struct {
  19081. Flen1 [0]Tush
  19082. Fdad Tush
  19083. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19084. },
  19085. 15: {
  19086. Ffc: *(*struct {
  19087. Fcode [0]Tush
  19088. Ffreq Tush
  19089. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(252)})),
  19090. Fdl: *(*struct {
  19091. Flen1 [0]Tush
  19092. Fdad Tush
  19093. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19094. },
  19095. 16: {
  19096. Ffc: *(*struct {
  19097. Fcode [0]Tush
  19098. Ffreq Tush
  19099. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  19100. Fdl: *(*struct {
  19101. Flen1 [0]Tush
  19102. Fdad Tush
  19103. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19104. },
  19105. 17: {
  19106. Ffc: *(*struct {
  19107. Fcode [0]Tush
  19108. Ffreq Tush
  19109. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(130)})),
  19110. Fdl: *(*struct {
  19111. Flen1 [0]Tush
  19112. Fdad Tush
  19113. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19114. },
  19115. 18: {
  19116. Ffc: *(*struct {
  19117. Fcode [0]Tush
  19118. Ffreq Tush
  19119. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(66)})),
  19120. Fdl: *(*struct {
  19121. Flen1 [0]Tush
  19122. Fdad Tush
  19123. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19124. },
  19125. 19: {
  19126. Ffc: *(*struct {
  19127. Fcode [0]Tush
  19128. Ffreq Tush
  19129. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(194)})),
  19130. Fdl: *(*struct {
  19131. Flen1 [0]Tush
  19132. Fdad Tush
  19133. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19134. },
  19135. 20: {
  19136. Ffc: *(*struct {
  19137. Fcode [0]Tush
  19138. Ffreq Tush
  19139. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(34)})),
  19140. Fdl: *(*struct {
  19141. Flen1 [0]Tush
  19142. Fdad Tush
  19143. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19144. },
  19145. 21: {
  19146. Ffc: *(*struct {
  19147. Fcode [0]Tush
  19148. Ffreq Tush
  19149. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(162)})),
  19150. Fdl: *(*struct {
  19151. Flen1 [0]Tush
  19152. Fdad Tush
  19153. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19154. },
  19155. 22: {
  19156. Ffc: *(*struct {
  19157. Fcode [0]Tush
  19158. Ffreq Tush
  19159. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(98)})),
  19160. Fdl: *(*struct {
  19161. Flen1 [0]Tush
  19162. Fdad Tush
  19163. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19164. },
  19165. 23: {
  19166. Ffc: *(*struct {
  19167. Fcode [0]Tush
  19168. Ffreq Tush
  19169. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(226)})),
  19170. Fdl: *(*struct {
  19171. Flen1 [0]Tush
  19172. Fdad Tush
  19173. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19174. },
  19175. 24: {
  19176. Ffc: *(*struct {
  19177. Fcode [0]Tush
  19178. Ffreq Tush
  19179. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  19180. Fdl: *(*struct {
  19181. Flen1 [0]Tush
  19182. Fdad Tush
  19183. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19184. },
  19185. 25: {
  19186. Ffc: *(*struct {
  19187. Fcode [0]Tush
  19188. Ffreq Tush
  19189. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(146)})),
  19190. Fdl: *(*struct {
  19191. Flen1 [0]Tush
  19192. Fdad Tush
  19193. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19194. },
  19195. 26: {
  19196. Ffc: *(*struct {
  19197. Fcode [0]Tush
  19198. Ffreq Tush
  19199. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(82)})),
  19200. Fdl: *(*struct {
  19201. Flen1 [0]Tush
  19202. Fdad Tush
  19203. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19204. },
  19205. 27: {
  19206. Ffc: *(*struct {
  19207. Fcode [0]Tush
  19208. Ffreq Tush
  19209. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(210)})),
  19210. Fdl: *(*struct {
  19211. Flen1 [0]Tush
  19212. Fdad Tush
  19213. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19214. },
  19215. 28: {
  19216. Ffc: *(*struct {
  19217. Fcode [0]Tush
  19218. Ffreq Tush
  19219. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(50)})),
  19220. Fdl: *(*struct {
  19221. Flen1 [0]Tush
  19222. Fdad Tush
  19223. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19224. },
  19225. 29: {
  19226. Ffc: *(*struct {
  19227. Fcode [0]Tush
  19228. Ffreq Tush
  19229. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(178)})),
  19230. Fdl: *(*struct {
  19231. Flen1 [0]Tush
  19232. Fdad Tush
  19233. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19234. },
  19235. 30: {
  19236. Ffc: *(*struct {
  19237. Fcode [0]Tush
  19238. Ffreq Tush
  19239. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(114)})),
  19240. Fdl: *(*struct {
  19241. Flen1 [0]Tush
  19242. Fdad Tush
  19243. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19244. },
  19245. 31: {
  19246. Ffc: *(*struct {
  19247. Fcode [0]Tush
  19248. Ffreq Tush
  19249. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(242)})),
  19250. Fdl: *(*struct {
  19251. Flen1 [0]Tush
  19252. Fdad Tush
  19253. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19254. },
  19255. 32: {
  19256. Ffc: *(*struct {
  19257. Fcode [0]Tush
  19258. Ffreq Tush
  19259. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  19260. Fdl: *(*struct {
  19261. Flen1 [0]Tush
  19262. Fdad Tush
  19263. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19264. },
  19265. 33: {
  19266. Ffc: *(*struct {
  19267. Fcode [0]Tush
  19268. Ffreq Tush
  19269. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(138)})),
  19270. Fdl: *(*struct {
  19271. Flen1 [0]Tush
  19272. Fdad Tush
  19273. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19274. },
  19275. 34: {
  19276. Ffc: *(*struct {
  19277. Fcode [0]Tush
  19278. Ffreq Tush
  19279. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(74)})),
  19280. Fdl: *(*struct {
  19281. Flen1 [0]Tush
  19282. Fdad Tush
  19283. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19284. },
  19285. 35: {
  19286. Ffc: *(*struct {
  19287. Fcode [0]Tush
  19288. Ffreq Tush
  19289. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(202)})),
  19290. Fdl: *(*struct {
  19291. Flen1 [0]Tush
  19292. Fdad Tush
  19293. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19294. },
  19295. 36: {
  19296. Ffc: *(*struct {
  19297. Fcode [0]Tush
  19298. Ffreq Tush
  19299. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(42)})),
  19300. Fdl: *(*struct {
  19301. Flen1 [0]Tush
  19302. Fdad Tush
  19303. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19304. },
  19305. 37: {
  19306. Ffc: *(*struct {
  19307. Fcode [0]Tush
  19308. Ffreq Tush
  19309. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(170)})),
  19310. Fdl: *(*struct {
  19311. Flen1 [0]Tush
  19312. Fdad Tush
  19313. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19314. },
  19315. 38: {
  19316. Ffc: *(*struct {
  19317. Fcode [0]Tush
  19318. Ffreq Tush
  19319. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(106)})),
  19320. Fdl: *(*struct {
  19321. Flen1 [0]Tush
  19322. Fdad Tush
  19323. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19324. },
  19325. 39: {
  19326. Ffc: *(*struct {
  19327. Fcode [0]Tush
  19328. Ffreq Tush
  19329. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(234)})),
  19330. Fdl: *(*struct {
  19331. Flen1 [0]Tush
  19332. Fdad Tush
  19333. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19334. },
  19335. 40: {
  19336. Ffc: *(*struct {
  19337. Fcode [0]Tush
  19338. Ffreq Tush
  19339. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  19340. Fdl: *(*struct {
  19341. Flen1 [0]Tush
  19342. Fdad Tush
  19343. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19344. },
  19345. 41: {
  19346. Ffc: *(*struct {
  19347. Fcode [0]Tush
  19348. Ffreq Tush
  19349. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(154)})),
  19350. Fdl: *(*struct {
  19351. Flen1 [0]Tush
  19352. Fdad Tush
  19353. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19354. },
  19355. 42: {
  19356. Ffc: *(*struct {
  19357. Fcode [0]Tush
  19358. Ffreq Tush
  19359. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(90)})),
  19360. Fdl: *(*struct {
  19361. Flen1 [0]Tush
  19362. Fdad Tush
  19363. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19364. },
  19365. 43: {
  19366. Ffc: *(*struct {
  19367. Fcode [0]Tush
  19368. Ffreq Tush
  19369. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(218)})),
  19370. Fdl: *(*struct {
  19371. Flen1 [0]Tush
  19372. Fdad Tush
  19373. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19374. },
  19375. 44: {
  19376. Ffc: *(*struct {
  19377. Fcode [0]Tush
  19378. Ffreq Tush
  19379. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(58)})),
  19380. Fdl: *(*struct {
  19381. Flen1 [0]Tush
  19382. Fdad Tush
  19383. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19384. },
  19385. 45: {
  19386. Ffc: *(*struct {
  19387. Fcode [0]Tush
  19388. Ffreq Tush
  19389. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(186)})),
  19390. Fdl: *(*struct {
  19391. Flen1 [0]Tush
  19392. Fdad Tush
  19393. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19394. },
  19395. 46: {
  19396. Ffc: *(*struct {
  19397. Fcode [0]Tush
  19398. Ffreq Tush
  19399. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(122)})),
  19400. Fdl: *(*struct {
  19401. Flen1 [0]Tush
  19402. Fdad Tush
  19403. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19404. },
  19405. 47: {
  19406. Ffc: *(*struct {
  19407. Fcode [0]Tush
  19408. Ffreq Tush
  19409. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(250)})),
  19410. Fdl: *(*struct {
  19411. Flen1 [0]Tush
  19412. Fdad Tush
  19413. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19414. },
  19415. 48: {
  19416. Ffc: *(*struct {
  19417. Fcode [0]Tush
  19418. Ffreq Tush
  19419. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  19420. Fdl: *(*struct {
  19421. Flen1 [0]Tush
  19422. Fdad Tush
  19423. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19424. },
  19425. 49: {
  19426. Ffc: *(*struct {
  19427. Fcode [0]Tush
  19428. Ffreq Tush
  19429. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(134)})),
  19430. Fdl: *(*struct {
  19431. Flen1 [0]Tush
  19432. Fdad Tush
  19433. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19434. },
  19435. 50: {
  19436. Ffc: *(*struct {
  19437. Fcode [0]Tush
  19438. Ffreq Tush
  19439. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(70)})),
  19440. Fdl: *(*struct {
  19441. Flen1 [0]Tush
  19442. Fdad Tush
  19443. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19444. },
  19445. 51: {
  19446. Ffc: *(*struct {
  19447. Fcode [0]Tush
  19448. Ffreq Tush
  19449. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(198)})),
  19450. Fdl: *(*struct {
  19451. Flen1 [0]Tush
  19452. Fdad Tush
  19453. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19454. },
  19455. 52: {
  19456. Ffc: *(*struct {
  19457. Fcode [0]Tush
  19458. Ffreq Tush
  19459. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(38)})),
  19460. Fdl: *(*struct {
  19461. Flen1 [0]Tush
  19462. Fdad Tush
  19463. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19464. },
  19465. 53: {
  19466. Ffc: *(*struct {
  19467. Fcode [0]Tush
  19468. Ffreq Tush
  19469. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(166)})),
  19470. Fdl: *(*struct {
  19471. Flen1 [0]Tush
  19472. Fdad Tush
  19473. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19474. },
  19475. 54: {
  19476. Ffc: *(*struct {
  19477. Fcode [0]Tush
  19478. Ffreq Tush
  19479. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(102)})),
  19480. Fdl: *(*struct {
  19481. Flen1 [0]Tush
  19482. Fdad Tush
  19483. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19484. },
  19485. 55: {
  19486. Ffc: *(*struct {
  19487. Fcode [0]Tush
  19488. Ffreq Tush
  19489. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(230)})),
  19490. Fdl: *(*struct {
  19491. Flen1 [0]Tush
  19492. Fdad Tush
  19493. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19494. },
  19495. 56: {
  19496. Ffc: *(*struct {
  19497. Fcode [0]Tush
  19498. Ffreq Tush
  19499. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  19500. Fdl: *(*struct {
  19501. Flen1 [0]Tush
  19502. Fdad Tush
  19503. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19504. },
  19505. 57: {
  19506. Ffc: *(*struct {
  19507. Fcode [0]Tush
  19508. Ffreq Tush
  19509. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(150)})),
  19510. Fdl: *(*struct {
  19511. Flen1 [0]Tush
  19512. Fdad Tush
  19513. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19514. },
  19515. 58: {
  19516. Ffc: *(*struct {
  19517. Fcode [0]Tush
  19518. Ffreq Tush
  19519. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(86)})),
  19520. Fdl: *(*struct {
  19521. Flen1 [0]Tush
  19522. Fdad Tush
  19523. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19524. },
  19525. 59: {
  19526. Ffc: *(*struct {
  19527. Fcode [0]Tush
  19528. Ffreq Tush
  19529. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(214)})),
  19530. Fdl: *(*struct {
  19531. Flen1 [0]Tush
  19532. Fdad Tush
  19533. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19534. },
  19535. 60: {
  19536. Ffc: *(*struct {
  19537. Fcode [0]Tush
  19538. Ffreq Tush
  19539. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(54)})),
  19540. Fdl: *(*struct {
  19541. Flen1 [0]Tush
  19542. Fdad Tush
  19543. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19544. },
  19545. 61: {
  19546. Ffc: *(*struct {
  19547. Fcode [0]Tush
  19548. Ffreq Tush
  19549. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(182)})),
  19550. Fdl: *(*struct {
  19551. Flen1 [0]Tush
  19552. Fdad Tush
  19553. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19554. },
  19555. 62: {
  19556. Ffc: *(*struct {
  19557. Fcode [0]Tush
  19558. Ffreq Tush
  19559. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(118)})),
  19560. Fdl: *(*struct {
  19561. Flen1 [0]Tush
  19562. Fdad Tush
  19563. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19564. },
  19565. 63: {
  19566. Ffc: *(*struct {
  19567. Fcode [0]Tush
  19568. Ffreq Tush
  19569. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(246)})),
  19570. Fdl: *(*struct {
  19571. Flen1 [0]Tush
  19572. Fdad Tush
  19573. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19574. },
  19575. 64: {
  19576. Ffc: *(*struct {
  19577. Fcode [0]Tush
  19578. Ffreq Tush
  19579. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  19580. Fdl: *(*struct {
  19581. Flen1 [0]Tush
  19582. Fdad Tush
  19583. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19584. },
  19585. 65: {
  19586. Ffc: *(*struct {
  19587. Fcode [0]Tush
  19588. Ffreq Tush
  19589. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(142)})),
  19590. Fdl: *(*struct {
  19591. Flen1 [0]Tush
  19592. Fdad Tush
  19593. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19594. },
  19595. 66: {
  19596. Ffc: *(*struct {
  19597. Fcode [0]Tush
  19598. Ffreq Tush
  19599. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(78)})),
  19600. Fdl: *(*struct {
  19601. Flen1 [0]Tush
  19602. Fdad Tush
  19603. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19604. },
  19605. 67: {
  19606. Ffc: *(*struct {
  19607. Fcode [0]Tush
  19608. Ffreq Tush
  19609. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(206)})),
  19610. Fdl: *(*struct {
  19611. Flen1 [0]Tush
  19612. Fdad Tush
  19613. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19614. },
  19615. 68: {
  19616. Ffc: *(*struct {
  19617. Fcode [0]Tush
  19618. Ffreq Tush
  19619. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(46)})),
  19620. Fdl: *(*struct {
  19621. Flen1 [0]Tush
  19622. Fdad Tush
  19623. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19624. },
  19625. 69: {
  19626. Ffc: *(*struct {
  19627. Fcode [0]Tush
  19628. Ffreq Tush
  19629. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(174)})),
  19630. Fdl: *(*struct {
  19631. Flen1 [0]Tush
  19632. Fdad Tush
  19633. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19634. },
  19635. 70: {
  19636. Ffc: *(*struct {
  19637. Fcode [0]Tush
  19638. Ffreq Tush
  19639. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(110)})),
  19640. Fdl: *(*struct {
  19641. Flen1 [0]Tush
  19642. Fdad Tush
  19643. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19644. },
  19645. 71: {
  19646. Ffc: *(*struct {
  19647. Fcode [0]Tush
  19648. Ffreq Tush
  19649. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(238)})),
  19650. Fdl: *(*struct {
  19651. Flen1 [0]Tush
  19652. Fdad Tush
  19653. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19654. },
  19655. 72: {
  19656. Ffc: *(*struct {
  19657. Fcode [0]Tush
  19658. Ffreq Tush
  19659. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  19660. Fdl: *(*struct {
  19661. Flen1 [0]Tush
  19662. Fdad Tush
  19663. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19664. },
  19665. 73: {
  19666. Ffc: *(*struct {
  19667. Fcode [0]Tush
  19668. Ffreq Tush
  19669. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(158)})),
  19670. Fdl: *(*struct {
  19671. Flen1 [0]Tush
  19672. Fdad Tush
  19673. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19674. },
  19675. 74: {
  19676. Ffc: *(*struct {
  19677. Fcode [0]Tush
  19678. Ffreq Tush
  19679. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(94)})),
  19680. Fdl: *(*struct {
  19681. Flen1 [0]Tush
  19682. Fdad Tush
  19683. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19684. },
  19685. 75: {
  19686. Ffc: *(*struct {
  19687. Fcode [0]Tush
  19688. Ffreq Tush
  19689. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(222)})),
  19690. Fdl: *(*struct {
  19691. Flen1 [0]Tush
  19692. Fdad Tush
  19693. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19694. },
  19695. 76: {
  19696. Ffc: *(*struct {
  19697. Fcode [0]Tush
  19698. Ffreq Tush
  19699. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(62)})),
  19700. Fdl: *(*struct {
  19701. Flen1 [0]Tush
  19702. Fdad Tush
  19703. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19704. },
  19705. 77: {
  19706. Ffc: *(*struct {
  19707. Fcode [0]Tush
  19708. Ffreq Tush
  19709. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(190)})),
  19710. Fdl: *(*struct {
  19711. Flen1 [0]Tush
  19712. Fdad Tush
  19713. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19714. },
  19715. 78: {
  19716. Ffc: *(*struct {
  19717. Fcode [0]Tush
  19718. Ffreq Tush
  19719. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(126)})),
  19720. Fdl: *(*struct {
  19721. Flen1 [0]Tush
  19722. Fdad Tush
  19723. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19724. },
  19725. 79: {
  19726. Ffc: *(*struct {
  19727. Fcode [0]Tush
  19728. Ffreq Tush
  19729. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(254)})),
  19730. Fdl: *(*struct {
  19731. Flen1 [0]Tush
  19732. Fdad Tush
  19733. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19734. },
  19735. 80: {
  19736. Ffc: *(*struct {
  19737. Fcode [0]Tush
  19738. Ffreq Tush
  19739. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  19740. Fdl: *(*struct {
  19741. Flen1 [0]Tush
  19742. Fdad Tush
  19743. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19744. },
  19745. 81: {
  19746. Ffc: *(*struct {
  19747. Fcode [0]Tush
  19748. Ffreq Tush
  19749. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(129)})),
  19750. Fdl: *(*struct {
  19751. Flen1 [0]Tush
  19752. Fdad Tush
  19753. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19754. },
  19755. 82: {
  19756. Ffc: *(*struct {
  19757. Fcode [0]Tush
  19758. Ffreq Tush
  19759. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(65)})),
  19760. Fdl: *(*struct {
  19761. Flen1 [0]Tush
  19762. Fdad Tush
  19763. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19764. },
  19765. 83: {
  19766. Ffc: *(*struct {
  19767. Fcode [0]Tush
  19768. Ffreq Tush
  19769. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(193)})),
  19770. Fdl: *(*struct {
  19771. Flen1 [0]Tush
  19772. Fdad Tush
  19773. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19774. },
  19775. 84: {
  19776. Ffc: *(*struct {
  19777. Fcode [0]Tush
  19778. Ffreq Tush
  19779. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(33)})),
  19780. Fdl: *(*struct {
  19781. Flen1 [0]Tush
  19782. Fdad Tush
  19783. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19784. },
  19785. 85: {
  19786. Ffc: *(*struct {
  19787. Fcode [0]Tush
  19788. Ffreq Tush
  19789. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(161)})),
  19790. Fdl: *(*struct {
  19791. Flen1 [0]Tush
  19792. Fdad Tush
  19793. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19794. },
  19795. 86: {
  19796. Ffc: *(*struct {
  19797. Fcode [0]Tush
  19798. Ffreq Tush
  19799. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(97)})),
  19800. Fdl: *(*struct {
  19801. Flen1 [0]Tush
  19802. Fdad Tush
  19803. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19804. },
  19805. 87: {
  19806. Ffc: *(*struct {
  19807. Fcode [0]Tush
  19808. Ffreq Tush
  19809. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(225)})),
  19810. Fdl: *(*struct {
  19811. Flen1 [0]Tush
  19812. Fdad Tush
  19813. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19814. },
  19815. 88: {
  19816. Ffc: *(*struct {
  19817. Fcode [0]Tush
  19818. Ffreq Tush
  19819. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  19820. Fdl: *(*struct {
  19821. Flen1 [0]Tush
  19822. Fdad Tush
  19823. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19824. },
  19825. 89: {
  19826. Ffc: *(*struct {
  19827. Fcode [0]Tush
  19828. Ffreq Tush
  19829. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(145)})),
  19830. Fdl: *(*struct {
  19831. Flen1 [0]Tush
  19832. Fdad Tush
  19833. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19834. },
  19835. 90: {
  19836. Ffc: *(*struct {
  19837. Fcode [0]Tush
  19838. Ffreq Tush
  19839. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(81)})),
  19840. Fdl: *(*struct {
  19841. Flen1 [0]Tush
  19842. Fdad Tush
  19843. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19844. },
  19845. 91: {
  19846. Ffc: *(*struct {
  19847. Fcode [0]Tush
  19848. Ffreq Tush
  19849. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(209)})),
  19850. Fdl: *(*struct {
  19851. Flen1 [0]Tush
  19852. Fdad Tush
  19853. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19854. },
  19855. 92: {
  19856. Ffc: *(*struct {
  19857. Fcode [0]Tush
  19858. Ffreq Tush
  19859. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(49)})),
  19860. Fdl: *(*struct {
  19861. Flen1 [0]Tush
  19862. Fdad Tush
  19863. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19864. },
  19865. 93: {
  19866. Ffc: *(*struct {
  19867. Fcode [0]Tush
  19868. Ffreq Tush
  19869. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(177)})),
  19870. Fdl: *(*struct {
  19871. Flen1 [0]Tush
  19872. Fdad Tush
  19873. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19874. },
  19875. 94: {
  19876. Ffc: *(*struct {
  19877. Fcode [0]Tush
  19878. Ffreq Tush
  19879. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(113)})),
  19880. Fdl: *(*struct {
  19881. Flen1 [0]Tush
  19882. Fdad Tush
  19883. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19884. },
  19885. 95: {
  19886. Ffc: *(*struct {
  19887. Fcode [0]Tush
  19888. Ffreq Tush
  19889. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(241)})),
  19890. Fdl: *(*struct {
  19891. Flen1 [0]Tush
  19892. Fdad Tush
  19893. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19894. },
  19895. 96: {
  19896. Ffc: *(*struct {
  19897. Fcode [0]Tush
  19898. Ffreq Tush
  19899. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19900. Fdl: *(*struct {
  19901. Flen1 [0]Tush
  19902. Fdad Tush
  19903. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19904. },
  19905. 97: {
  19906. Ffc: *(*struct {
  19907. Fcode [0]Tush
  19908. Ffreq Tush
  19909. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(137)})),
  19910. Fdl: *(*struct {
  19911. Flen1 [0]Tush
  19912. Fdad Tush
  19913. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19914. },
  19915. 98: {
  19916. Ffc: *(*struct {
  19917. Fcode [0]Tush
  19918. Ffreq Tush
  19919. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(73)})),
  19920. Fdl: *(*struct {
  19921. Flen1 [0]Tush
  19922. Fdad Tush
  19923. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19924. },
  19925. 99: {
  19926. Ffc: *(*struct {
  19927. Fcode [0]Tush
  19928. Ffreq Tush
  19929. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(201)})),
  19930. Fdl: *(*struct {
  19931. Flen1 [0]Tush
  19932. Fdad Tush
  19933. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19934. },
  19935. 100: {
  19936. Ffc: *(*struct {
  19937. Fcode [0]Tush
  19938. Ffreq Tush
  19939. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(41)})),
  19940. Fdl: *(*struct {
  19941. Flen1 [0]Tush
  19942. Fdad Tush
  19943. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19944. },
  19945. 101: {
  19946. Ffc: *(*struct {
  19947. Fcode [0]Tush
  19948. Ffreq Tush
  19949. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(169)})),
  19950. Fdl: *(*struct {
  19951. Flen1 [0]Tush
  19952. Fdad Tush
  19953. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19954. },
  19955. 102: {
  19956. Ffc: *(*struct {
  19957. Fcode [0]Tush
  19958. Ffreq Tush
  19959. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(105)})),
  19960. Fdl: *(*struct {
  19961. Flen1 [0]Tush
  19962. Fdad Tush
  19963. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19964. },
  19965. 103: {
  19966. Ffc: *(*struct {
  19967. Fcode [0]Tush
  19968. Ffreq Tush
  19969. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(233)})),
  19970. Fdl: *(*struct {
  19971. Flen1 [0]Tush
  19972. Fdad Tush
  19973. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19974. },
  19975. 104: {
  19976. Ffc: *(*struct {
  19977. Fcode [0]Tush
  19978. Ffreq Tush
  19979. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  19980. Fdl: *(*struct {
  19981. Flen1 [0]Tush
  19982. Fdad Tush
  19983. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19984. },
  19985. 105: {
  19986. Ffc: *(*struct {
  19987. Fcode [0]Tush
  19988. Ffreq Tush
  19989. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(153)})),
  19990. Fdl: *(*struct {
  19991. Flen1 [0]Tush
  19992. Fdad Tush
  19993. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19994. },
  19995. 106: {
  19996. Ffc: *(*struct {
  19997. Fcode [0]Tush
  19998. Ffreq Tush
  19999. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(89)})),
  20000. Fdl: *(*struct {
  20001. Flen1 [0]Tush
  20002. Fdad Tush
  20003. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20004. },
  20005. 107: {
  20006. Ffc: *(*struct {
  20007. Fcode [0]Tush
  20008. Ffreq Tush
  20009. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(217)})),
  20010. Fdl: *(*struct {
  20011. Flen1 [0]Tush
  20012. Fdad Tush
  20013. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20014. },
  20015. 108: {
  20016. Ffc: *(*struct {
  20017. Fcode [0]Tush
  20018. Ffreq Tush
  20019. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(57)})),
  20020. Fdl: *(*struct {
  20021. Flen1 [0]Tush
  20022. Fdad Tush
  20023. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20024. },
  20025. 109: {
  20026. Ffc: *(*struct {
  20027. Fcode [0]Tush
  20028. Ffreq Tush
  20029. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(185)})),
  20030. Fdl: *(*struct {
  20031. Flen1 [0]Tush
  20032. Fdad Tush
  20033. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20034. },
  20035. 110: {
  20036. Ffc: *(*struct {
  20037. Fcode [0]Tush
  20038. Ffreq Tush
  20039. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(121)})),
  20040. Fdl: *(*struct {
  20041. Flen1 [0]Tush
  20042. Fdad Tush
  20043. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20044. },
  20045. 111: {
  20046. Ffc: *(*struct {
  20047. Fcode [0]Tush
  20048. Ffreq Tush
  20049. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(249)})),
  20050. Fdl: *(*struct {
  20051. Flen1 [0]Tush
  20052. Fdad Tush
  20053. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20054. },
  20055. 112: {
  20056. Ffc: *(*struct {
  20057. Fcode [0]Tush
  20058. Ffreq Tush
  20059. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20060. Fdl: *(*struct {
  20061. Flen1 [0]Tush
  20062. Fdad Tush
  20063. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20064. },
  20065. 113: {
  20066. Ffc: *(*struct {
  20067. Fcode [0]Tush
  20068. Ffreq Tush
  20069. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(133)})),
  20070. Fdl: *(*struct {
  20071. Flen1 [0]Tush
  20072. Fdad Tush
  20073. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20074. },
  20075. 114: {
  20076. Ffc: *(*struct {
  20077. Fcode [0]Tush
  20078. Ffreq Tush
  20079. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(69)})),
  20080. Fdl: *(*struct {
  20081. Flen1 [0]Tush
  20082. Fdad Tush
  20083. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20084. },
  20085. 115: {
  20086. Ffc: *(*struct {
  20087. Fcode [0]Tush
  20088. Ffreq Tush
  20089. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(197)})),
  20090. Fdl: *(*struct {
  20091. Flen1 [0]Tush
  20092. Fdad Tush
  20093. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20094. },
  20095. 116: {
  20096. Ffc: *(*struct {
  20097. Fcode [0]Tush
  20098. Ffreq Tush
  20099. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(37)})),
  20100. Fdl: *(*struct {
  20101. Flen1 [0]Tush
  20102. Fdad Tush
  20103. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20104. },
  20105. 117: {
  20106. Ffc: *(*struct {
  20107. Fcode [0]Tush
  20108. Ffreq Tush
  20109. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(165)})),
  20110. Fdl: *(*struct {
  20111. Flen1 [0]Tush
  20112. Fdad Tush
  20113. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20114. },
  20115. 118: {
  20116. Ffc: *(*struct {
  20117. Fcode [0]Tush
  20118. Ffreq Tush
  20119. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(101)})),
  20120. Fdl: *(*struct {
  20121. Flen1 [0]Tush
  20122. Fdad Tush
  20123. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20124. },
  20125. 119: {
  20126. Ffc: *(*struct {
  20127. Fcode [0]Tush
  20128. Ffreq Tush
  20129. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(229)})),
  20130. Fdl: *(*struct {
  20131. Flen1 [0]Tush
  20132. Fdad Tush
  20133. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20134. },
  20135. 120: {
  20136. Ffc: *(*struct {
  20137. Fcode [0]Tush
  20138. Ffreq Tush
  20139. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  20140. Fdl: *(*struct {
  20141. Flen1 [0]Tush
  20142. Fdad Tush
  20143. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20144. },
  20145. 121: {
  20146. Ffc: *(*struct {
  20147. Fcode [0]Tush
  20148. Ffreq Tush
  20149. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(149)})),
  20150. Fdl: *(*struct {
  20151. Flen1 [0]Tush
  20152. Fdad Tush
  20153. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20154. },
  20155. 122: {
  20156. Ffc: *(*struct {
  20157. Fcode [0]Tush
  20158. Ffreq Tush
  20159. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(85)})),
  20160. Fdl: *(*struct {
  20161. Flen1 [0]Tush
  20162. Fdad Tush
  20163. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20164. },
  20165. 123: {
  20166. Ffc: *(*struct {
  20167. Fcode [0]Tush
  20168. Ffreq Tush
  20169. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(213)})),
  20170. Fdl: *(*struct {
  20171. Flen1 [0]Tush
  20172. Fdad Tush
  20173. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20174. },
  20175. 124: {
  20176. Ffc: *(*struct {
  20177. Fcode [0]Tush
  20178. Ffreq Tush
  20179. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(53)})),
  20180. Fdl: *(*struct {
  20181. Flen1 [0]Tush
  20182. Fdad Tush
  20183. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20184. },
  20185. 125: {
  20186. Ffc: *(*struct {
  20187. Fcode [0]Tush
  20188. Ffreq Tush
  20189. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(181)})),
  20190. Fdl: *(*struct {
  20191. Flen1 [0]Tush
  20192. Fdad Tush
  20193. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20194. },
  20195. 126: {
  20196. Ffc: *(*struct {
  20197. Fcode [0]Tush
  20198. Ffreq Tush
  20199. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(117)})),
  20200. Fdl: *(*struct {
  20201. Flen1 [0]Tush
  20202. Fdad Tush
  20203. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20204. },
  20205. 127: {
  20206. Ffc: *(*struct {
  20207. Fcode [0]Tush
  20208. Ffreq Tush
  20209. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(245)})),
  20210. Fdl: *(*struct {
  20211. Flen1 [0]Tush
  20212. Fdad Tush
  20213. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20214. },
  20215. 128: {
  20216. Ffc: *(*struct {
  20217. Fcode [0]Tush
  20218. Ffreq Tush
  20219. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  20220. Fdl: *(*struct {
  20221. Flen1 [0]Tush
  20222. Fdad Tush
  20223. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20224. },
  20225. 129: {
  20226. Ffc: *(*struct {
  20227. Fcode [0]Tush
  20228. Ffreq Tush
  20229. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(141)})),
  20230. Fdl: *(*struct {
  20231. Flen1 [0]Tush
  20232. Fdad Tush
  20233. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20234. },
  20235. 130: {
  20236. Ffc: *(*struct {
  20237. Fcode [0]Tush
  20238. Ffreq Tush
  20239. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(77)})),
  20240. Fdl: *(*struct {
  20241. Flen1 [0]Tush
  20242. Fdad Tush
  20243. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20244. },
  20245. 131: {
  20246. Ffc: *(*struct {
  20247. Fcode [0]Tush
  20248. Ffreq Tush
  20249. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(205)})),
  20250. Fdl: *(*struct {
  20251. Flen1 [0]Tush
  20252. Fdad Tush
  20253. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20254. },
  20255. 132: {
  20256. Ffc: *(*struct {
  20257. Fcode [0]Tush
  20258. Ffreq Tush
  20259. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(45)})),
  20260. Fdl: *(*struct {
  20261. Flen1 [0]Tush
  20262. Fdad Tush
  20263. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20264. },
  20265. 133: {
  20266. Ffc: *(*struct {
  20267. Fcode [0]Tush
  20268. Ffreq Tush
  20269. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(173)})),
  20270. Fdl: *(*struct {
  20271. Flen1 [0]Tush
  20272. Fdad Tush
  20273. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20274. },
  20275. 134: {
  20276. Ffc: *(*struct {
  20277. Fcode [0]Tush
  20278. Ffreq Tush
  20279. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(109)})),
  20280. Fdl: *(*struct {
  20281. Flen1 [0]Tush
  20282. Fdad Tush
  20283. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20284. },
  20285. 135: {
  20286. Ffc: *(*struct {
  20287. Fcode [0]Tush
  20288. Ffreq Tush
  20289. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(237)})),
  20290. Fdl: *(*struct {
  20291. Flen1 [0]Tush
  20292. Fdad Tush
  20293. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20294. },
  20295. 136: {
  20296. Ffc: *(*struct {
  20297. Fcode [0]Tush
  20298. Ffreq Tush
  20299. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  20300. Fdl: *(*struct {
  20301. Flen1 [0]Tush
  20302. Fdad Tush
  20303. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20304. },
  20305. 137: {
  20306. Ffc: *(*struct {
  20307. Fcode [0]Tush
  20308. Ffreq Tush
  20309. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(157)})),
  20310. Fdl: *(*struct {
  20311. Flen1 [0]Tush
  20312. Fdad Tush
  20313. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20314. },
  20315. 138: {
  20316. Ffc: *(*struct {
  20317. Fcode [0]Tush
  20318. Ffreq Tush
  20319. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(93)})),
  20320. Fdl: *(*struct {
  20321. Flen1 [0]Tush
  20322. Fdad Tush
  20323. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20324. },
  20325. 139: {
  20326. Ffc: *(*struct {
  20327. Fcode [0]Tush
  20328. Ffreq Tush
  20329. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(221)})),
  20330. Fdl: *(*struct {
  20331. Flen1 [0]Tush
  20332. Fdad Tush
  20333. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20334. },
  20335. 140: {
  20336. Ffc: *(*struct {
  20337. Fcode [0]Tush
  20338. Ffreq Tush
  20339. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(61)})),
  20340. Fdl: *(*struct {
  20341. Flen1 [0]Tush
  20342. Fdad Tush
  20343. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20344. },
  20345. 141: {
  20346. Ffc: *(*struct {
  20347. Fcode [0]Tush
  20348. Ffreq Tush
  20349. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(189)})),
  20350. Fdl: *(*struct {
  20351. Flen1 [0]Tush
  20352. Fdad Tush
  20353. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20354. },
  20355. 142: {
  20356. Ffc: *(*struct {
  20357. Fcode [0]Tush
  20358. Ffreq Tush
  20359. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(125)})),
  20360. Fdl: *(*struct {
  20361. Flen1 [0]Tush
  20362. Fdad Tush
  20363. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20364. },
  20365. 143: {
  20366. Ffc: *(*struct {
  20367. Fcode [0]Tush
  20368. Ffreq Tush
  20369. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(253)})),
  20370. Fdl: *(*struct {
  20371. Flen1 [0]Tush
  20372. Fdad Tush
  20373. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20374. },
  20375. 144: {
  20376. Ffc: *(*struct {
  20377. Fcode [0]Tush
  20378. Ffreq Tush
  20379. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  20380. Fdl: *(*struct {
  20381. Flen1 [0]Tush
  20382. Fdad Tush
  20383. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20384. },
  20385. 145: {
  20386. Ffc: *(*struct {
  20387. Fcode [0]Tush
  20388. Ffreq Tush
  20389. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(275)})),
  20390. Fdl: *(*struct {
  20391. Flen1 [0]Tush
  20392. Fdad Tush
  20393. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20394. },
  20395. 146: {
  20396. Ffc: *(*struct {
  20397. Fcode [0]Tush
  20398. Ffreq Tush
  20399. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(147)})),
  20400. Fdl: *(*struct {
  20401. Flen1 [0]Tush
  20402. Fdad Tush
  20403. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20404. },
  20405. 147: {
  20406. Ffc: *(*struct {
  20407. Fcode [0]Tush
  20408. Ffreq Tush
  20409. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(403)})),
  20410. Fdl: *(*struct {
  20411. Flen1 [0]Tush
  20412. Fdad Tush
  20413. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20414. },
  20415. 148: {
  20416. Ffc: *(*struct {
  20417. Fcode [0]Tush
  20418. Ffreq Tush
  20419. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(83)})),
  20420. Fdl: *(*struct {
  20421. Flen1 [0]Tush
  20422. Fdad Tush
  20423. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20424. },
  20425. 149: {
  20426. Ffc: *(*struct {
  20427. Fcode [0]Tush
  20428. Ffreq Tush
  20429. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(339)})),
  20430. Fdl: *(*struct {
  20431. Flen1 [0]Tush
  20432. Fdad Tush
  20433. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20434. },
  20435. 150: {
  20436. Ffc: *(*struct {
  20437. Fcode [0]Tush
  20438. Ffreq Tush
  20439. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(211)})),
  20440. Fdl: *(*struct {
  20441. Flen1 [0]Tush
  20442. Fdad Tush
  20443. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20444. },
  20445. 151: {
  20446. Ffc: *(*struct {
  20447. Fcode [0]Tush
  20448. Ffreq Tush
  20449. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(467)})),
  20450. Fdl: *(*struct {
  20451. Flen1 [0]Tush
  20452. Fdad Tush
  20453. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20454. },
  20455. 152: {
  20456. Ffc: *(*struct {
  20457. Fcode [0]Tush
  20458. Ffreq Tush
  20459. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(51)})),
  20460. Fdl: *(*struct {
  20461. Flen1 [0]Tush
  20462. Fdad Tush
  20463. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20464. },
  20465. 153: {
  20466. Ffc: *(*struct {
  20467. Fcode [0]Tush
  20468. Ffreq Tush
  20469. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(307)})),
  20470. Fdl: *(*struct {
  20471. Flen1 [0]Tush
  20472. Fdad Tush
  20473. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20474. },
  20475. 154: {
  20476. Ffc: *(*struct {
  20477. Fcode [0]Tush
  20478. Ffreq Tush
  20479. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(179)})),
  20480. Fdl: *(*struct {
  20481. Flen1 [0]Tush
  20482. Fdad Tush
  20483. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20484. },
  20485. 155: {
  20486. Ffc: *(*struct {
  20487. Fcode [0]Tush
  20488. Ffreq Tush
  20489. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(435)})),
  20490. Fdl: *(*struct {
  20491. Flen1 [0]Tush
  20492. Fdad Tush
  20493. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20494. },
  20495. 156: {
  20496. Ffc: *(*struct {
  20497. Fcode [0]Tush
  20498. Ffreq Tush
  20499. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(115)})),
  20500. Fdl: *(*struct {
  20501. Flen1 [0]Tush
  20502. Fdad Tush
  20503. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20504. },
  20505. 157: {
  20506. Ffc: *(*struct {
  20507. Fcode [0]Tush
  20508. Ffreq Tush
  20509. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(371)})),
  20510. Fdl: *(*struct {
  20511. Flen1 [0]Tush
  20512. Fdad Tush
  20513. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20514. },
  20515. 158: {
  20516. Ffc: *(*struct {
  20517. Fcode [0]Tush
  20518. Ffreq Tush
  20519. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(243)})),
  20520. Fdl: *(*struct {
  20521. Flen1 [0]Tush
  20522. Fdad Tush
  20523. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20524. },
  20525. 159: {
  20526. Ffc: *(*struct {
  20527. Fcode [0]Tush
  20528. Ffreq Tush
  20529. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(499)})),
  20530. Fdl: *(*struct {
  20531. Flen1 [0]Tush
  20532. Fdad Tush
  20533. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20534. },
  20535. 160: {
  20536. Ffc: *(*struct {
  20537. Fcode [0]Tush
  20538. Ffreq Tush
  20539. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  20540. Fdl: *(*struct {
  20541. Flen1 [0]Tush
  20542. Fdad Tush
  20543. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20544. },
  20545. 161: {
  20546. Ffc: *(*struct {
  20547. Fcode [0]Tush
  20548. Ffreq Tush
  20549. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(267)})),
  20550. Fdl: *(*struct {
  20551. Flen1 [0]Tush
  20552. Fdad Tush
  20553. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20554. },
  20555. 162: {
  20556. Ffc: *(*struct {
  20557. Fcode [0]Tush
  20558. Ffreq Tush
  20559. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(139)})),
  20560. Fdl: *(*struct {
  20561. Flen1 [0]Tush
  20562. Fdad Tush
  20563. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20564. },
  20565. 163: {
  20566. Ffc: *(*struct {
  20567. Fcode [0]Tush
  20568. Ffreq Tush
  20569. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(395)})),
  20570. Fdl: *(*struct {
  20571. Flen1 [0]Tush
  20572. Fdad Tush
  20573. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20574. },
  20575. 164: {
  20576. Ffc: *(*struct {
  20577. Fcode [0]Tush
  20578. Ffreq Tush
  20579. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(75)})),
  20580. Fdl: *(*struct {
  20581. Flen1 [0]Tush
  20582. Fdad Tush
  20583. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20584. },
  20585. 165: {
  20586. Ffc: *(*struct {
  20587. Fcode [0]Tush
  20588. Ffreq Tush
  20589. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(331)})),
  20590. Fdl: *(*struct {
  20591. Flen1 [0]Tush
  20592. Fdad Tush
  20593. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20594. },
  20595. 166: {
  20596. Ffc: *(*struct {
  20597. Fcode [0]Tush
  20598. Ffreq Tush
  20599. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(203)})),
  20600. Fdl: *(*struct {
  20601. Flen1 [0]Tush
  20602. Fdad Tush
  20603. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20604. },
  20605. 167: {
  20606. Ffc: *(*struct {
  20607. Fcode [0]Tush
  20608. Ffreq Tush
  20609. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(459)})),
  20610. Fdl: *(*struct {
  20611. Flen1 [0]Tush
  20612. Fdad Tush
  20613. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20614. },
  20615. 168: {
  20616. Ffc: *(*struct {
  20617. Fcode [0]Tush
  20618. Ffreq Tush
  20619. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(43)})),
  20620. Fdl: *(*struct {
  20621. Flen1 [0]Tush
  20622. Fdad Tush
  20623. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20624. },
  20625. 169: {
  20626. Ffc: *(*struct {
  20627. Fcode [0]Tush
  20628. Ffreq Tush
  20629. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(299)})),
  20630. Fdl: *(*struct {
  20631. Flen1 [0]Tush
  20632. Fdad Tush
  20633. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20634. },
  20635. 170: {
  20636. Ffc: *(*struct {
  20637. Fcode [0]Tush
  20638. Ffreq Tush
  20639. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(171)})),
  20640. Fdl: *(*struct {
  20641. Flen1 [0]Tush
  20642. Fdad Tush
  20643. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20644. },
  20645. 171: {
  20646. Ffc: *(*struct {
  20647. Fcode [0]Tush
  20648. Ffreq Tush
  20649. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(427)})),
  20650. Fdl: *(*struct {
  20651. Flen1 [0]Tush
  20652. Fdad Tush
  20653. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20654. },
  20655. 172: {
  20656. Ffc: *(*struct {
  20657. Fcode [0]Tush
  20658. Ffreq Tush
  20659. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(107)})),
  20660. Fdl: *(*struct {
  20661. Flen1 [0]Tush
  20662. Fdad Tush
  20663. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20664. },
  20665. 173: {
  20666. Ffc: *(*struct {
  20667. Fcode [0]Tush
  20668. Ffreq Tush
  20669. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(363)})),
  20670. Fdl: *(*struct {
  20671. Flen1 [0]Tush
  20672. Fdad Tush
  20673. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20674. },
  20675. 174: {
  20676. Ffc: *(*struct {
  20677. Fcode [0]Tush
  20678. Ffreq Tush
  20679. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(235)})),
  20680. Fdl: *(*struct {
  20681. Flen1 [0]Tush
  20682. Fdad Tush
  20683. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20684. },
  20685. 175: {
  20686. Ffc: *(*struct {
  20687. Fcode [0]Tush
  20688. Ffreq Tush
  20689. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(491)})),
  20690. Fdl: *(*struct {
  20691. Flen1 [0]Tush
  20692. Fdad Tush
  20693. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20694. },
  20695. 176: {
  20696. Ffc: *(*struct {
  20697. Fcode [0]Tush
  20698. Ffreq Tush
  20699. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  20700. Fdl: *(*struct {
  20701. Flen1 [0]Tush
  20702. Fdad Tush
  20703. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20704. },
  20705. 177: {
  20706. Ffc: *(*struct {
  20707. Fcode [0]Tush
  20708. Ffreq Tush
  20709. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(283)})),
  20710. Fdl: *(*struct {
  20711. Flen1 [0]Tush
  20712. Fdad Tush
  20713. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20714. },
  20715. 178: {
  20716. Ffc: *(*struct {
  20717. Fcode [0]Tush
  20718. Ffreq Tush
  20719. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(155)})),
  20720. Fdl: *(*struct {
  20721. Flen1 [0]Tush
  20722. Fdad Tush
  20723. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20724. },
  20725. 179: {
  20726. Ffc: *(*struct {
  20727. Fcode [0]Tush
  20728. Ffreq Tush
  20729. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(411)})),
  20730. Fdl: *(*struct {
  20731. Flen1 [0]Tush
  20732. Fdad Tush
  20733. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20734. },
  20735. 180: {
  20736. Ffc: *(*struct {
  20737. Fcode [0]Tush
  20738. Ffreq Tush
  20739. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(91)})),
  20740. Fdl: *(*struct {
  20741. Flen1 [0]Tush
  20742. Fdad Tush
  20743. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20744. },
  20745. 181: {
  20746. Ffc: *(*struct {
  20747. Fcode [0]Tush
  20748. Ffreq Tush
  20749. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(347)})),
  20750. Fdl: *(*struct {
  20751. Flen1 [0]Tush
  20752. Fdad Tush
  20753. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20754. },
  20755. 182: {
  20756. Ffc: *(*struct {
  20757. Fcode [0]Tush
  20758. Ffreq Tush
  20759. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(219)})),
  20760. Fdl: *(*struct {
  20761. Flen1 [0]Tush
  20762. Fdad Tush
  20763. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20764. },
  20765. 183: {
  20766. Ffc: *(*struct {
  20767. Fcode [0]Tush
  20768. Ffreq Tush
  20769. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(475)})),
  20770. Fdl: *(*struct {
  20771. Flen1 [0]Tush
  20772. Fdad Tush
  20773. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20774. },
  20775. 184: {
  20776. Ffc: *(*struct {
  20777. Fcode [0]Tush
  20778. Ffreq Tush
  20779. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(59)})),
  20780. Fdl: *(*struct {
  20781. Flen1 [0]Tush
  20782. Fdad Tush
  20783. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20784. },
  20785. 185: {
  20786. Ffc: *(*struct {
  20787. Fcode [0]Tush
  20788. Ffreq Tush
  20789. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(315)})),
  20790. Fdl: *(*struct {
  20791. Flen1 [0]Tush
  20792. Fdad Tush
  20793. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20794. },
  20795. 186: {
  20796. Ffc: *(*struct {
  20797. Fcode [0]Tush
  20798. Ffreq Tush
  20799. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(187)})),
  20800. Fdl: *(*struct {
  20801. Flen1 [0]Tush
  20802. Fdad Tush
  20803. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20804. },
  20805. 187: {
  20806. Ffc: *(*struct {
  20807. Fcode [0]Tush
  20808. Ffreq Tush
  20809. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(443)})),
  20810. Fdl: *(*struct {
  20811. Flen1 [0]Tush
  20812. Fdad Tush
  20813. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20814. },
  20815. 188: {
  20816. Ffc: *(*struct {
  20817. Fcode [0]Tush
  20818. Ffreq Tush
  20819. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(123)})),
  20820. Fdl: *(*struct {
  20821. Flen1 [0]Tush
  20822. Fdad Tush
  20823. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20824. },
  20825. 189: {
  20826. Ffc: *(*struct {
  20827. Fcode [0]Tush
  20828. Ffreq Tush
  20829. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(379)})),
  20830. Fdl: *(*struct {
  20831. Flen1 [0]Tush
  20832. Fdad Tush
  20833. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20834. },
  20835. 190: {
  20836. Ffc: *(*struct {
  20837. Fcode [0]Tush
  20838. Ffreq Tush
  20839. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(251)})),
  20840. Fdl: *(*struct {
  20841. Flen1 [0]Tush
  20842. Fdad Tush
  20843. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20844. },
  20845. 191: {
  20846. Ffc: *(*struct {
  20847. Fcode [0]Tush
  20848. Ffreq Tush
  20849. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(507)})),
  20850. Fdl: *(*struct {
  20851. Flen1 [0]Tush
  20852. Fdad Tush
  20853. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20854. },
  20855. 192: {
  20856. Ffc: *(*struct {
  20857. Fcode [0]Tush
  20858. Ffreq Tush
  20859. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20860. Fdl: *(*struct {
  20861. Flen1 [0]Tush
  20862. Fdad Tush
  20863. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20864. },
  20865. 193: {
  20866. Ffc: *(*struct {
  20867. Fcode [0]Tush
  20868. Ffreq Tush
  20869. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(263)})),
  20870. Fdl: *(*struct {
  20871. Flen1 [0]Tush
  20872. Fdad Tush
  20873. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20874. },
  20875. 194: {
  20876. Ffc: *(*struct {
  20877. Fcode [0]Tush
  20878. Ffreq Tush
  20879. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(135)})),
  20880. Fdl: *(*struct {
  20881. Flen1 [0]Tush
  20882. Fdad Tush
  20883. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20884. },
  20885. 195: {
  20886. Ffc: *(*struct {
  20887. Fcode [0]Tush
  20888. Ffreq Tush
  20889. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(391)})),
  20890. Fdl: *(*struct {
  20891. Flen1 [0]Tush
  20892. Fdad Tush
  20893. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20894. },
  20895. 196: {
  20896. Ffc: *(*struct {
  20897. Fcode [0]Tush
  20898. Ffreq Tush
  20899. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(71)})),
  20900. Fdl: *(*struct {
  20901. Flen1 [0]Tush
  20902. Fdad Tush
  20903. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20904. },
  20905. 197: {
  20906. Ffc: *(*struct {
  20907. Fcode [0]Tush
  20908. Ffreq Tush
  20909. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(327)})),
  20910. Fdl: *(*struct {
  20911. Flen1 [0]Tush
  20912. Fdad Tush
  20913. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20914. },
  20915. 198: {
  20916. Ffc: *(*struct {
  20917. Fcode [0]Tush
  20918. Ffreq Tush
  20919. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(199)})),
  20920. Fdl: *(*struct {
  20921. Flen1 [0]Tush
  20922. Fdad Tush
  20923. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20924. },
  20925. 199: {
  20926. Ffc: *(*struct {
  20927. Fcode [0]Tush
  20928. Ffreq Tush
  20929. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(455)})),
  20930. Fdl: *(*struct {
  20931. Flen1 [0]Tush
  20932. Fdad Tush
  20933. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20934. },
  20935. 200: {
  20936. Ffc: *(*struct {
  20937. Fcode [0]Tush
  20938. Ffreq Tush
  20939. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(39)})),
  20940. Fdl: *(*struct {
  20941. Flen1 [0]Tush
  20942. Fdad Tush
  20943. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20944. },
  20945. 201: {
  20946. Ffc: *(*struct {
  20947. Fcode [0]Tush
  20948. Ffreq Tush
  20949. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(295)})),
  20950. Fdl: *(*struct {
  20951. Flen1 [0]Tush
  20952. Fdad Tush
  20953. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20954. },
  20955. 202: {
  20956. Ffc: *(*struct {
  20957. Fcode [0]Tush
  20958. Ffreq Tush
  20959. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(167)})),
  20960. Fdl: *(*struct {
  20961. Flen1 [0]Tush
  20962. Fdad Tush
  20963. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20964. },
  20965. 203: {
  20966. Ffc: *(*struct {
  20967. Fcode [0]Tush
  20968. Ffreq Tush
  20969. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(423)})),
  20970. Fdl: *(*struct {
  20971. Flen1 [0]Tush
  20972. Fdad Tush
  20973. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20974. },
  20975. 204: {
  20976. Ffc: *(*struct {
  20977. Fcode [0]Tush
  20978. Ffreq Tush
  20979. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(103)})),
  20980. Fdl: *(*struct {
  20981. Flen1 [0]Tush
  20982. Fdad Tush
  20983. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20984. },
  20985. 205: {
  20986. Ffc: *(*struct {
  20987. Fcode [0]Tush
  20988. Ffreq Tush
  20989. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(359)})),
  20990. Fdl: *(*struct {
  20991. Flen1 [0]Tush
  20992. Fdad Tush
  20993. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20994. },
  20995. 206: {
  20996. Ffc: *(*struct {
  20997. Fcode [0]Tush
  20998. Ffreq Tush
  20999. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(231)})),
  21000. Fdl: *(*struct {
  21001. Flen1 [0]Tush
  21002. Fdad Tush
  21003. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21004. },
  21005. 207: {
  21006. Ffc: *(*struct {
  21007. Fcode [0]Tush
  21008. Ffreq Tush
  21009. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(487)})),
  21010. Fdl: *(*struct {
  21011. Flen1 [0]Tush
  21012. Fdad Tush
  21013. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21014. },
  21015. 208: {
  21016. Ffc: *(*struct {
  21017. Fcode [0]Tush
  21018. Ffreq Tush
  21019. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  21020. Fdl: *(*struct {
  21021. Flen1 [0]Tush
  21022. Fdad Tush
  21023. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21024. },
  21025. 209: {
  21026. Ffc: *(*struct {
  21027. Fcode [0]Tush
  21028. Ffreq Tush
  21029. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(279)})),
  21030. Fdl: *(*struct {
  21031. Flen1 [0]Tush
  21032. Fdad Tush
  21033. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21034. },
  21035. 210: {
  21036. Ffc: *(*struct {
  21037. Fcode [0]Tush
  21038. Ffreq Tush
  21039. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(151)})),
  21040. Fdl: *(*struct {
  21041. Flen1 [0]Tush
  21042. Fdad Tush
  21043. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21044. },
  21045. 211: {
  21046. Ffc: *(*struct {
  21047. Fcode [0]Tush
  21048. Ffreq Tush
  21049. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(407)})),
  21050. Fdl: *(*struct {
  21051. Flen1 [0]Tush
  21052. Fdad Tush
  21053. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21054. },
  21055. 212: {
  21056. Ffc: *(*struct {
  21057. Fcode [0]Tush
  21058. Ffreq Tush
  21059. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(87)})),
  21060. Fdl: *(*struct {
  21061. Flen1 [0]Tush
  21062. Fdad Tush
  21063. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21064. },
  21065. 213: {
  21066. Ffc: *(*struct {
  21067. Fcode [0]Tush
  21068. Ffreq Tush
  21069. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(343)})),
  21070. Fdl: *(*struct {
  21071. Flen1 [0]Tush
  21072. Fdad Tush
  21073. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21074. },
  21075. 214: {
  21076. Ffc: *(*struct {
  21077. Fcode [0]Tush
  21078. Ffreq Tush
  21079. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(215)})),
  21080. Fdl: *(*struct {
  21081. Flen1 [0]Tush
  21082. Fdad Tush
  21083. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21084. },
  21085. 215: {
  21086. Ffc: *(*struct {
  21087. Fcode [0]Tush
  21088. Ffreq Tush
  21089. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(471)})),
  21090. Fdl: *(*struct {
  21091. Flen1 [0]Tush
  21092. Fdad Tush
  21093. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21094. },
  21095. 216: {
  21096. Ffc: *(*struct {
  21097. Fcode [0]Tush
  21098. Ffreq Tush
  21099. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(55)})),
  21100. Fdl: *(*struct {
  21101. Flen1 [0]Tush
  21102. Fdad Tush
  21103. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21104. },
  21105. 217: {
  21106. Ffc: *(*struct {
  21107. Fcode [0]Tush
  21108. Ffreq Tush
  21109. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(311)})),
  21110. Fdl: *(*struct {
  21111. Flen1 [0]Tush
  21112. Fdad Tush
  21113. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21114. },
  21115. 218: {
  21116. Ffc: *(*struct {
  21117. Fcode [0]Tush
  21118. Ffreq Tush
  21119. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(183)})),
  21120. Fdl: *(*struct {
  21121. Flen1 [0]Tush
  21122. Fdad Tush
  21123. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21124. },
  21125. 219: {
  21126. Ffc: *(*struct {
  21127. Fcode [0]Tush
  21128. Ffreq Tush
  21129. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(439)})),
  21130. Fdl: *(*struct {
  21131. Flen1 [0]Tush
  21132. Fdad Tush
  21133. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21134. },
  21135. 220: {
  21136. Ffc: *(*struct {
  21137. Fcode [0]Tush
  21138. Ffreq Tush
  21139. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(119)})),
  21140. Fdl: *(*struct {
  21141. Flen1 [0]Tush
  21142. Fdad Tush
  21143. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21144. },
  21145. 221: {
  21146. Ffc: *(*struct {
  21147. Fcode [0]Tush
  21148. Ffreq Tush
  21149. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(375)})),
  21150. Fdl: *(*struct {
  21151. Flen1 [0]Tush
  21152. Fdad Tush
  21153. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21154. },
  21155. 222: {
  21156. Ffc: *(*struct {
  21157. Fcode [0]Tush
  21158. Ffreq Tush
  21159. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(247)})),
  21160. Fdl: *(*struct {
  21161. Flen1 [0]Tush
  21162. Fdad Tush
  21163. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21164. },
  21165. 223: {
  21166. Ffc: *(*struct {
  21167. Fcode [0]Tush
  21168. Ffreq Tush
  21169. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(503)})),
  21170. Fdl: *(*struct {
  21171. Flen1 [0]Tush
  21172. Fdad Tush
  21173. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21174. },
  21175. 224: {
  21176. Ffc: *(*struct {
  21177. Fcode [0]Tush
  21178. Ffreq Tush
  21179. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(15)})),
  21180. Fdl: *(*struct {
  21181. Flen1 [0]Tush
  21182. Fdad Tush
  21183. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21184. },
  21185. 225: {
  21186. Ffc: *(*struct {
  21187. Fcode [0]Tush
  21188. Ffreq Tush
  21189. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(271)})),
  21190. Fdl: *(*struct {
  21191. Flen1 [0]Tush
  21192. Fdad Tush
  21193. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21194. },
  21195. 226: {
  21196. Ffc: *(*struct {
  21197. Fcode [0]Tush
  21198. Ffreq Tush
  21199. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(143)})),
  21200. Fdl: *(*struct {
  21201. Flen1 [0]Tush
  21202. Fdad Tush
  21203. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21204. },
  21205. 227: {
  21206. Ffc: *(*struct {
  21207. Fcode [0]Tush
  21208. Ffreq Tush
  21209. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(399)})),
  21210. Fdl: *(*struct {
  21211. Flen1 [0]Tush
  21212. Fdad Tush
  21213. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21214. },
  21215. 228: {
  21216. Ffc: *(*struct {
  21217. Fcode [0]Tush
  21218. Ffreq Tush
  21219. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(79)})),
  21220. Fdl: *(*struct {
  21221. Flen1 [0]Tush
  21222. Fdad Tush
  21223. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21224. },
  21225. 229: {
  21226. Ffc: *(*struct {
  21227. Fcode [0]Tush
  21228. Ffreq Tush
  21229. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(335)})),
  21230. Fdl: *(*struct {
  21231. Flen1 [0]Tush
  21232. Fdad Tush
  21233. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21234. },
  21235. 230: {
  21236. Ffc: *(*struct {
  21237. Fcode [0]Tush
  21238. Ffreq Tush
  21239. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(207)})),
  21240. Fdl: *(*struct {
  21241. Flen1 [0]Tush
  21242. Fdad Tush
  21243. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21244. },
  21245. 231: {
  21246. Ffc: *(*struct {
  21247. Fcode [0]Tush
  21248. Ffreq Tush
  21249. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(463)})),
  21250. Fdl: *(*struct {
  21251. Flen1 [0]Tush
  21252. Fdad Tush
  21253. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21254. },
  21255. 232: {
  21256. Ffc: *(*struct {
  21257. Fcode [0]Tush
  21258. Ffreq Tush
  21259. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(47)})),
  21260. Fdl: *(*struct {
  21261. Flen1 [0]Tush
  21262. Fdad Tush
  21263. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21264. },
  21265. 233: {
  21266. Ffc: *(*struct {
  21267. Fcode [0]Tush
  21268. Ffreq Tush
  21269. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(303)})),
  21270. Fdl: *(*struct {
  21271. Flen1 [0]Tush
  21272. Fdad Tush
  21273. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21274. },
  21275. 234: {
  21276. Ffc: *(*struct {
  21277. Fcode [0]Tush
  21278. Ffreq Tush
  21279. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(175)})),
  21280. Fdl: *(*struct {
  21281. Flen1 [0]Tush
  21282. Fdad Tush
  21283. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21284. },
  21285. 235: {
  21286. Ffc: *(*struct {
  21287. Fcode [0]Tush
  21288. Ffreq Tush
  21289. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(431)})),
  21290. Fdl: *(*struct {
  21291. Flen1 [0]Tush
  21292. Fdad Tush
  21293. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21294. },
  21295. 236: {
  21296. Ffc: *(*struct {
  21297. Fcode [0]Tush
  21298. Ffreq Tush
  21299. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(111)})),
  21300. Fdl: *(*struct {
  21301. Flen1 [0]Tush
  21302. Fdad Tush
  21303. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21304. },
  21305. 237: {
  21306. Ffc: *(*struct {
  21307. Fcode [0]Tush
  21308. Ffreq Tush
  21309. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(367)})),
  21310. Fdl: *(*struct {
  21311. Flen1 [0]Tush
  21312. Fdad Tush
  21313. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21314. },
  21315. 238: {
  21316. Ffc: *(*struct {
  21317. Fcode [0]Tush
  21318. Ffreq Tush
  21319. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(239)})),
  21320. Fdl: *(*struct {
  21321. Flen1 [0]Tush
  21322. Fdad Tush
  21323. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21324. },
  21325. 239: {
  21326. Ffc: *(*struct {
  21327. Fcode [0]Tush
  21328. Ffreq Tush
  21329. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(495)})),
  21330. Fdl: *(*struct {
  21331. Flen1 [0]Tush
  21332. Fdad Tush
  21333. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21334. },
  21335. 240: {
  21336. Ffc: *(*struct {
  21337. Fcode [0]Tush
  21338. Ffreq Tush
  21339. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(31)})),
  21340. Fdl: *(*struct {
  21341. Flen1 [0]Tush
  21342. Fdad Tush
  21343. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21344. },
  21345. 241: {
  21346. Ffc: *(*struct {
  21347. Fcode [0]Tush
  21348. Ffreq Tush
  21349. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(287)})),
  21350. Fdl: *(*struct {
  21351. Flen1 [0]Tush
  21352. Fdad Tush
  21353. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21354. },
  21355. 242: {
  21356. Ffc: *(*struct {
  21357. Fcode [0]Tush
  21358. Ffreq Tush
  21359. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(159)})),
  21360. Fdl: *(*struct {
  21361. Flen1 [0]Tush
  21362. Fdad Tush
  21363. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21364. },
  21365. 243: {
  21366. Ffc: *(*struct {
  21367. Fcode [0]Tush
  21368. Ffreq Tush
  21369. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(415)})),
  21370. Fdl: *(*struct {
  21371. Flen1 [0]Tush
  21372. Fdad Tush
  21373. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21374. },
  21375. 244: {
  21376. Ffc: *(*struct {
  21377. Fcode [0]Tush
  21378. Ffreq Tush
  21379. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(95)})),
  21380. Fdl: *(*struct {
  21381. Flen1 [0]Tush
  21382. Fdad Tush
  21383. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21384. },
  21385. 245: {
  21386. Ffc: *(*struct {
  21387. Fcode [0]Tush
  21388. Ffreq Tush
  21389. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(351)})),
  21390. Fdl: *(*struct {
  21391. Flen1 [0]Tush
  21392. Fdad Tush
  21393. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21394. },
  21395. 246: {
  21396. Ffc: *(*struct {
  21397. Fcode [0]Tush
  21398. Ffreq Tush
  21399. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(223)})),
  21400. Fdl: *(*struct {
  21401. Flen1 [0]Tush
  21402. Fdad Tush
  21403. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21404. },
  21405. 247: {
  21406. Ffc: *(*struct {
  21407. Fcode [0]Tush
  21408. Ffreq Tush
  21409. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(479)})),
  21410. Fdl: *(*struct {
  21411. Flen1 [0]Tush
  21412. Fdad Tush
  21413. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21414. },
  21415. 248: {
  21416. Ffc: *(*struct {
  21417. Fcode [0]Tush
  21418. Ffreq Tush
  21419. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(63)})),
  21420. Fdl: *(*struct {
  21421. Flen1 [0]Tush
  21422. Fdad Tush
  21423. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21424. },
  21425. 249: {
  21426. Ffc: *(*struct {
  21427. Fcode [0]Tush
  21428. Ffreq Tush
  21429. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(319)})),
  21430. Fdl: *(*struct {
  21431. Flen1 [0]Tush
  21432. Fdad Tush
  21433. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21434. },
  21435. 250: {
  21436. Ffc: *(*struct {
  21437. Fcode [0]Tush
  21438. Ffreq Tush
  21439. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(191)})),
  21440. Fdl: *(*struct {
  21441. Flen1 [0]Tush
  21442. Fdad Tush
  21443. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21444. },
  21445. 251: {
  21446. Ffc: *(*struct {
  21447. Fcode [0]Tush
  21448. Ffreq Tush
  21449. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(447)})),
  21450. Fdl: *(*struct {
  21451. Flen1 [0]Tush
  21452. Fdad Tush
  21453. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21454. },
  21455. 252: {
  21456. Ffc: *(*struct {
  21457. Fcode [0]Tush
  21458. Ffreq Tush
  21459. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(127)})),
  21460. Fdl: *(*struct {
  21461. Flen1 [0]Tush
  21462. Fdad Tush
  21463. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21464. },
  21465. 253: {
  21466. Ffc: *(*struct {
  21467. Fcode [0]Tush
  21468. Ffreq Tush
  21469. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(383)})),
  21470. Fdl: *(*struct {
  21471. Flen1 [0]Tush
  21472. Fdad Tush
  21473. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21474. },
  21475. 254: {
  21476. Ffc: *(*struct {
  21477. Fcode [0]Tush
  21478. Ffreq Tush
  21479. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(255)})),
  21480. Fdl: *(*struct {
  21481. Flen1 [0]Tush
  21482. Fdad Tush
  21483. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21484. },
  21485. 255: {
  21486. Ffc: *(*struct {
  21487. Fcode [0]Tush
  21488. Ffreq Tush
  21489. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(511)})),
  21490. Fdl: *(*struct {
  21491. Flen1 [0]Tush
  21492. Fdad Tush
  21493. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21494. },
  21495. 256: {
  21496. Fdl: *(*struct {
  21497. Flen1 [0]Tush
  21498. Fdad Tush
  21499. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21500. },
  21501. 257: {
  21502. Ffc: *(*struct {
  21503. Fcode [0]Tush
  21504. Ffreq Tush
  21505. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(64)})),
  21506. Fdl: *(*struct {
  21507. Flen1 [0]Tush
  21508. Fdad Tush
  21509. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21510. },
  21511. 258: {
  21512. Ffc: *(*struct {
  21513. Fcode [0]Tush
  21514. Ffreq Tush
  21515. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(32)})),
  21516. Fdl: *(*struct {
  21517. Flen1 [0]Tush
  21518. Fdad Tush
  21519. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21520. },
  21521. 259: {
  21522. Ffc: *(*struct {
  21523. Fcode [0]Tush
  21524. Ffreq Tush
  21525. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(96)})),
  21526. Fdl: *(*struct {
  21527. Flen1 [0]Tush
  21528. Fdad Tush
  21529. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21530. },
  21531. 260: {
  21532. Ffc: *(*struct {
  21533. Fcode [0]Tush
  21534. Ffreq Tush
  21535. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  21536. Fdl: *(*struct {
  21537. Flen1 [0]Tush
  21538. Fdad Tush
  21539. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21540. },
  21541. 261: {
  21542. Ffc: *(*struct {
  21543. Fcode [0]Tush
  21544. Ffreq Tush
  21545. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(80)})),
  21546. Fdl: *(*struct {
  21547. Flen1 [0]Tush
  21548. Fdad Tush
  21549. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21550. },
  21551. 262: {
  21552. Ffc: *(*struct {
  21553. Fcode [0]Tush
  21554. Ffreq Tush
  21555. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(48)})),
  21556. Fdl: *(*struct {
  21557. Flen1 [0]Tush
  21558. Fdad Tush
  21559. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21560. },
  21561. 263: {
  21562. Ffc: *(*struct {
  21563. Fcode [0]Tush
  21564. Ffreq Tush
  21565. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(112)})),
  21566. Fdl: *(*struct {
  21567. Flen1 [0]Tush
  21568. Fdad Tush
  21569. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21570. },
  21571. 264: {
  21572. Ffc: *(*struct {
  21573. Fcode [0]Tush
  21574. Ffreq Tush
  21575. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21576. Fdl: *(*struct {
  21577. Flen1 [0]Tush
  21578. Fdad Tush
  21579. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21580. },
  21581. 265: {
  21582. Ffc: *(*struct {
  21583. Fcode [0]Tush
  21584. Ffreq Tush
  21585. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(72)})),
  21586. Fdl: *(*struct {
  21587. Flen1 [0]Tush
  21588. Fdad Tush
  21589. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21590. },
  21591. 266: {
  21592. Ffc: *(*struct {
  21593. Fcode [0]Tush
  21594. Ffreq Tush
  21595. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(40)})),
  21596. Fdl: *(*struct {
  21597. Flen1 [0]Tush
  21598. Fdad Tush
  21599. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21600. },
  21601. 267: {
  21602. Ffc: *(*struct {
  21603. Fcode [0]Tush
  21604. Ffreq Tush
  21605. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(104)})),
  21606. Fdl: *(*struct {
  21607. Flen1 [0]Tush
  21608. Fdad Tush
  21609. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21610. },
  21611. 268: {
  21612. Ffc: *(*struct {
  21613. Fcode [0]Tush
  21614. Ffreq Tush
  21615. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  21616. Fdl: *(*struct {
  21617. Flen1 [0]Tush
  21618. Fdad Tush
  21619. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21620. },
  21621. 269: {
  21622. Ffc: *(*struct {
  21623. Fcode [0]Tush
  21624. Ffreq Tush
  21625. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(88)})),
  21626. Fdl: *(*struct {
  21627. Flen1 [0]Tush
  21628. Fdad Tush
  21629. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21630. },
  21631. 270: {
  21632. Ffc: *(*struct {
  21633. Fcode [0]Tush
  21634. Ffreq Tush
  21635. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(56)})),
  21636. Fdl: *(*struct {
  21637. Flen1 [0]Tush
  21638. Fdad Tush
  21639. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21640. },
  21641. 271: {
  21642. Ffc: *(*struct {
  21643. Fcode [0]Tush
  21644. Ffreq Tush
  21645. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(120)})),
  21646. Fdl: *(*struct {
  21647. Flen1 [0]Tush
  21648. Fdad Tush
  21649. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21650. },
  21651. 272: {
  21652. Ffc: *(*struct {
  21653. Fcode [0]Tush
  21654. Ffreq Tush
  21655. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  21656. Fdl: *(*struct {
  21657. Flen1 [0]Tush
  21658. Fdad Tush
  21659. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21660. },
  21661. 273: {
  21662. Ffc: *(*struct {
  21663. Fcode [0]Tush
  21664. Ffreq Tush
  21665. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(68)})),
  21666. Fdl: *(*struct {
  21667. Flen1 [0]Tush
  21668. Fdad Tush
  21669. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21670. },
  21671. 274: {
  21672. Ffc: *(*struct {
  21673. Fcode [0]Tush
  21674. Ffreq Tush
  21675. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(36)})),
  21676. Fdl: *(*struct {
  21677. Flen1 [0]Tush
  21678. Fdad Tush
  21679. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21680. },
  21681. 275: {
  21682. Ffc: *(*struct {
  21683. Fcode [0]Tush
  21684. Ffreq Tush
  21685. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(100)})),
  21686. Fdl: *(*struct {
  21687. Flen1 [0]Tush
  21688. Fdad Tush
  21689. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21690. },
  21691. 276: {
  21692. Ffc: *(*struct {
  21693. Fcode [0]Tush
  21694. Ffreq Tush
  21695. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  21696. Fdl: *(*struct {
  21697. Flen1 [0]Tush
  21698. Fdad Tush
  21699. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21700. },
  21701. 277: {
  21702. Ffc: *(*struct {
  21703. Fcode [0]Tush
  21704. Ffreq Tush
  21705. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(84)})),
  21706. Fdl: *(*struct {
  21707. Flen1 [0]Tush
  21708. Fdad Tush
  21709. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21710. },
  21711. 278: {
  21712. Ffc: *(*struct {
  21713. Fcode [0]Tush
  21714. Ffreq Tush
  21715. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(52)})),
  21716. Fdl: *(*struct {
  21717. Flen1 [0]Tush
  21718. Fdad Tush
  21719. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21720. },
  21721. 279: {
  21722. Ffc: *(*struct {
  21723. Fcode [0]Tush
  21724. Ffreq Tush
  21725. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(116)})),
  21726. Fdl: *(*struct {
  21727. Flen1 [0]Tush
  21728. Fdad Tush
  21729. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  21730. },
  21731. 280: {
  21732. Ffc: *(*struct {
  21733. Fcode [0]Tush
  21734. Ffreq Tush
  21735. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  21736. Fdl: *(*struct {
  21737. Flen1 [0]Tush
  21738. Fdad Tush
  21739. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21740. },
  21741. 281: {
  21742. Ffc: *(*struct {
  21743. Fcode [0]Tush
  21744. Ffreq Tush
  21745. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(131)})),
  21746. Fdl: *(*struct {
  21747. Flen1 [0]Tush
  21748. Fdad Tush
  21749. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21750. },
  21751. 282: {
  21752. Ffc: *(*struct {
  21753. Fcode [0]Tush
  21754. Ffreq Tush
  21755. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(67)})),
  21756. Fdl: *(*struct {
  21757. Flen1 [0]Tush
  21758. Fdad Tush
  21759. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21760. },
  21761. 283: {
  21762. Ffc: *(*struct {
  21763. Fcode [0]Tush
  21764. Ffreq Tush
  21765. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(195)})),
  21766. Fdl: *(*struct {
  21767. Flen1 [0]Tush
  21768. Fdad Tush
  21769. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21770. },
  21771. 284: {
  21772. Ffc: *(*struct {
  21773. Fcode [0]Tush
  21774. Ffreq Tush
  21775. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(35)})),
  21776. Fdl: *(*struct {
  21777. Flen1 [0]Tush
  21778. Fdad Tush
  21779. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21780. },
  21781. 285: {
  21782. Ffc: *(*struct {
  21783. Fcode [0]Tush
  21784. Ffreq Tush
  21785. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(163)})),
  21786. Fdl: *(*struct {
  21787. Flen1 [0]Tush
  21788. Fdad Tush
  21789. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21790. },
  21791. 286: {
  21792. Ffc: *(*struct {
  21793. Fcode [0]Tush
  21794. Ffreq Tush
  21795. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(99)})),
  21796. Fdl: *(*struct {
  21797. Flen1 [0]Tush
  21798. Fdad Tush
  21799. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21800. },
  21801. 287: {
  21802. Ffc: *(*struct {
  21803. Fcode [0]Tush
  21804. Ffreq Tush
  21805. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(227)})),
  21806. Fdl: *(*struct {
  21807. Flen1 [0]Tush
  21808. Fdad Tush
  21809. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21810. },
  21811. }
  21812. var _static_dtree = [30]Tct_data{
  21813. 0: {
  21814. Fdl: *(*struct {
  21815. Flen1 [0]Tush
  21816. Fdad Tush
  21817. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21818. },
  21819. 1: {
  21820. Ffc: *(*struct {
  21821. Fcode [0]Tush
  21822. Ffreq Tush
  21823. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  21824. Fdl: *(*struct {
  21825. Flen1 [0]Tush
  21826. Fdad Tush
  21827. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21828. },
  21829. 2: {
  21830. Ffc: *(*struct {
  21831. Fcode [0]Tush
  21832. Ffreq Tush
  21833. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  21834. Fdl: *(*struct {
  21835. Flen1 [0]Tush
  21836. Fdad Tush
  21837. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21838. },
  21839. 3: {
  21840. Ffc: *(*struct {
  21841. Fcode [0]Tush
  21842. Ffreq Tush
  21843. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  21844. Fdl: *(*struct {
  21845. Flen1 [0]Tush
  21846. Fdad Tush
  21847. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21848. },
  21849. 4: {
  21850. Ffc: *(*struct {
  21851. Fcode [0]Tush
  21852. Ffreq Tush
  21853. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  21854. Fdl: *(*struct {
  21855. Flen1 [0]Tush
  21856. Fdad Tush
  21857. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21858. },
  21859. 5: {
  21860. Ffc: *(*struct {
  21861. Fcode [0]Tush
  21862. Ffreq Tush
  21863. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  21864. Fdl: *(*struct {
  21865. Flen1 [0]Tush
  21866. Fdad Tush
  21867. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21868. },
  21869. 6: {
  21870. Ffc: *(*struct {
  21871. Fcode [0]Tush
  21872. Ffreq Tush
  21873. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  21874. Fdl: *(*struct {
  21875. Flen1 [0]Tush
  21876. Fdad Tush
  21877. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21878. },
  21879. 7: {
  21880. Ffc: *(*struct {
  21881. Fcode [0]Tush
  21882. Ffreq Tush
  21883. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  21884. Fdl: *(*struct {
  21885. Flen1 [0]Tush
  21886. Fdad Tush
  21887. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21888. },
  21889. 8: {
  21890. Ffc: *(*struct {
  21891. Fcode [0]Tush
  21892. Ffreq Tush
  21893. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  21894. Fdl: *(*struct {
  21895. Flen1 [0]Tush
  21896. Fdad Tush
  21897. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21898. },
  21899. 9: {
  21900. Ffc: *(*struct {
  21901. Fcode [0]Tush
  21902. Ffreq Tush
  21903. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  21904. Fdl: *(*struct {
  21905. Flen1 [0]Tush
  21906. Fdad Tush
  21907. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21908. },
  21909. 10: {
  21910. Ffc: *(*struct {
  21911. Fcode [0]Tush
  21912. Ffreq Tush
  21913. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  21914. Fdl: *(*struct {
  21915. Flen1 [0]Tush
  21916. Fdad Tush
  21917. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21918. },
  21919. 11: {
  21920. Ffc: *(*struct {
  21921. Fcode [0]Tush
  21922. Ffreq Tush
  21923. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  21924. Fdl: *(*struct {
  21925. Flen1 [0]Tush
  21926. Fdad Tush
  21927. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21928. },
  21929. 12: {
  21930. Ffc: *(*struct {
  21931. Fcode [0]Tush
  21932. Ffreq Tush
  21933. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  21934. Fdl: *(*struct {
  21935. Flen1 [0]Tush
  21936. Fdad Tush
  21937. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21938. },
  21939. 13: {
  21940. Ffc: *(*struct {
  21941. Fcode [0]Tush
  21942. Ffreq Tush
  21943. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  21944. Fdl: *(*struct {
  21945. Flen1 [0]Tush
  21946. Fdad Tush
  21947. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21948. },
  21949. 14: {
  21950. Ffc: *(*struct {
  21951. Fcode [0]Tush
  21952. Ffreq Tush
  21953. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  21954. Fdl: *(*struct {
  21955. Flen1 [0]Tush
  21956. Fdad Tush
  21957. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21958. },
  21959. 15: {
  21960. Ffc: *(*struct {
  21961. Fcode [0]Tush
  21962. Ffreq Tush
  21963. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  21964. Fdl: *(*struct {
  21965. Flen1 [0]Tush
  21966. Fdad Tush
  21967. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21968. },
  21969. 16: {
  21970. Ffc: *(*struct {
  21971. Fcode [0]Tush
  21972. Ffreq Tush
  21973. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  21974. Fdl: *(*struct {
  21975. Flen1 [0]Tush
  21976. Fdad Tush
  21977. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21978. },
  21979. 17: {
  21980. Ffc: *(*struct {
  21981. Fcode [0]Tush
  21982. Ffreq Tush
  21983. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  21984. Fdl: *(*struct {
  21985. Flen1 [0]Tush
  21986. Fdad Tush
  21987. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21988. },
  21989. 18: {
  21990. Ffc: *(*struct {
  21991. Fcode [0]Tush
  21992. Ffreq Tush
  21993. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  21994. Fdl: *(*struct {
  21995. Flen1 [0]Tush
  21996. Fdad Tush
  21997. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  21998. },
  21999. 19: {
  22000. Ffc: *(*struct {
  22001. Fcode [0]Tush
  22002. Ffreq Tush
  22003. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  22004. Fdl: *(*struct {
  22005. Flen1 [0]Tush
  22006. Fdad Tush
  22007. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22008. },
  22009. 20: {
  22010. Ffc: *(*struct {
  22011. Fcode [0]Tush
  22012. Ffreq Tush
  22013. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22014. Fdl: *(*struct {
  22015. Flen1 [0]Tush
  22016. Fdad Tush
  22017. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22018. },
  22019. 21: {
  22020. Ffc: *(*struct {
  22021. Fcode [0]Tush
  22022. Ffreq Tush
  22023. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  22024. Fdl: *(*struct {
  22025. Flen1 [0]Tush
  22026. Fdad Tush
  22027. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22028. },
  22029. 22: {
  22030. Ffc: *(*struct {
  22031. Fcode [0]Tush
  22032. Ffreq Tush
  22033. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  22034. Fdl: *(*struct {
  22035. Flen1 [0]Tush
  22036. Fdad Tush
  22037. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22038. },
  22039. 23: {
  22040. Ffc: *(*struct {
  22041. Fcode [0]Tush
  22042. Ffreq Tush
  22043. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  22044. Fdl: *(*struct {
  22045. Flen1 [0]Tush
  22046. Fdad Tush
  22047. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22048. },
  22049. 24: {
  22050. Ffc: *(*struct {
  22051. Fcode [0]Tush
  22052. Ffreq Tush
  22053. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  22054. Fdl: *(*struct {
  22055. Flen1 [0]Tush
  22056. Fdad Tush
  22057. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22058. },
  22059. 25: {
  22060. Ffc: *(*struct {
  22061. Fcode [0]Tush
  22062. Ffreq Tush
  22063. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  22064. Fdl: *(*struct {
  22065. Flen1 [0]Tush
  22066. Fdad Tush
  22067. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22068. },
  22069. 26: {
  22070. Ffc: *(*struct {
  22071. Fcode [0]Tush
  22072. Ffreq Tush
  22073. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  22074. Fdl: *(*struct {
  22075. Flen1 [0]Tush
  22076. Fdad Tush
  22077. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22078. },
  22079. 27: {
  22080. Ffc: *(*struct {
  22081. Fcode [0]Tush
  22082. Ffreq Tush
  22083. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  22084. Fdl: *(*struct {
  22085. Flen1 [0]Tush
  22086. Fdad Tush
  22087. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22088. },
  22089. 28: {
  22090. Ffc: *(*struct {
  22091. Fcode [0]Tush
  22092. Ffreq Tush
  22093. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  22094. Fdl: *(*struct {
  22095. Flen1 [0]Tush
  22096. Fdad Tush
  22097. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22098. },
  22099. 29: {
  22100. Ffc: *(*struct {
  22101. Fcode [0]Tush
  22102. Ffreq Tush
  22103. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  22104. Fdl: *(*struct {
  22105. Flen1 [0]Tush
  22106. Fdad Tush
  22107. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  22108. },
  22109. }
  22110. var _base_length = [29]int32{
  22111. 1: int32(1),
  22112. 2: int32(2),
  22113. 3: int32(3),
  22114. 4: int32(4),
  22115. 5: int32(5),
  22116. 6: int32(6),
  22117. 7: int32(7),
  22118. 8: int32(8),
  22119. 9: int32(10),
  22120. 10: int32(12),
  22121. 11: int32(14),
  22122. 12: int32(16),
  22123. 13: int32(20),
  22124. 14: int32(24),
  22125. 15: int32(28),
  22126. 16: int32(32),
  22127. 17: int32(40),
  22128. 18: int32(48),
  22129. 19: int32(56),
  22130. 20: int32(64),
  22131. 21: int32(80),
  22132. 22: int32(96),
  22133. 23: int32(112),
  22134. 24: int32(128),
  22135. 25: int32(160),
  22136. 26: int32(192),
  22137. 27: int32(224),
  22138. }
  22139. var _base_dist = [30]int32{
  22140. 1: int32(1),
  22141. 2: int32(2),
  22142. 3: int32(3),
  22143. 4: int32(4),
  22144. 5: int32(6),
  22145. 6: int32(8),
  22146. 7: int32(12),
  22147. 8: int32(16),
  22148. 9: int32(24),
  22149. 10: int32(32),
  22150. 11: int32(48),
  22151. 12: int32(64),
  22152. 13: int32(96),
  22153. 14: int32(128),
  22154. 15: int32(192),
  22155. 16: int32(256),
  22156. 17: int32(384),
  22157. 18: int32(512),
  22158. 19: int32(768),
  22159. 20: int32(1024),
  22160. 21: int32(1536),
  22161. 22: int32(2048),
  22162. 23: int32(3072),
  22163. 24: int32(4096),
  22164. 25: int32(6144),
  22165. 26: int32(8192),
  22166. 27: int32(12288),
  22167. 28: int32(16384),
  22168. 29: int32(24576),
  22169. }
  22170. var _static_l_desc = Tstatic_tree_desc{
  22171. Fstatic_tree: uintptr(unsafe.Pointer(&_static_ltree)),
  22172. Fextra_bits: uintptr(unsafe.Pointer(&_extra_lbits)),
  22173. Fextra_base: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1),
  22174. Felems: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1) + libc.Int32FromInt32(m_LENGTH_CODES),
  22175. Fmax_length: int32(m_MAX_BITS),
  22176. }
  22177. var _static_d_desc = Tstatic_tree_desc{
  22178. Fstatic_tree: uintptr(unsafe.Pointer(&_static_dtree)),
  22179. Fextra_bits: uintptr(unsafe.Pointer(&_extra_dbits)),
  22180. Felems: int32(m_D_CODES),
  22181. Fmax_length: int32(m_MAX_BITS),
  22182. }
  22183. var _static_bl_desc = Tstatic_tree_desc{
  22184. Fextra_bits: uintptr(unsafe.Pointer(&_extra_blbits)),
  22185. Felems: int32(m_BL_CODES),
  22186. Fmax_length: int32(m_MAX_BL_BITS),
  22187. }
  22188. /* ===========================================================================
  22189. * Output a short LSB first on the stream.
  22190. * IN assertion: there is enough room in pendingBuf.
  22191. */
  22192. // C documentation
  22193. //
  22194. // /* ===========================================================================
  22195. // * Reverse the first len bits of a code, using straightforward code (a faster
  22196. // * method would use a table)
  22197. // * IN assertion: 1 <= len <= 15
  22198. // */
  22199. func _bi_reverse(tls *libc.TLS, code uint32, len1 int32) (r uint32) {
  22200. var res uint32
  22201. var v1 int32
  22202. _, _ = res, v1
  22203. res = uint32(0)
  22204. for {
  22205. res |= code & uint32(1)
  22206. code >>= uint32(1)
  22207. res <<= uint32(1)
  22208. goto _2
  22209. _2:
  22210. ;
  22211. len1--
  22212. v1 = len1
  22213. if !(v1 > 0) {
  22214. break
  22215. }
  22216. }
  22217. return res >> int32(1)
  22218. }
  22219. // C documentation
  22220. //
  22221. // /* ===========================================================================
  22222. // * Flush the bit buffer, keeping at most 7 bits in it.
  22223. // */
  22224. func _bi_flush(tls *libc.TLS, s uintptr) {
  22225. var v1, v3, v5 Tulg
  22226. var v2, v4, v6, p7 uintptr
  22227. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, p7
  22228. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid == int32(16) {
  22229. v2 = s + 40
  22230. v1 = *(*Tulg)(unsafe.Pointer(v2))
  22231. *(*Tulg)(unsafe.Pointer(v2))++
  22232. *(*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))
  22233. v4 = s + 40
  22234. v3 = *(*Tulg)(unsafe.Pointer(v4))
  22235. *(*Tulg)(unsafe.Pointer(v4))++
  22236. *(*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))
  22237. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  22238. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  22239. } else {
  22240. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid >= int32(8) {
  22241. v6 = s + 40
  22242. v5 = *(*Tulg)(unsafe.Pointer(v6))
  22243. *(*Tulg)(unsafe.Pointer(v6))++
  22244. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  22245. p7 = s + 5936
  22246. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) >> libc.Int32FromInt32(8))
  22247. *(*int32)(unsafe.Pointer(s + 5940)) -= int32(8)
  22248. }
  22249. }
  22250. }
  22251. // C documentation
  22252. //
  22253. // /* ===========================================================================
  22254. // * Flush the bit buffer and align the output on a byte boundary
  22255. // */
  22256. func _bi_windup(tls *libc.TLS, s uintptr) {
  22257. var v1, v3, v5 Tulg
  22258. var v2, v4, v6 uintptr
  22259. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  22260. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > int32(8) {
  22261. v2 = s + 40
  22262. v1 = *(*Tulg)(unsafe.Pointer(v2))
  22263. *(*Tulg)(unsafe.Pointer(v2))++
  22264. *(*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))
  22265. v4 = s + 40
  22266. v3 = *(*Tulg)(unsafe.Pointer(v4))
  22267. *(*Tulg)(unsafe.Pointer(v4))++
  22268. *(*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))
  22269. } else {
  22270. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > 0 {
  22271. v6 = s + 40
  22272. v5 = *(*Tulg)(unsafe.Pointer(v6))
  22273. *(*Tulg)(unsafe.Pointer(v6))++
  22274. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  22275. }
  22276. }
  22277. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  22278. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  22279. }
  22280. // C documentation
  22281. //
  22282. // /* ===========================================================================
  22283. // * Generate the codes for a given tree and bit counts (which need not be
  22284. // * optimal).
  22285. // * IN assertion: the array bl_count contains the bit length statistics for
  22286. // * the given tree and the field len is set for all tree elements.
  22287. // * OUT assertion: the field code is set for all tree elements of non
  22288. // * zero code length.
  22289. // */
  22290. func _gen_codes(tls *libc.TLS, tree uintptr, max_code int32, bl_count uintptr) {
  22291. bp := tls.Alloc(32)
  22292. defer tls.Free(32)
  22293. var bits, len1, n int32
  22294. var code uint32
  22295. var v3 Tush
  22296. var v4 uintptr
  22297. var _ /* next_code at bp+0 */ [16]Tush
  22298. _, _, _, _, _, _ = bits, code, len1, n, v3, v4 /* next code value for each bit length */
  22299. code = uint32(0) /* code index */
  22300. /* The distribution counts are first used to generate the code values
  22301. * without bit reversal.
  22302. */
  22303. bits = int32(1)
  22304. for {
  22305. if !(bits <= int32(m_MAX_BITS)) {
  22306. break
  22307. }
  22308. code = (code + uint32(*(*Tushf)(unsafe.Pointer(bl_count + uintptr(bits-int32(1))*2)))) << int32(1)
  22309. (*(*[16]Tush)(unsafe.Pointer(bp)))[bits] = uint16(code)
  22310. goto _1
  22311. _1:
  22312. ;
  22313. bits++
  22314. }
  22315. /* Check that the bit counts in bl_count are consistent. The last code
  22316. * must be all ones.
  22317. */
  22318. n = 0
  22319. for {
  22320. if !(n <= max_code) {
  22321. break
  22322. }
  22323. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))
  22324. if len1 == 0 {
  22325. goto _2
  22326. }
  22327. /* Now reverse the bits */
  22328. v4 = bp + uintptr(len1)*2
  22329. v3 = *(*Tush)(unsafe.Pointer(v4))
  22330. *(*Tush)(unsafe.Pointer(v4))++
  22331. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4)) = uint16(_bi_reverse(tls, uint32(v3), len1))
  22332. goto _2
  22333. _2:
  22334. ;
  22335. n++
  22336. }
  22337. }
  22338. /* Send a code of the given tree. c and tree must not have side effects */
  22339. /* ===========================================================================
  22340. * Send a value on a given number of bits.
  22341. * IN assertion: length <= 16 and value fits in length bits.
  22342. */
  22343. /* the arguments must not have side effects */
  22344. // C documentation
  22345. //
  22346. // /* ===========================================================================
  22347. // * Initialize the various 'constant' tables.
  22348. // */
  22349. func _tr_static_init(tls *libc.TLS) {
  22350. }
  22351. /* ===========================================================================
  22352. * Generate the file trees.h describing the static trees.
  22353. */
  22354. // C documentation
  22355. //
  22356. // /* ===========================================================================
  22357. // * Initialize a new block.
  22358. // */
  22359. func _init_block(tls *libc.TLS, s uintptr) {
  22360. var n int32
  22361. var v4 Tulg
  22362. var v5 TuInt
  22363. _, _, _ = n, v4, v5 /* iterates over tree elements */
  22364. /* Initialize the trees. */
  22365. n = 0
  22366. for {
  22367. if !(n < libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) {
  22368. break
  22369. }
  22370. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4)) = uint16(0)
  22371. goto _1
  22372. _1:
  22373. ;
  22374. n++
  22375. }
  22376. n = 0
  22377. for {
  22378. if !(n < int32(m_D_CODES)) {
  22379. break
  22380. }
  22381. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(n)*4)) = uint16(0)
  22382. goto _2
  22383. _2:
  22384. ;
  22385. n++
  22386. }
  22387. n = 0
  22388. for {
  22389. if !(n < int32(m_BL_CODES)) {
  22390. break
  22391. }
  22392. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(n)*4)) = uint16(0)
  22393. goto _3
  22394. _3:
  22395. ;
  22396. n++
  22397. }
  22398. *(*Tush)(unsafe.Pointer(s + 212 + 256*4)) = uint16(1)
  22399. v4 = libc.Uint64FromInt64(0)
  22400. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len = v4
  22401. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len = v4
  22402. v5 = libc.Uint32FromInt32(0)
  22403. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = v5
  22404. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next = v5
  22405. }
  22406. // C documentation
  22407. //
  22408. // /* ===========================================================================
  22409. // * Initialize the tree data structures for a new zlib stream.
  22410. // */
  22411. func x__tr_init(tls *libc.TLS, s uintptr) {
  22412. _tr_static_init(tls)
  22413. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fdyn_tree = s + 212
  22414. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_l_desc))
  22415. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fdyn_tree = s + 2504
  22416. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_d_desc))
  22417. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fdyn_tree = s + 2748
  22418. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_bl_desc))
  22419. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  22420. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  22421. /* Initialize the first block of the first file: */
  22422. _init_block(tls, s)
  22423. }
  22424. /* Index within the heap array of least frequent node in the Huffman tree */
  22425. /* ===========================================================================
  22426. * Remove the smallest element from the heap and recreate the heap with
  22427. * one less element. Updates heap and heap_len.
  22428. */
  22429. /* ===========================================================================
  22430. * Compares to subtrees, using the tree depth as tie breaker when
  22431. * the subtrees have equal frequency. This minimizes the worst case length.
  22432. */
  22433. // C documentation
  22434. //
  22435. // /* ===========================================================================
  22436. // * Restore the heap property by moving down the tree starting at node k,
  22437. // * exchanging a node with the smallest of its two sons if necessary, stopping
  22438. // * when the heap property is re-established (each father smaller than its
  22439. // * two sons).
  22440. // */
  22441. func _pqdownheap(tls *libc.TLS, s uintptr, tree uintptr, k int32) {
  22442. var j, v int32
  22443. _, _ = j, v
  22444. v = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4))
  22445. j = k << int32(1) /* left son of k */
  22446. for j <= (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len {
  22447. /* Set j to the smallest of the two sons: */
  22448. 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))))))) {
  22449. j++
  22450. }
  22451. /* Exit if v is smaller than both sons */
  22452. 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)))))) {
  22453. break
  22454. }
  22455. /* Exchange v with the smallest son */
  22456. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))
  22457. k = j
  22458. /* And continue down the tree, setting j to the left son of k */
  22459. j <<= int32(1)
  22460. }
  22461. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = v
  22462. }
  22463. // C documentation
  22464. //
  22465. // /* ===========================================================================
  22466. // * Compute the optimal bit lengths for a tree and update the total bit length
  22467. // * for the current block.
  22468. // * IN assertion: the fields freq and dad are set, heap[heap_max] and
  22469. // * above are the tree nodes sorted by increasing frequency.
  22470. // * OUT assertions: the field len is set to the optimal bit length, the
  22471. // * array bl_count contains the frequencies for each bit length.
  22472. // * The length opt_len is updated; static_len is also updated if stree is
  22473. // * not null.
  22474. // */
  22475. func _gen_bitlen(tls *libc.TLS, s uintptr, desc uintptr) {
  22476. var base, bits, h, m, max_code, max_length, n, overflow, xbits, v5 int32
  22477. var extra, stree, tree, p3 uintptr
  22478. var f Tush
  22479. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, bits, extra, f, h, m, max_code, max_length, n, overflow, stree, tree, xbits, v5, p3
  22480. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  22481. max_code = (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code
  22482. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  22483. extra = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_bits
  22484. base = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_base
  22485. max_length = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fmax_length /* frequency */
  22486. overflow = 0 /* number of elements with bit length too large */
  22487. bits = 0
  22488. for {
  22489. if !(bits <= int32(m_MAX_BITS)) {
  22490. break
  22491. }
  22492. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)) = uint16(0)
  22493. goto _1
  22494. _1:
  22495. ;
  22496. bits++
  22497. }
  22498. /* In a first pass, compute the optimal bit lengths (which may
  22499. * overflow in the case of the bit length tree).
  22500. */
  22501. *(*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 */
  22502. h = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max + int32(1)
  22503. for {
  22504. if !(h < libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES))+libc.Int32FromInt32(1)) {
  22505. break
  22506. }
  22507. n = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(h)*4))
  22508. bits = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))*4 + 2))) + int32(1)
  22509. if bits > max_length {
  22510. bits = max_length
  22511. overflow++
  22512. }
  22513. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = libc.Uint16FromInt32(bits)
  22514. /* We overwrite tree[n].Dad which is no longer needed */
  22515. if n > max_code {
  22516. goto _2
  22517. } /* not a leaf node */
  22518. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))++
  22519. xbits = 0
  22520. if n >= base {
  22521. xbits = *(*Tintf)(unsafe.Pointer(extra + uintptr(n-base)*4))
  22522. }
  22523. f = *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))
  22524. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(f) * uint64(libc.Uint32FromInt32(bits+xbits))
  22525. if stree != 0 {
  22526. *(*Tulg)(unsafe.Pointer(s + 5920)) += uint64(f) * uint64(libc.Uint32FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(stree + uintptr(n)*4 + 2)))+xbits))
  22527. }
  22528. goto _2
  22529. _2:
  22530. ;
  22531. h++
  22532. }
  22533. if overflow == 0 {
  22534. return
  22535. }
  22536. /* This happens for example on obj2 and pic of the Calgary corpus */
  22537. /* Find the first bit length which could increase: */
  22538. for cond := true; cond; cond = overflow > 0 {
  22539. bits = max_length - int32(1)
  22540. for libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))) == 0 {
  22541. bits--
  22542. }
  22543. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))-- /* move one leaf down the tree */
  22544. p3 = s + 2976 + uintptr(bits+int32(1))*2
  22545. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + libc.Int32FromInt32(2)) /* move one overflow item as its brother */
  22546. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(max_length)*2))--
  22547. /* The brother of the overflow item also moves one step up,
  22548. * but this does not affect bl_count[max_length]
  22549. */
  22550. overflow -= int32(2)
  22551. }
  22552. /* Now recompute all bit lengths, scanning in increasing frequency.
  22553. * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
  22554. * lengths instead of fixing only the wrong ones. This idea is taken
  22555. * from 'ar' written by Haruhiko Okumura.)
  22556. */
  22557. bits = max_length
  22558. for {
  22559. if !(bits != 0) {
  22560. break
  22561. }
  22562. n = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)))
  22563. for n != 0 {
  22564. h--
  22565. v5 = h
  22566. m = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v5)*4))
  22567. if m > max_code {
  22568. continue
  22569. }
  22570. if uint32(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2))) != libc.Uint32FromInt32(bits) {
  22571. *(*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)))
  22572. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = libc.Uint16FromInt32(bits)
  22573. }
  22574. n--
  22575. }
  22576. goto _4
  22577. _4:
  22578. ;
  22579. bits--
  22580. }
  22581. }
  22582. // C documentation
  22583. //
  22584. // /* ===========================================================================
  22585. // * Construct one Huffman tree and assigns the code bit strings and lengths.
  22586. // * Update the total bit length for the current block.
  22587. // * IN assertion: the field freq is set for all tree elements.
  22588. // * OUT assertions: the fields len and code are set to the optimal bit length
  22589. // * and corresponding code. The length opt_len is updated; static_len is
  22590. // * also updated if stree is not null. The field max_code is set.
  22591. // */
  22592. func _build_tree(tls *libc.TLS, s uintptr, desc uintptr) {
  22593. var elems, m, max_code, n, node, v11, v13, v15, v17, v19, v2, v20, v4, v5, v6, v7, v8 int32
  22594. var stree, tree, v12, v14, v16, v21, v3, v9 uintptr
  22595. var v18 Tush
  22596. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  22597. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  22598. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  22599. elems = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Felems /* iterate over heap elements */
  22600. max_code = -int32(1) /* new node being created */
  22601. /* Construct the initial heap, with least frequent element in
  22602. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  22603. * heap[0] is not used.
  22604. */
  22605. (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len = 0 /* new node being created */
  22606. /* Construct the initial heap, with least frequent element in
  22607. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  22608. * heap[0] is not used.
  22609. */
  22610. (*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)
  22611. n = 0
  22612. for {
  22613. if !(n < elems) {
  22614. break
  22615. }
  22616. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) != 0 {
  22617. v3 = s + 5300
  22618. *(*int32)(unsafe.Pointer(v3))++
  22619. v2 = *(*int32)(unsafe.Pointer(v3))
  22620. v4 = n
  22621. max_code = v4
  22622. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v2)*4)) = v4
  22623. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))) = uint8(0)
  22624. } else {
  22625. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = uint16(0)
  22626. }
  22627. goto _1
  22628. _1:
  22629. ;
  22630. n++
  22631. }
  22632. /* The pkzip format requires that at least one distance code exists,
  22633. * and that at least one bit should be sent even if there is only one
  22634. * possible code. So to avoid special checks later on we force at least
  22635. * two codes of non zero frequency.
  22636. */
  22637. for (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len < int32(2) {
  22638. if max_code < int32(2) {
  22639. max_code++
  22640. v7 = max_code
  22641. v6 = v7
  22642. } else {
  22643. v6 = 0
  22644. }
  22645. v5 = v6
  22646. v9 = s + 5300
  22647. *(*int32)(unsafe.Pointer(v9))++
  22648. v8 = *(*int32)(unsafe.Pointer(v9))
  22649. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v8)*4)) = v5
  22650. node = v5
  22651. *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = uint16(1)
  22652. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = uint8(0)
  22653. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len--
  22654. if stree != 0 {
  22655. *(*Tulg)(unsafe.Pointer(s + 5920)) -= uint64(*(*Tush)(unsafe.Pointer(stree + uintptr(node)*4 + 2)))
  22656. }
  22657. /* node is 0 or 1 so it does not have extra bits */
  22658. }
  22659. (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code = max_code
  22660. /* The elements heap[heap_len/2 + 1 .. heap_len] are leaves of the tree,
  22661. * establish sub-heaps of increasing lengths:
  22662. */
  22663. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len / int32(2)
  22664. for {
  22665. if !(n >= int32(1)) {
  22666. break
  22667. }
  22668. _pqdownheap(tls, s, tree, n)
  22669. goto _10
  22670. _10:
  22671. ;
  22672. n--
  22673. }
  22674. /* Construct the Huffman tree by repeatedly combining the least two
  22675. * frequent nodes.
  22676. */
  22677. node = elems /* next internal node of the tree */
  22678. for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len >= int32(2) {
  22679. n = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  22680. v12 = s + 5300
  22681. v11 = *(*int32)(unsafe.Pointer(v12))
  22682. *(*int32)(unsafe.Pointer(v12))--
  22683. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v11)*4))
  22684. _pqdownheap(tls, s, tree, int32(m_SMALLEST)) /* n = node of least frequency */
  22685. m = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) /* m = node of next least frequency */
  22686. v14 = s + 5304
  22687. *(*int32)(unsafe.Pointer(v14))--
  22688. v13 = *(*int32)(unsafe.Pointer(v14))
  22689. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v13)*4)) = n /* keep the nodes sorted by frequency */
  22690. v16 = s + 5304
  22691. *(*int32)(unsafe.Pointer(v16))--
  22692. v15 = *(*int32)(unsafe.Pointer(v16))
  22693. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v15)*4)) = m
  22694. /* Create a new node father of n and m */
  22695. *(*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))))
  22696. if libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n)))) >= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m)))) {
  22697. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))))
  22698. } else {
  22699. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m))))
  22700. }
  22701. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = libc.Uint8FromInt32(v17 + libc.Int32FromInt32(1))
  22702. v18 = libc.Uint16FromInt32(node)
  22703. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = v18
  22704. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = v18
  22705. /* and insert the new node in the heap */
  22706. v19 = node
  22707. node++
  22708. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = v19
  22709. _pqdownheap(tls, s, tree, int32(m_SMALLEST))
  22710. }
  22711. v21 = s + 5304
  22712. *(*int32)(unsafe.Pointer(v21))--
  22713. v20 = *(*int32)(unsafe.Pointer(v21))
  22714. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v20)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  22715. /* At this point, the fields freq and dad are set. We can now
  22716. * generate the bit lengths.
  22717. */
  22718. _gen_bitlen(tls, s, desc)
  22719. /* The field len is now set, we can generate the bit codes */
  22720. _gen_codes(tls, tree, max_code, s+2976)
  22721. }
  22722. // C documentation
  22723. //
  22724. // /* ===========================================================================
  22725. // * Scan a literal or distance tree to determine the frequencies of the codes
  22726. // * in the bit length tree.
  22727. // */
  22728. func _scan_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  22729. var count, curlen, max_count, min_count, n, nextlen, prevlen, v2 int32
  22730. var p3 uintptr
  22731. _, _, _, _, _, _, _, _, _ = count, curlen, max_count, min_count, n, nextlen, prevlen, v2, p3 /* iterates over all tree elements */
  22732. prevlen = -int32(1) /* length of current code */
  22733. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  22734. count = 0 /* repeat count of the current code */
  22735. max_count = int32(7) /* max repeat count */
  22736. min_count = int32(4) /* min repeat count */
  22737. if nextlen == 0 {
  22738. max_count = int32(138)
  22739. min_count = libc.Int32FromInt32(3)
  22740. }
  22741. *(*Tush)(unsafe.Pointer(tree + uintptr(max_code+int32(1))*4 + 2)) = libc.Uint16FromInt32(0xffff) /* guard */
  22742. n = 0
  22743. for {
  22744. if !(n <= max_code) {
  22745. break
  22746. }
  22747. curlen = nextlen
  22748. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  22749. count++
  22750. v2 = count
  22751. if v2 < max_count && curlen == nextlen {
  22752. goto _1
  22753. } else {
  22754. if count < min_count {
  22755. p3 = s + 2748 + uintptr(curlen)*4
  22756. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + count)
  22757. } else {
  22758. if curlen != 0 {
  22759. if curlen != prevlen {
  22760. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))++
  22761. }
  22762. *(*Tush)(unsafe.Pointer(s + 2748 + 16*4))++
  22763. } else {
  22764. if count <= int32(10) {
  22765. *(*Tush)(unsafe.Pointer(s + 2748 + 17*4))++
  22766. } else {
  22767. *(*Tush)(unsafe.Pointer(s + 2748 + 18*4))++
  22768. }
  22769. }
  22770. }
  22771. }
  22772. count = 0
  22773. prevlen = curlen
  22774. if nextlen == 0 {
  22775. max_count = int32(138)
  22776. min_count = libc.Int32FromInt32(3)
  22777. } else {
  22778. if curlen == nextlen {
  22779. max_count = int32(6)
  22780. min_count = libc.Int32FromInt32(3)
  22781. } else {
  22782. max_count = int32(7)
  22783. min_count = libc.Int32FromInt32(4)
  22784. }
  22785. }
  22786. goto _1
  22787. _1:
  22788. ;
  22789. n++
  22790. }
  22791. }
  22792. // C documentation
  22793. //
  22794. // /* ===========================================================================
  22795. // * Send a literal or distance tree in compressed form, using the codes in
  22796. // * bl_tree.
  22797. // */
  22798. func _send_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  22799. 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
  22800. var v12, v14, v18, v20, v24, v26, v30, v32, v36, v38, v42, v44, v48, v50, v6, v8 Tulg
  22801. 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
  22802. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  22803. prevlen = -int32(1) /* length of current code */
  22804. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  22805. count = 0 /* repeat count of the current code */
  22806. max_count = int32(7) /* max repeat count */
  22807. min_count = int32(4) /* min repeat count */
  22808. /* tree[max_code + 1].Len = -1; */ /* guard already set */
  22809. if nextlen == 0 {
  22810. max_count = int32(138)
  22811. min_count = libc.Int32FromInt32(3)
  22812. }
  22813. n = 0
  22814. for {
  22815. if !(n <= max_code) {
  22816. break
  22817. }
  22818. curlen = nextlen
  22819. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  22820. count++
  22821. v2 = count
  22822. if v2 < max_count && curlen == nextlen {
  22823. goto _1
  22824. } else {
  22825. if count < min_count {
  22826. for {
  22827. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  22828. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  22829. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  22830. p5 = s + 5936
  22831. *(*Tush)(unsafe.Pointer(p5)) = Tush(int32(*(*Tush)(unsafe.Pointer(p5))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22832. v7 = s + 40
  22833. v6 = *(*Tulg)(unsafe.Pointer(v7))
  22834. *(*Tulg)(unsafe.Pointer(v7))++
  22835. *(*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))
  22836. v9 = s + 40
  22837. v8 = *(*Tulg)(unsafe.Pointer(v9))
  22838. *(*Tulg)(unsafe.Pointer(v9))++
  22839. *(*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))
  22840. (*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))
  22841. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  22842. } else {
  22843. p10 = s + 5936
  22844. *(*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)
  22845. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  22846. }
  22847. goto _4
  22848. _4:
  22849. ;
  22850. count--
  22851. v3 = count
  22852. if !(v3 != 0) {
  22853. break
  22854. }
  22855. }
  22856. } else {
  22857. if curlen != 0 {
  22858. if curlen != prevlen {
  22859. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  22860. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  22861. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  22862. p11 = s + 5936
  22863. *(*Tush)(unsafe.Pointer(p11)) = Tush(int32(*(*Tush)(unsafe.Pointer(p11))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22864. v13 = s + 40
  22865. v12 = *(*Tulg)(unsafe.Pointer(v13))
  22866. *(*Tulg)(unsafe.Pointer(v13))++
  22867. *(*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))
  22868. v15 = s + 40
  22869. v14 = *(*Tulg)(unsafe.Pointer(v15))
  22870. *(*Tulg)(unsafe.Pointer(v15))++
  22871. *(*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))
  22872. (*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))
  22873. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  22874. } else {
  22875. p16 = s + 5936
  22876. *(*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)
  22877. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  22878. }
  22879. count--
  22880. }
  22881. len2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4 + 2)))
  22882. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  22883. val2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))
  22884. p17 = s + 5936
  22885. *(*Tush)(unsafe.Pointer(p17)) = Tush(int32(*(*Tush)(unsafe.Pointer(p17))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22886. v19 = s + 40
  22887. v18 = *(*Tulg)(unsafe.Pointer(v19))
  22888. *(*Tulg)(unsafe.Pointer(v19))++
  22889. *(*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))
  22890. v21 = s + 40
  22891. v20 = *(*Tulg)(unsafe.Pointer(v21))
  22892. *(*Tulg)(unsafe.Pointer(v21))++
  22893. *(*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))
  22894. (*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))
  22895. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  22896. } else {
  22897. p22 = s + 5936
  22898. *(*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)
  22899. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  22900. }
  22901. len3 = int32(2)
  22902. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  22903. val3 = count - int32(3)
  22904. p23 = s + 5936
  22905. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22906. v25 = s + 40
  22907. v24 = *(*Tulg)(unsafe.Pointer(v25))
  22908. *(*Tulg)(unsafe.Pointer(v25))++
  22909. *(*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))
  22910. v27 = s + 40
  22911. v26 = *(*Tulg)(unsafe.Pointer(v27))
  22912. *(*Tulg)(unsafe.Pointer(v27))++
  22913. *(*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))
  22914. (*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))
  22915. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  22916. } else {
  22917. p28 = s + 5936
  22918. *(*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)
  22919. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  22920. }
  22921. } else {
  22922. if count <= int32(10) {
  22923. len4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4 + 2)))
  22924. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  22925. val4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))
  22926. p29 = s + 5936
  22927. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22928. v31 = s + 40
  22929. v30 = *(*Tulg)(unsafe.Pointer(v31))
  22930. *(*Tulg)(unsafe.Pointer(v31))++
  22931. *(*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))
  22932. v33 = s + 40
  22933. v32 = *(*Tulg)(unsafe.Pointer(v33))
  22934. *(*Tulg)(unsafe.Pointer(v33))++
  22935. *(*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))
  22936. (*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))
  22937. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  22938. } else {
  22939. p34 = s + 5936
  22940. *(*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)
  22941. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  22942. }
  22943. len5 = int32(3)
  22944. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  22945. val5 = count - int32(3)
  22946. p35 = s + 5936
  22947. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22948. v37 = s + 40
  22949. v36 = *(*Tulg)(unsafe.Pointer(v37))
  22950. *(*Tulg)(unsafe.Pointer(v37))++
  22951. *(*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))
  22952. v39 = s + 40
  22953. v38 = *(*Tulg)(unsafe.Pointer(v39))
  22954. *(*Tulg)(unsafe.Pointer(v39))++
  22955. *(*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))
  22956. (*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))
  22957. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  22958. } else {
  22959. p40 = s + 5936
  22960. *(*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)
  22961. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  22962. }
  22963. } else {
  22964. len6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4 + 2)))
  22965. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len6 {
  22966. val6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))
  22967. p41 = s + 5936
  22968. *(*Tush)(unsafe.Pointer(p41)) = Tush(int32(*(*Tush)(unsafe.Pointer(p41))) | libc.Int32FromUint16(libc.Uint16FromInt32(val6))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22969. v43 = s + 40
  22970. v42 = *(*Tulg)(unsafe.Pointer(v43))
  22971. *(*Tulg)(unsafe.Pointer(v43))++
  22972. *(*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))
  22973. v45 = s + 40
  22974. v44 = *(*Tulg)(unsafe.Pointer(v45))
  22975. *(*Tulg)(unsafe.Pointer(v45))++
  22976. *(*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))
  22977. (*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))
  22978. *(*int32)(unsafe.Pointer(s + 5940)) += len6 - int32(m_Buf_size)
  22979. } else {
  22980. p46 = s + 5936
  22981. *(*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)
  22982. *(*int32)(unsafe.Pointer(s + 5940)) += len6
  22983. }
  22984. len7 = int32(7)
  22985. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len7 {
  22986. val7 = count - int32(11)
  22987. p47 = s + 5936
  22988. *(*Tush)(unsafe.Pointer(p47)) = Tush(int32(*(*Tush)(unsafe.Pointer(p47))) | libc.Int32FromUint16(libc.Uint16FromInt32(val7))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22989. v49 = s + 40
  22990. v48 = *(*Tulg)(unsafe.Pointer(v49))
  22991. *(*Tulg)(unsafe.Pointer(v49))++
  22992. *(*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))
  22993. v51 = s + 40
  22994. v50 = *(*Tulg)(unsafe.Pointer(v51))
  22995. *(*Tulg)(unsafe.Pointer(v51))++
  22996. *(*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))
  22997. (*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))
  22998. *(*int32)(unsafe.Pointer(s + 5940)) += len7 - int32(m_Buf_size)
  22999. } else {
  23000. p52 = s + 5936
  23001. *(*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)
  23002. *(*int32)(unsafe.Pointer(s + 5940)) += len7
  23003. }
  23004. }
  23005. }
  23006. }
  23007. }
  23008. count = 0
  23009. prevlen = curlen
  23010. if nextlen == 0 {
  23011. max_count = int32(138)
  23012. min_count = libc.Int32FromInt32(3)
  23013. } else {
  23014. if curlen == nextlen {
  23015. max_count = int32(6)
  23016. min_count = libc.Int32FromInt32(3)
  23017. } else {
  23018. max_count = int32(7)
  23019. min_count = libc.Int32FromInt32(4)
  23020. }
  23021. }
  23022. goto _1
  23023. _1:
  23024. ;
  23025. n++
  23026. }
  23027. }
  23028. // C documentation
  23029. //
  23030. // /* ===========================================================================
  23031. // * Construct the Huffman tree for the bit lengths and return the index in
  23032. // * bl_order of the last bit length code to send.
  23033. // */
  23034. func _build_bl_tree(tls *libc.TLS, s uintptr) (r int32) {
  23035. var max_blindex int32
  23036. _ = max_blindex /* index of last bit length code of non zero freq */
  23037. /* Determine the bit length frequencies for literal and distance trees */
  23038. _scan_tree(tls, s, s+212, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code)
  23039. _scan_tree(tls, s, s+2504, (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code)
  23040. /* Build the bit length tree: */
  23041. _build_tree(tls, s, s+2952)
  23042. /* opt_len now includes the length of the tree representations, except the
  23043. * lengths of the bit lengths codes and the 5 + 5 + 4 bits for the counts.
  23044. */
  23045. /* Determine the number of bit length codes to send. The pkzip format
  23046. * requires that at least 4 bit length codes be sent. (appnote.txt says
  23047. * 3 but the actual value used is 4.)
  23048. */
  23049. max_blindex = libc.Int32FromInt32(m_BL_CODES) - libc.Int32FromInt32(1)
  23050. for {
  23051. if !(max_blindex >= int32(3)) {
  23052. break
  23053. }
  23054. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[max_blindex])*4 + 2))) != 0 {
  23055. break
  23056. }
  23057. goto _1
  23058. _1:
  23059. ;
  23060. max_blindex--
  23061. }
  23062. /* Update opt_len to include the bit length tree and counts */
  23063. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(3)*(libc.Uint64FromInt32(max_blindex)+uint64(1)) + uint64(5) + uint64(5) + uint64(4)
  23064. return max_blindex
  23065. }
  23066. // C documentation
  23067. //
  23068. // /* ===========================================================================
  23069. // * Send the header for a block using dynamic Huffman trees: the counts, the
  23070. // * lengths of the bit length codes, the literal tree and the distance tree.
  23071. // * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
  23072. // */
  23073. func _send_all_trees(tls *libc.TLS, s uintptr, lcodes int32, dcodes int32, blcodes int32) {
  23074. var len1, len11, len2, len3, rank, val, val1, val2, val3 int32
  23075. var v10, v14, v16, v2, v21, v23, v4, v8 Tulg
  23076. var v11, v15, v17, v22, v24, v3, v5, v9, p1, p12, p13, p18, p20, p25, p6, p7 uintptr
  23077. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  23078. len1 = int32(5)
  23079. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  23080. val = lcodes - int32(257)
  23081. p1 = s + 5936
  23082. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23083. v3 = s + 40
  23084. v2 = *(*Tulg)(unsafe.Pointer(v3))
  23085. *(*Tulg)(unsafe.Pointer(v3))++
  23086. *(*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))
  23087. v5 = s + 40
  23088. v4 = *(*Tulg)(unsafe.Pointer(v5))
  23089. *(*Tulg)(unsafe.Pointer(v5))++
  23090. *(*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))
  23091. (*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))
  23092. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  23093. } else {
  23094. p6 = s + 5936
  23095. *(*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)
  23096. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  23097. } /* not +255 as stated in appnote.txt */
  23098. len11 = int32(5)
  23099. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  23100. val1 = dcodes - int32(1)
  23101. p7 = s + 5936
  23102. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23103. v9 = s + 40
  23104. v8 = *(*Tulg)(unsafe.Pointer(v9))
  23105. *(*Tulg)(unsafe.Pointer(v9))++
  23106. *(*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))
  23107. v11 = s + 40
  23108. v10 = *(*Tulg)(unsafe.Pointer(v11))
  23109. *(*Tulg)(unsafe.Pointer(v11))++
  23110. *(*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))
  23111. (*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))
  23112. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  23113. } else {
  23114. p12 = s + 5936
  23115. *(*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)
  23116. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  23117. }
  23118. len2 = int32(4)
  23119. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  23120. val2 = blcodes - int32(4)
  23121. p13 = s + 5936
  23122. *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23123. v15 = s + 40
  23124. v14 = *(*Tulg)(unsafe.Pointer(v15))
  23125. *(*Tulg)(unsafe.Pointer(v15))++
  23126. *(*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))
  23127. v17 = s + 40
  23128. v16 = *(*Tulg)(unsafe.Pointer(v17))
  23129. *(*Tulg)(unsafe.Pointer(v17))++
  23130. *(*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))
  23131. (*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))
  23132. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  23133. } else {
  23134. p18 = s + 5936
  23135. *(*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)
  23136. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  23137. } /* not -3 as stated in appnote.txt */
  23138. rank = 0
  23139. for {
  23140. if !(rank < blcodes) {
  23141. break
  23142. }
  23143. len3 = int32(3)
  23144. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  23145. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))
  23146. p20 = s + 5936
  23147. *(*Tush)(unsafe.Pointer(p20)) = Tush(int32(*(*Tush)(unsafe.Pointer(p20))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23148. v22 = s + 40
  23149. v21 = *(*Tulg)(unsafe.Pointer(v22))
  23150. *(*Tulg)(unsafe.Pointer(v22))++
  23151. *(*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))
  23152. v24 = s + 40
  23153. v23 = *(*Tulg)(unsafe.Pointer(v24))
  23154. *(*Tulg)(unsafe.Pointer(v24))++
  23155. *(*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))
  23156. (*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))
  23157. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  23158. } else {
  23159. p25 = s + 5936
  23160. *(*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)
  23161. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  23162. }
  23163. goto _19
  23164. _19:
  23165. ;
  23166. rank++
  23167. }
  23168. _send_tree(tls, s, s+212, lcodes-int32(1)) /* literal tree */
  23169. _send_tree(tls, s, s+2504, dcodes-int32(1)) /* distance tree */
  23170. }
  23171. // C documentation
  23172. //
  23173. // /* ===========================================================================
  23174. // * Send a stored block
  23175. // */
  23176. func x__tr_stored_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  23177. var len1, val int32
  23178. var v10, v12, v14, v3, v5, v8, p1, p6 uintptr
  23179. var v11, v13, v2, v4, v7, v9 Tulg
  23180. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, val, v10, v11, v12, v13, v14, v2, v3, v4, v5, v7, v8, v9, p1, p6
  23181. len1 = int32(3)
  23182. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  23183. val = libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1) + last
  23184. p1 = s + 5936
  23185. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23186. v3 = s + 40
  23187. v2 = *(*Tulg)(unsafe.Pointer(v3))
  23188. *(*Tulg)(unsafe.Pointer(v3))++
  23189. *(*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))
  23190. v5 = s + 40
  23191. v4 = *(*Tulg)(unsafe.Pointer(v5))
  23192. *(*Tulg)(unsafe.Pointer(v5))++
  23193. *(*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))
  23194. (*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))
  23195. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  23196. } else {
  23197. p6 = s + 5936
  23198. *(*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)
  23199. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  23200. } /* send block type */
  23201. _bi_windup(tls, s) /* align on byte boundary */
  23202. v8 = s + 40
  23203. v7 = *(*Tulg)(unsafe.Pointer(v8))
  23204. *(*Tulg)(unsafe.Pointer(v8))++
  23205. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) & libc.Int32FromInt32(0xff))
  23206. v10 = s + 40
  23207. v9 = *(*Tulg)(unsafe.Pointer(v10))
  23208. *(*Tulg)(unsafe.Pointer(v10))++
  23209. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) >> libc.Int32FromInt32(8))
  23210. v12 = s + 40
  23211. v11 = *(*Tulg)(unsafe.Pointer(v12))
  23212. *(*Tulg)(unsafe.Pointer(v12))++
  23213. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) & libc.Int32FromInt32(0xff))
  23214. v14 = s + 40
  23215. v13 = *(*Tulg)(unsafe.Pointer(v14))
  23216. *(*Tulg)(unsafe.Pointer(v14))++
  23217. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) >> libc.Int32FromInt32(8))
  23218. if stored_len != 0 {
  23219. libc.X__builtin___memcpy_chk(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), buf, stored_len, ^t__predefined_size_t(0))
  23220. }
  23221. *(*Tulg)(unsafe.Pointer(s + 40)) += stored_len
  23222. }
  23223. // C documentation
  23224. //
  23225. // /* ===========================================================================
  23226. // * Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
  23227. // */
  23228. func x__tr_flush_bits(tls *libc.TLS, s uintptr) {
  23229. _bi_flush(tls, s)
  23230. }
  23231. // C documentation
  23232. //
  23233. // /* ===========================================================================
  23234. // * Send one empty static block to give enough lookahead for inflate.
  23235. // * This takes 10 bits, of which 7 may remain in the bit buffer.
  23236. // */
  23237. func x__tr_align(tls *libc.TLS, s uintptr) {
  23238. var len1, len11, val, val1 int32
  23239. var v10, v2, v4, v8 Tulg
  23240. var v11, v3, v5, v9, p1, p12, p6, p7 uintptr
  23241. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, val, val1, v10, v11, v2, v3, v4, v5, v8, v9, p1, p12, p6, p7
  23242. len1 = int32(3)
  23243. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  23244. val = libc.Int32FromInt32(m_STATIC_TREES) << libc.Int32FromInt32(1)
  23245. p1 = s + 5936
  23246. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23247. v3 = s + 40
  23248. v2 = *(*Tulg)(unsafe.Pointer(v3))
  23249. *(*Tulg)(unsafe.Pointer(v3))++
  23250. *(*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))
  23251. v5 = s + 40
  23252. v4 = *(*Tulg)(unsafe.Pointer(v5))
  23253. *(*Tulg)(unsafe.Pointer(v5))++
  23254. *(*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))
  23255. (*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))
  23256. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  23257. } else {
  23258. p6 = s + 5936
  23259. *(*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)
  23260. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  23261. }
  23262. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4 + 2)))
  23263. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  23264. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))
  23265. p7 = s + 5936
  23266. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23267. v9 = s + 40
  23268. v8 = *(*Tulg)(unsafe.Pointer(v9))
  23269. *(*Tulg)(unsafe.Pointer(v9))++
  23270. *(*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))
  23271. v11 = s + 40
  23272. v10 = *(*Tulg)(unsafe.Pointer(v11))
  23273. *(*Tulg)(unsafe.Pointer(v11))++
  23274. *(*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))
  23275. (*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))
  23276. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  23277. } else {
  23278. p12 = s + 5936
  23279. *(*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)
  23280. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  23281. }
  23282. _bi_flush(tls, s)
  23283. }
  23284. // C documentation
  23285. //
  23286. // /* ===========================================================================
  23287. // * Send the block data compressed using the given Huffman trees
  23288. // */
  23289. func _compress_block(tls *libc.TLS, s uintptr, ltree uintptr, dtree uintptr) {
  23290. var code, dist, sx, v1, v2, v3 uint32
  23291. var extra, lc, len1, len11, len2, len3, len4, len5, val, val1, val2, val3, val4, val5, v22 int32
  23292. var v11, v13, v17, v19, v24, v26, v30, v32, v36, v38, v5, v7 Tulg
  23293. 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
  23294. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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) */
  23295. sx = uint32(0) /* number of extra bits to send */
  23296. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != uint32(0) {
  23297. for cond := true; cond; cond = sx < (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next {
  23298. v1 = sx
  23299. sx++
  23300. dist = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1)))) & int32(0xff))
  23301. v2 = sx
  23302. sx++
  23303. dist += libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))))&libc.Int32FromInt32(0xff)) << int32(8)
  23304. v3 = sx
  23305. sx++
  23306. lc = libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))))
  23307. if dist == uint32(0) {
  23308. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4 + 2)))
  23309. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  23310. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))
  23311. p4 = s + 5936
  23312. *(*Tush)(unsafe.Pointer(p4)) = Tush(int32(*(*Tush)(unsafe.Pointer(p4))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23313. v6 = s + 40
  23314. v5 = *(*Tulg)(unsafe.Pointer(v6))
  23315. *(*Tulg)(unsafe.Pointer(v6))++
  23316. *(*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))
  23317. v8 = s + 40
  23318. v7 = *(*Tulg)(unsafe.Pointer(v8))
  23319. *(*Tulg)(unsafe.Pointer(v8))++
  23320. *(*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))
  23321. (*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))
  23322. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  23323. } else {
  23324. p9 = s + 5936
  23325. *(*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)
  23326. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  23327. } /* send a literal byte */
  23328. } else {
  23329. /* Here, lc is the match length - MIN_MATCH */
  23330. code = uint32(x__length_code[lc])
  23331. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4 + 2)))
  23332. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  23333. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))
  23334. p10 = s + 5936
  23335. *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23336. v12 = s + 40
  23337. v11 = *(*Tulg)(unsafe.Pointer(v12))
  23338. *(*Tulg)(unsafe.Pointer(v12))++
  23339. *(*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))
  23340. v14 = s + 40
  23341. v13 = *(*Tulg)(unsafe.Pointer(v14))
  23342. *(*Tulg)(unsafe.Pointer(v14))++
  23343. *(*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))
  23344. (*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))
  23345. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  23346. } else {
  23347. p15 = s + 5936
  23348. *(*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)
  23349. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  23350. } /* send length code */
  23351. extra = _extra_lbits[code]
  23352. if extra != 0 {
  23353. lc -= _base_length[code]
  23354. len2 = extra
  23355. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  23356. val2 = lc
  23357. p16 = s + 5936
  23358. *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23359. v18 = s + 40
  23360. v17 = *(*Tulg)(unsafe.Pointer(v18))
  23361. *(*Tulg)(unsafe.Pointer(v18))++
  23362. *(*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))
  23363. v20 = s + 40
  23364. v19 = *(*Tulg)(unsafe.Pointer(v20))
  23365. *(*Tulg)(unsafe.Pointer(v20))++
  23366. *(*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))
  23367. (*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))
  23368. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  23369. } else {
  23370. p21 = s + 5936
  23371. *(*Tush)(unsafe.Pointer(p21)) = Tush(int32(*(*Tush)(unsafe.Pointer(p21))) | libc.Int32FromUint16(libc.Uint16FromInt32(lc))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23372. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  23373. } /* send the extra length bits */
  23374. }
  23375. dist-- /* dist is now the match distance - 1 */
  23376. if dist < uint32(256) {
  23377. v22 = libc.Int32FromUint8(x__dist_code[dist])
  23378. } else {
  23379. v22 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  23380. }
  23381. code = libc.Uint32FromInt32(v22)
  23382. len3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4 + 2)))
  23383. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  23384. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))
  23385. p23 = s + 5936
  23386. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23387. v25 = s + 40
  23388. v24 = *(*Tulg)(unsafe.Pointer(v25))
  23389. *(*Tulg)(unsafe.Pointer(v25))++
  23390. *(*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))
  23391. v27 = s + 40
  23392. v26 = *(*Tulg)(unsafe.Pointer(v27))
  23393. *(*Tulg)(unsafe.Pointer(v27))++
  23394. *(*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))
  23395. (*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))
  23396. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  23397. } else {
  23398. p28 = s + 5936
  23399. *(*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)
  23400. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  23401. } /* send the distance code */
  23402. extra = _extra_dbits[code]
  23403. if extra != 0 {
  23404. dist -= libc.Uint32FromInt32(_base_dist[code])
  23405. len4 = extra
  23406. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  23407. val4 = libc.Int32FromUint32(dist)
  23408. p29 = s + 5936
  23409. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23410. v31 = s + 40
  23411. v30 = *(*Tulg)(unsafe.Pointer(v31))
  23412. *(*Tulg)(unsafe.Pointer(v31))++
  23413. *(*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))
  23414. v33 = s + 40
  23415. v32 = *(*Tulg)(unsafe.Pointer(v33))
  23416. *(*Tulg)(unsafe.Pointer(v33))++
  23417. *(*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))
  23418. (*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))
  23419. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  23420. } else {
  23421. p34 = s + 5936
  23422. *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(uint16(dist))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23423. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  23424. } /* send the extra distance bits */
  23425. }
  23426. } /* literal or match pair ? */
  23427. /* Check for no overlay of pending_buf on needed symbols */
  23428. }
  23429. }
  23430. len5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4 + 2)))
  23431. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  23432. val5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))
  23433. p35 = s + 5936
  23434. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23435. v37 = s + 40
  23436. v36 = *(*Tulg)(unsafe.Pointer(v37))
  23437. *(*Tulg)(unsafe.Pointer(v37))++
  23438. *(*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))
  23439. v39 = s + 40
  23440. v38 = *(*Tulg)(unsafe.Pointer(v39))
  23441. *(*Tulg)(unsafe.Pointer(v39))++
  23442. *(*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))
  23443. (*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))
  23444. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  23445. } else {
  23446. p40 = s + 5936
  23447. *(*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)
  23448. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  23449. }
  23450. }
  23451. // C documentation
  23452. //
  23453. // /* ===========================================================================
  23454. // * Check if the data type is TEXT or BINARY, using the following algorithm:
  23455. // * - TEXT if the two conditions below are satisfied:
  23456. // * a) There are no non-portable control characters belonging to the
  23457. // * "block list" (0..6, 14..25, 28..31).
  23458. // * b) There is at least one printable character belonging to the
  23459. // * "allow list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
  23460. // * - BINARY otherwise.
  23461. // * - The following partially-portable control characters form a
  23462. // * "gray list" that is ignored in this detection algorithm:
  23463. // * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
  23464. // * IN assertion: the fields Freq of dyn_ltree are set.
  23465. // */
  23466. func _detect_data_type(tls *libc.TLS, s uintptr) (r int32) {
  23467. var block_mask uint64
  23468. var n int32
  23469. _, _ = block_mask, n
  23470. /* block_mask is the bit mask of block-listed bytes
  23471. * set bits 0..6, 14..25, and 28..31
  23472. * 0xf3ffc07f = binary 11110011111111111100000001111111
  23473. */
  23474. block_mask = uint64(0xf3ffc07f)
  23475. /* Check for non-textual ("block-listed") bytes. */
  23476. n = 0
  23477. for {
  23478. if !(n <= int32(31)) {
  23479. break
  23480. }
  23481. if block_mask&uint64(1) != 0 && libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  23482. return m_Z_BINARY
  23483. }
  23484. goto _1
  23485. _1:
  23486. ;
  23487. n++
  23488. block_mask >>= uint64(1)
  23489. }
  23490. /* Check for textual ("allow-listed") bytes. */
  23491. 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 {
  23492. return int32(m_Z_TEXT)
  23493. }
  23494. n = int32(32)
  23495. for {
  23496. if !(n < int32(m_LITERALS)) {
  23497. break
  23498. }
  23499. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  23500. return int32(m_Z_TEXT)
  23501. }
  23502. goto _2
  23503. _2:
  23504. ;
  23505. n++
  23506. }
  23507. /* There are no "block-listed" or "allow-listed" bytes:
  23508. * this stream either is empty or has tolerated ("gray-listed") bytes only.
  23509. */
  23510. return m_Z_BINARY
  23511. }
  23512. // C documentation
  23513. //
  23514. // /* ===========================================================================
  23515. // * Determine the best encoding for the current block: dynamic trees, static
  23516. // * trees or store, and write out the encoded block.
  23517. // */
  23518. func x__tr_flush_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  23519. var len1, len11, max_blindex, val, val1 int32
  23520. var opt_lenb, static_lenb, v1, v11, v3, v5, v9 Tulg
  23521. var v10, v12, v4, v6, p13, p2, p7, p8 uintptr
  23522. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  23523. max_blindex = 0 /* index of last bit length code of non zero freq */
  23524. /* Build the Huffman trees unless a stored block is forced */
  23525. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel > 0 {
  23526. /* Check if the file is binary or text */
  23527. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type == int32(m_Z_UNKNOWN) {
  23528. (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type = _detect_data_type(tls, s)
  23529. }
  23530. /* Construct the literal and distance trees */
  23531. _build_tree(tls, s, s+2904)
  23532. _build_tree(tls, s, s+2928)
  23533. /* At this point, opt_len and static_len are the total bit lengths of
  23534. * the compressed block data, excluding the tree representations.
  23535. */
  23536. /* Build the bit length tree for the above two trees, and get the index
  23537. * in bl_order of the last bit length code to send.
  23538. */
  23539. max_blindex = _build_bl_tree(tls, s)
  23540. /* Determine the best encoding. Compute the block lengths in bytes. */
  23541. opt_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len + uint64(3) + uint64(7)) >> int32(3)
  23542. static_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len + uint64(3) + uint64(7)) >> int32(3)
  23543. if static_lenb <= opt_lenb || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FIXED) {
  23544. opt_lenb = static_lenb
  23545. }
  23546. } else {
  23547. v1 = stored_len + libc.Uint64FromInt32(5)
  23548. static_lenb = v1
  23549. opt_lenb = v1 /* force a stored block */
  23550. }
  23551. if stored_len+uint64(4) <= opt_lenb && buf != libc.UintptrFromInt32(0) {
  23552. /* 4: two words for the lengths */
  23553. /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
  23554. * Otherwise we can't have processed more than WSIZE input bytes since
  23555. * the last block flush, because compression would have been
  23556. * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
  23557. * transform a block into a stored block.
  23558. */
  23559. x__tr_stored_block(tls, s, buf, stored_len, last)
  23560. } else {
  23561. if static_lenb == opt_lenb {
  23562. len1 = int32(3)
  23563. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  23564. val = libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1) + last
  23565. p2 = s + 5936
  23566. *(*Tush)(unsafe.Pointer(p2)) = Tush(int32(*(*Tush)(unsafe.Pointer(p2))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23567. v4 = s + 40
  23568. v3 = *(*Tulg)(unsafe.Pointer(v4))
  23569. *(*Tulg)(unsafe.Pointer(v4))++
  23570. *(*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))
  23571. v6 = s + 40
  23572. v5 = *(*Tulg)(unsafe.Pointer(v6))
  23573. *(*Tulg)(unsafe.Pointer(v6))++
  23574. *(*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))
  23575. (*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))
  23576. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  23577. } else {
  23578. p7 = s + 5936
  23579. *(*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)
  23580. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  23581. }
  23582. _compress_block(tls, s, uintptr(unsafe.Pointer(&_static_ltree)), uintptr(unsafe.Pointer(&_static_dtree)))
  23583. } else {
  23584. len11 = int32(3)
  23585. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  23586. val1 = libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1) + last
  23587. p8 = s + 5936
  23588. *(*Tush)(unsafe.Pointer(p8)) = Tush(int32(*(*Tush)(unsafe.Pointer(p8))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  23589. v10 = s + 40
  23590. v9 = *(*Tulg)(unsafe.Pointer(v10))
  23591. *(*Tulg)(unsafe.Pointer(v10))++
  23592. *(*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))
  23593. v12 = s + 40
  23594. v11 = *(*Tulg)(unsafe.Pointer(v12))
  23595. *(*Tulg)(unsafe.Pointer(v12))++
  23596. *(*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))
  23597. (*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))
  23598. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  23599. } else {
  23600. p13 = s + 5936
  23601. *(*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)
  23602. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  23603. }
  23604. _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))
  23605. _compress_block(tls, s, s+212, s+2504)
  23606. }
  23607. }
  23608. /* The above check is made mod 2^32, for files larger than 512 MB
  23609. * and uLong implemented on 32 bits.
  23610. */
  23611. _init_block(tls, s)
  23612. if last != 0 {
  23613. _bi_windup(tls, s)
  23614. }
  23615. }
  23616. // C documentation
  23617. //
  23618. // /* ===========================================================================
  23619. // * Save the match info and tally the frequency counts. Return true if
  23620. // * the current block must be flushed.
  23621. // */
  23622. func x__tr_tally(tls *libc.TLS, s uintptr, dist uint32, lc uint32) (r int32) {
  23623. var v1, v3, v5 TuInt
  23624. var v2, v4, v6 uintptr
  23625. var v7 int32
  23626. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, v7
  23627. v2 = s + 5900
  23628. v1 = *(*TuInt)(unsafe.Pointer(v2))
  23629. *(*TuInt)(unsafe.Pointer(v2))++
  23630. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1))) = uint8(dist)
  23631. v4 = s + 5900
  23632. v3 = *(*TuInt)(unsafe.Pointer(v4))
  23633. *(*TuInt)(unsafe.Pointer(v4))++
  23634. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist >> libc.Int32FromInt32(8))
  23635. v6 = s + 5900
  23636. v5 = *(*TuInt)(unsafe.Pointer(v6))
  23637. *(*TuInt)(unsafe.Pointer(v6))++
  23638. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = uint8(lc)
  23639. if dist == uint32(0) {
  23640. /* lc is the unmatched char */
  23641. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(lc)*4))++
  23642. } else {
  23643. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  23644. /* Here, lc is the match length - MIN_MATCH */
  23645. dist-- /* dist = match distance - 1 */
  23646. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[lc])+int32(m_LITERALS)+int32(1))*4))++
  23647. if dist < uint32(256) {
  23648. v7 = libc.Int32FromUint8(x__dist_code[dist])
  23649. } else {
  23650. v7 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  23651. }
  23652. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v7)*4))++
  23653. }
  23654. return libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  23655. }
  23656. const m_ATTRIBUTION_NAME_MAX = 255
  23657. const m_AT_EACCESS = 0x0010
  23658. const m_AT_FDONLY = 0x0400
  23659. const m_AT_REALDEV = 0x0200
  23660. const m_AT_REMOVEDIR = 0x0080
  23661. const m_AT_SYMLINK_FOLLOW = 0x0040
  23662. const m_AT_SYMLINK_NOFOLLOW = 0x0020
  23663. const m_AT_SYMLINK_NOFOLLOW_ANY = 0x0800
  23664. const m_BUFSIZ = 1024
  23665. const m_COPY = 1
  23666. const m_CPF_IGNORE_MODE = 0x0002
  23667. const m_CPF_OVERWRITE = 0x0001
  23668. const m_E2BIG = 7
  23669. const m_EACCES = 13
  23670. const m_EADDRINUSE = 48
  23671. const m_EADDRNOTAVAIL = 49
  23672. const m_EAFNOSUPPORT = 47
  23673. const m_EAGAIN = 35
  23674. const m_EALREADY = 37
  23675. const m_EAUTH = 80
  23676. const m_EBADARCH = 86
  23677. const m_EBADEXEC = 85
  23678. const m_EBADF = 9
  23679. const m_EBADMACHO = 88
  23680. const m_EBADMSG = 94
  23681. const m_EBADRPC = 72
  23682. const m_EBUSY = 16
  23683. const m_ECANCELED = 89
  23684. const m_ECHILD = 10
  23685. const m_ECONNABORTED = 53
  23686. const m_ECONNREFUSED = 61
  23687. const m_ECONNRESET = 54
  23688. const m_EDEADLK = 11
  23689. const m_EDESTADDRREQ = 39
  23690. const m_EDEVERR = 83
  23691. const m_EDOM = 33
  23692. const m_EDQUOT = 69
  23693. const m_EEXIST = 17
  23694. const m_EFAULT = 14
  23695. const m_EFBIG = 27
  23696. const m_EFTYPE = 79
  23697. const m_EHOSTDOWN = 64
  23698. const m_EHOSTUNREACH = 65
  23699. const m_EIDRM = 90
  23700. const m_EILSEQ = 92
  23701. const m_EINPROGRESS = 36
  23702. const m_EINTR = 4
  23703. const m_EINVAL = 22
  23704. const m_EIO = 5
  23705. const m_EISCONN = 56
  23706. const m_EISDIR = 21
  23707. const m_ELAST = 106
  23708. const m_ELOOP = 62
  23709. const m_EMFILE = 24
  23710. const m_EMLINK = 31
  23711. const m_EMSGSIZE = 40
  23712. const m_EMULTIHOP = 95
  23713. const m_ENAMETOOLONG = 63
  23714. const m_ENEEDAUTH = 81
  23715. const m_ENETDOWN = 50
  23716. const m_ENETRESET = 52
  23717. const m_ENETUNREACH = 51
  23718. const m_ENFILE = 23
  23719. const m_ENOATTR = 93
  23720. const m_ENOBUFS = 55
  23721. const m_ENODATA = 96
  23722. const m_ENODEV = 19
  23723. const m_ENOENT = 2
  23724. const m_ENOEXEC = 8
  23725. const m_ENOLCK = 77
  23726. const m_ENOLINK = 97
  23727. const m_ENOMEM = 12
  23728. const m_ENOMSG = 91
  23729. const m_ENOPOLICY = 103
  23730. const m_ENOPROTOOPT = 42
  23731. const m_ENOSPC = 28
  23732. const m_ENOSR = 98
  23733. const m_ENOSTR = 99
  23734. const m_ENOSYS = 78
  23735. const m_ENOTBLK = 15
  23736. const m_ENOTCONN = 57
  23737. const m_ENOTDIR = 20
  23738. const m_ENOTEMPTY = 66
  23739. const m_ENOTRECOVERABLE = 104
  23740. const m_ENOTSOCK = 38
  23741. const m_ENOTSUP = 45
  23742. const m_ENOTTY = 25
  23743. const m_ENXIO = 6
  23744. const m_EOPNOTSUPP = 102
  23745. const m_EOVERFLOW = 84
  23746. const m_EOWNERDEAD = 105
  23747. const m_EPERM = 1
  23748. const m_EPFNOSUPPORT = 46
  23749. const m_EPIPE = 32
  23750. const m_EPROCLIM = 67
  23751. const m_EPROCUNAVAIL = 76
  23752. const m_EPROGMISMATCH = 75
  23753. const m_EPROGUNAVAIL = 74
  23754. const m_EPROTO = 100
  23755. const m_EPROTONOSUPPORT = 43
  23756. const m_EPROTOTYPE = 41
  23757. const m_EPWROFF = 82
  23758. const m_EQFULL = 106
  23759. const m_ERANGE = 34
  23760. const m_EREMOTE = 71
  23761. const m_EROFS = 30
  23762. const m_ERPCMISMATCH = 73
  23763. const m_ESHLIBVERS = 87
  23764. const m_ESHUTDOWN = 58
  23765. const m_ESOCKTNOSUPPORT = 44
  23766. const m_ESPIPE = 29
  23767. const m_ESRCH = 3
  23768. const m_ESTALE = 70
  23769. const m_ETIME = 101
  23770. const m_ETIMEDOUT = 60
  23771. const m_ETOOMANYREFS = 59
  23772. const m_ETXTBSY = 26
  23773. const m_EUSERS = 68
  23774. const m_EWOULDBLOCK = "EAGAIN"
  23775. const m_EXDEV = 18
  23776. const m_FAPPEND = "O_APPEND"
  23777. const m_FASYNC = "O_ASYNC"
  23778. const m_FCNTL_FS_SPECIFIC_BASE = 0x00010000
  23779. const m_FD_CLOEXEC = 1
  23780. const m_FFDSYNC = "O_DSYNC"
  23781. const m_FFSYNC = "O_FSYNC"
  23782. const m_FILENAME_MAX = 1024
  23783. const m_FILESEC_GUID = "FILESEC_UUID"
  23784. const m_FNDELAY = "O_NONBLOCK"
  23785. const m_FNONBLOCK = "O_NONBLOCK"
  23786. const m_FOPEN_MAX = 20
  23787. const m_FREAD = 0x00000001
  23788. const m_FWRITE = 0x00000002
  23789. const m_F_ADDFILESIGS = 61
  23790. const m_F_ADDFILESIGS_FOR_DYLD_SIM = 83
  23791. const m_F_ADDFILESIGS_INFO = 103
  23792. const m_F_ADDFILESIGS_RETURN = 97
  23793. const m_F_ADDFILESUPPL = 104
  23794. const m_F_ADDSIGS = 59
  23795. const m_F_ADDSIGS_MAIN_BINARY = 113
  23796. const m_F_ALLOCATEALL = 0x00000004
  23797. const m_F_ALLOCATECONTIG = 0x00000002
  23798. const m_F_ALLOCATEPERSIST = 0x00000008
  23799. const m_F_ATTRIBUTION_TAG = 111
  23800. const m_F_BARRIERFSYNC = 85
  23801. const m_F_CHECK_LV = 98
  23802. const m_F_CHKCLEAN = 41
  23803. const m_F_CREATE_TAG = 0x00000001
  23804. const m_F_DELETE_TAG = 0x00000002
  23805. const m_F_DUPFD = 0
  23806. const m_F_DUPFD_CLOEXEC = 67
  23807. const m_F_FINDSIGS = 78
  23808. const m_F_FLUSH_DATA = 40
  23809. const m_F_FREEZE_FS = 53
  23810. const m_F_FULLFSYNC = 51
  23811. const m_F_GETCODEDIR = 72
  23812. const m_F_GETFD = 1
  23813. const m_F_GETFL = 3
  23814. const m_F_GETLEASE = 107
  23815. const m_F_GETLK = 7
  23816. const m_F_GETLKPID = 66
  23817. const m_F_GETNOSIGPIPE = 74
  23818. const m_F_GETOWN = 5
  23819. const m_F_GETPATH = 50
  23820. const m_F_GETPATH_MTMINFO = 71
  23821. const m_F_GETPATH_NOFIRMLINK = 102
  23822. const m_F_GETPROTECTIONCLASS = 63
  23823. const m_F_GETPROTECTIONLEVEL = 77
  23824. const m_F_GETSIGSINFO = 105
  23825. const m_F_GLOBAL_NOCACHE = 55
  23826. const m_F_LOG2PHYS = 49
  23827. const m_F_LOG2PHYS_EXT = 65
  23828. const m_F_NOCACHE = 48
  23829. const m_F_NODIRECT = 62
  23830. const m_F_OFD_GETLK = 92
  23831. const m_F_OFD_SETLK = 90
  23832. const m_F_OFD_SETLKW = 91
  23833. const m_F_OFD_SETLKWTIMEOUT = 93
  23834. const m_F_PATHPKG_CHECK = 52
  23835. const m_F_PEOFPOSMODE = 3
  23836. const m_F_PREALLOCATE = 42
  23837. const m_F_PUNCHHOLE = 99
  23838. const m_F_QUERY_TAG = 0x00000004
  23839. const m_F_RDADVISE = 44
  23840. const m_F_RDAHEAD = 45
  23841. const m_F_RDLCK = 1
  23842. const m_F_SETBACKINGSTORE = 70
  23843. const m_F_SETFD = 2
  23844. const m_F_SETFL = 4
  23845. const m_F_SETLEASE = 106
  23846. const m_F_SETLK = 8
  23847. const m_F_SETLKW = 9
  23848. const m_F_SETLKWTIMEOUT = 10
  23849. const m_F_SETNOSIGPIPE = 73
  23850. const m_F_SETOWN = 6
  23851. const m_F_SETPROTECTIONCLASS = 64
  23852. const m_F_SETSIZE = 43
  23853. const m_F_SINGLE_WRITER = 76
  23854. const m_F_SPECULATIVE_READ = 101
  23855. const m_F_THAW_FS = 54
  23856. const m_F_TRANSCODEKEY = 75
  23857. const m_F_TRANSFEREXTENTS = 110
  23858. const m_F_TRIM_ACTIVE_FILE = 100
  23859. const m_F_UNLCK = 2
  23860. const m_F_VOLPOSMODE = 4
  23861. const m_F_WRLCK = 3
  23862. const m_GETSIGSINFO_PLATFORM_BINARY = 1
  23863. const m_GZBUFSIZE = 8192
  23864. const m_GZIP = 2
  23865. const m_GZ_APPEND = 1
  23866. const m_GZ_NONE = 0
  23867. const m_GZ_READ = 7247
  23868. const m_GZ_WRITE = 31153
  23869. const m_LOCK_EX = 0x02
  23870. const m_LOCK_NB = 0x04
  23871. const m_LOCK_SH = 0x01
  23872. const m_LOCK_UN = 0x08
  23873. const m_LOOK = 0
  23874. const m_L_tmpnam = 1024
  23875. const m_O_ACCMODE = 0x0003
  23876. const m_O_ALERT = 0x20000000
  23877. const m_O_APPEND = 0x00000008
  23878. const m_O_ASYNC = 0x00000040
  23879. const m_O_CLOEXEC = 0x01000000
  23880. const m_O_CREAT = 0x00000200
  23881. const m_O_DIRECTORY = 0x00100000
  23882. const m_O_DP_AUTHENTICATE = 0x0004
  23883. const m_O_DP_GETRAWENCRYPTED = 0x0001
  23884. const m_O_DP_GETRAWUNENCRYPTED = 0x0002
  23885. const m_O_DSYNC = 0x400000
  23886. const m_O_EVTONLY = 0x00008000
  23887. const m_O_EXCL = 0x00000800
  23888. const m_O_EXEC = 0x40000000
  23889. const m_O_EXLOCK = 0x00000020
  23890. const m_O_FSYNC = "O_SYNC"
  23891. const m_O_NDELAY = "O_NONBLOCK"
  23892. const m_O_NOCTTY = 0x00020000
  23893. const m_O_NOFOLLOW = 0x00000100
  23894. const m_O_NOFOLLOW_ANY = 0x20000000
  23895. const m_O_NONBLOCK = 0x00000004
  23896. const m_O_POPUP = 0x80000000
  23897. const m_O_RDONLY = 0x0000
  23898. const m_O_RDWR = 0x0002
  23899. const m_O_RESOLVE_BENEATH = 0x00001000
  23900. const m_O_SHLOCK = 0x00000010
  23901. const m_O_SYMLINK = 0x00200000
  23902. const m_O_SYNC = 0x0080
  23903. const m_O_TRUNC = 0x00000400
  23904. const m_O_WRONLY = 0x0001
  23905. const m_P_tmpdir = "/var/tmp/"
  23906. const m_RENAME_EXCL = 0x00000004
  23907. const m_RENAME_NOFOLLOW_ANY = 0x00000010
  23908. const m_RENAME_RESERVED1 = 0x00000008
  23909. const m_RENAME_SECLUDE = 0x00000001
  23910. const m_RENAME_SWAP = 0x00000002
  23911. const m_S_IEXEC = "S_IXUSR"
  23912. const m_S_IFBLK = 0060000
  23913. const m_S_IFCHR = 0020000
  23914. const m_S_IFDIR = 0040000
  23915. const m_S_IFIFO = 0010000
  23916. const m_S_IFLNK = 0120000
  23917. const m_S_IFMT = 0170000
  23918. const m_S_IFREG = 0100000
  23919. const m_S_IFSOCK = 0140000
  23920. const m_S_IFWHT = 0160000
  23921. const m_S_IREAD = "S_IRUSR"
  23922. const m_S_IRGRP = 0000040
  23923. const m_S_IROTH = 0000004
  23924. const m_S_IRUSR = 0000400
  23925. const m_S_IRWXG = 0000070
  23926. const m_S_IRWXO = 0000007
  23927. const m_S_IRWXU = 0000700
  23928. const m_S_ISGID = 0002000
  23929. const m_S_ISTXT = "S_ISVTX"
  23930. const m_S_ISUID = 0004000
  23931. const m_S_ISVTX = 0001000
  23932. const m_S_IWGRP = 0000020
  23933. const m_S_IWOTH = 0000002
  23934. const m_S_IWRITE = "S_IWUSR"
  23935. const m_S_IWUSR = 0000200
  23936. const m_S_IXGRP = 0000010
  23937. const m_S_IXOTH = 0000001
  23938. const m_S_IXUSR = 0000100
  23939. const m_TMP_MAX = 308915776
  23940. const m_USER_FSIGNATURES_CDHASH_LEN = 20
  23941. const m__IOFBF = 0
  23942. const m__IOLBF = 1
  23943. const m__IONBF = 2
  23944. const m___SALC = 0x4000
  23945. const m___SAPP = 0x0100
  23946. const m___SEOF = 0x0020
  23947. const m___SERR = 0x0040
  23948. const m___SIGN = 0x8000
  23949. const m___SLBF = 0x0001
  23950. const m___SMBF = 0x0080
  23951. const m___SMOD = 0x2000
  23952. const m___SNBF = 0x0002
  23953. const m___SNPT = 0x0800
  23954. const m___SOFF = 0x1000
  23955. const m___SOPT = 0x0400
  23956. const m___SRD = 0x0004
  23957. const m___SRW = 0x0010
  23958. const m___SSTR = 0x0200
  23959. const m___SWR = 0x0008
  23960. const m_stderr = "__stderrp"
  23961. const m_stdin = "__stdinp"
  23962. const m_stdout = "__stdoutp"
  23963. type Tfpos_t = int64
  23964. type t__sbuf = struct {
  23965. F_base uintptr
  23966. F_size int32
  23967. }
  23968. type TFILE = struct {
  23969. F_p uintptr
  23970. F_r int32
  23971. F_w int32
  23972. F_flags int16
  23973. F_file int16
  23974. F_bf t__sbuf
  23975. F_lbfsize int32
  23976. F_cookie uintptr
  23977. F_close uintptr
  23978. F_read uintptr
  23979. F_seek uintptr
  23980. F_write uintptr
  23981. F_ub t__sbuf
  23982. F_extra uintptr
  23983. F_ur int32
  23984. F_ubuf [3]uint8
  23985. F_nbuf [1]uint8
  23986. F_lb t__sbuf
  23987. F_blksize int32
  23988. F_offset Tfpos_t
  23989. }
  23990. type t__sFILE = TFILE
  23991. type Tflock = struct {
  23992. Fl_start Toff_t
  23993. Fl_len Toff_t
  23994. Fl_pid Tpid_t
  23995. Fl_type int16
  23996. Fl_whence int16
  23997. }
  23998. type Tflocktimeout = struct {
  23999. Ffl Tflock
  24000. Ftimeout Ttimespec
  24001. }
  24002. type Tradvisory = struct {
  24003. Fra_offset Toff_t
  24004. Fra_count int32
  24005. }
  24006. type Tfsignatures_t = struct {
  24007. Ffs_file_start Toff_t
  24008. Ffs_blob_start uintptr
  24009. Ffs_blob_size Tsize_t
  24010. Ffs_fsignatures_size Tsize_t
  24011. Ffs_cdhash [20]int8
  24012. Ffs_hash_type int32
  24013. }
  24014. type Tfsignatures = Tfsignatures_t
  24015. type Tfsupplement_t = struct {
  24016. Ffs_file_start Toff_t
  24017. Ffs_blob_start Toff_t
  24018. Ffs_blob_size Tsize_t
  24019. Ffs_orig_fd int32
  24020. }
  24021. type Tfsupplement = Tfsupplement_t
  24022. type Tfchecklv_t = struct {
  24023. Flv_file_start Toff_t
  24024. Flv_error_message_size Tsize_t
  24025. Flv_error_message uintptr
  24026. }
  24027. type Tfchecklv = Tfchecklv_t
  24028. type Tfgetsigsinfo_t = struct {
  24029. Ffg_file_start Toff_t
  24030. Ffg_info_request int32
  24031. Ffg_sig_is_platform int32
  24032. }
  24033. type Tfgetsigsinfo = Tfgetsigsinfo_t
  24034. type Tfstore_t = struct {
  24035. Ffst_flags uint32
  24036. Ffst_posmode int32
  24037. Ffst_offset Toff_t
  24038. Ffst_length Toff_t
  24039. Ffst_bytesalloc Toff_t
  24040. }
  24041. type Tfstore = Tfstore_t
  24042. type Tfpunchhole_t = struct {
  24043. Ffp_flags uint32
  24044. Freserved uint32
  24045. Ffp_offset Toff_t
  24046. Ffp_length Toff_t
  24047. }
  24048. type Tfpunchhole = Tfpunchhole_t
  24049. type Tftrimactivefile_t = struct {
  24050. Ffta_offset Toff_t
  24051. Ffta_length Toff_t
  24052. }
  24053. type Tftrimactivefile = Tftrimactivefile_t
  24054. type Tfspecread_t = struct {
  24055. Ffsr_flags uint32
  24056. Freserved uint32
  24057. Ffsr_offset Toff_t
  24058. Ffsr_length Toff_t
  24059. }
  24060. type Tfspecread = Tfspecread_t
  24061. type Tfattributiontag_t = struct {
  24062. Fft_flags uint32
  24063. Fft_hash uint64
  24064. Fft_attribution_name [255]int8
  24065. }
  24066. type Tfattributiontag = Tfattributiontag_t
  24067. type Tlog2phys = struct {
  24068. Fl2p_flags uint32
  24069. Fl2p_contigbytes Toff_t
  24070. Fl2p_devoffset Toff_t
  24071. }
  24072. type Tfilesec_t = uintptr
  24073. type Tfilesec_property_t = int32
  24074. const _FILESEC_OWNER = 1
  24075. const _FILESEC_GROUP = 2
  24076. const _FILESEC_UUID = 3
  24077. const _FILESEC_MODE = 4
  24078. const _FILESEC_ACL = 5
  24079. const _FILESEC_GRPUUID = 6
  24080. const _FILESEC_ACL_RAW = 100
  24081. const _FILESEC_ACL_ALLOCSIZE = 101
  24082. type Tgz_state = struct {
  24083. Fx TgzFile_s
  24084. Fmode int32
  24085. Ffd int32
  24086. Fpath uintptr
  24087. Fsize uint32
  24088. Fwant uint32
  24089. Fin uintptr
  24090. Fout uintptr
  24091. Fdirect int32
  24092. Fhow int32
  24093. Fstart Toff_t
  24094. Feof int32
  24095. Fpast int32
  24096. Flevel int32
  24097. Fstrategy int32
  24098. Freset int32
  24099. Fskip Toff_t
  24100. Fseek int32
  24101. Ferr int32
  24102. Fmsg uintptr
  24103. Fstrm Tz_stream
  24104. }
  24105. type Tgz_statep = uintptr
  24106. func XzlibVersion(tls *libc.TLS) (r uintptr) {
  24107. return __ccgo_ts
  24108. }
  24109. func XzlibCompileFlags(tls *libc.TLS) (r TuLong) {
  24110. var flags TuLong
  24111. _ = flags
  24112. flags = uint64(0)
  24113. switch libc.Int32FromUint64(libc.Uint64FromInt64(4)) {
  24114. case int32(2):
  24115. case int32(4):
  24116. flags += uint64(1)
  24117. case int32(8):
  24118. flags += uint64(2)
  24119. default:
  24120. flags += uint64(3)
  24121. }
  24122. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  24123. case int32(2):
  24124. case int32(4):
  24125. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(2))
  24126. case int32(8):
  24127. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(2))
  24128. default:
  24129. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(2))
  24130. }
  24131. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  24132. case int32(2):
  24133. case int32(4):
  24134. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(4))
  24135. case int32(8):
  24136. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(4))
  24137. default:
  24138. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(4))
  24139. }
  24140. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  24141. case int32(2):
  24142. case int32(4):
  24143. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(6))
  24144. case int32(8):
  24145. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(6))
  24146. default:
  24147. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(6))
  24148. }
  24149. /*
  24150. #if defined(ASMV) || defined(ASMINF)
  24151. flags += 1 << 9;
  24152. #endif
  24153. */
  24154. return flags
  24155. }
  24156. // C documentation
  24157. //
  24158. // /* exported to allow conversion of error code to string for compress() and
  24159. // * uncompress()
  24160. // */
  24161. func XzError(tls *libc.TLS, err int32) (r uintptr) {
  24162. var v1 int32
  24163. _ = v1
  24164. if err < -int32(6) || err > int32(2) {
  24165. v1 = int32(9)
  24166. } else {
  24167. v1 = int32(2) - err
  24168. }
  24169. return Xz_errmsg[v1]
  24170. }
  24171. func Xzcalloc(tls *libc.TLS, opaque Tvoidpf, items uint32, size uint32) (r Tvoidpf) {
  24172. _ = opaque
  24173. return libc.Xmalloc(tls, uint64(items*size))
  24174. }
  24175. func Xzcfree(tls *libc.TLS, opaque Tvoidpf, ptr Tvoidpf) {
  24176. _ = opaque
  24177. libc.Xfree(tls, ptr)
  24178. }
  24179. // C documentation
  24180. //
  24181. // /* ===========================================================================
  24182. // Compresses the source buffer into the destination buffer. The level
  24183. // parameter has the same meaning as in deflateInit. sourceLen is the byte
  24184. // length of the source buffer. Upon entry, destLen is the total size of the
  24185. // destination buffer, which must be at least 0.1% larger than sourceLen plus
  24186. // 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
  24187. //
  24188. // compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
  24189. // memory, Z_BUF_ERROR if there was not enough room in the output buffer,
  24190. // Z_STREAM_ERROR if the level parameter is invalid.
  24191. // */
  24192. func Xcompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong, level int32) (r int32) {
  24193. bp := tls.Alloc(112)
  24194. defer tls.Free(112)
  24195. var err, v3, v4 int32
  24196. var left TuLong
  24197. var max TuInt
  24198. var v1, v2 uint32
  24199. var _ /* stream at bp+0 */ Tz_stream
  24200. _, _, _, _, _, _, _ = err, left, max, v1, v2, v3, v4
  24201. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  24202. left = *(*TuLongf)(unsafe.Pointer(destLen))
  24203. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  24204. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  24205. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  24206. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  24207. err = XdeflateInit_(tls, bp, level, __ccgo_ts, libc.Int32FromInt64(112))
  24208. if err != m_Z_OK {
  24209. return err
  24210. }
  24211. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  24212. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  24213. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  24214. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  24215. for cond := true; cond; cond = err == m_Z_OK {
  24216. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  24217. if left > uint64(max) {
  24218. v1 = max
  24219. } else {
  24220. v1 = uint32(left)
  24221. }
  24222. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  24223. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  24224. }
  24225. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  24226. if sourceLen > uint64(max) {
  24227. v2 = max
  24228. } else {
  24229. v2 = uint32(sourceLen)
  24230. }
  24231. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  24232. sourceLen -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  24233. }
  24234. if sourceLen != 0 {
  24235. v3 = m_Z_NO_FLUSH
  24236. } else {
  24237. v3 = int32(m_Z_FINISH)
  24238. }
  24239. err = Xdeflate(tls, bp, v3)
  24240. }
  24241. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  24242. XdeflateEnd(tls, bp)
  24243. if err == int32(m_Z_STREAM_END) {
  24244. v4 = m_Z_OK
  24245. } else {
  24246. v4 = err
  24247. }
  24248. return v4
  24249. }
  24250. // C documentation
  24251. //
  24252. // /* ===========================================================================
  24253. // */
  24254. func Xcompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong) (r int32) {
  24255. return Xcompress2(tls, dest, destLen, source, sourceLen, -int32(1))
  24256. }
  24257. // C documentation
  24258. //
  24259. // /* ===========================================================================
  24260. // If the default memLevel or windowBits for deflateInit() is changed, then
  24261. // this function needs to be updated.
  24262. // */
  24263. func XcompressBound(tls *libc.TLS, sourceLen TuLong) (r TuLong) {
  24264. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13)
  24265. }
  24266. // C documentation
  24267. //
  24268. // /* ===========================================================================
  24269. // Decompresses the source buffer into the destination buffer. *sourceLen is
  24270. // the byte length of the source buffer. Upon entry, *destLen is the total size
  24271. // of the destination buffer, which must be large enough to hold the entire
  24272. // uncompressed data. (The size of the uncompressed data must have been saved
  24273. // previously by the compressor and transmitted to the decompressor by some
  24274. // mechanism outside the scope of this compression library.) Upon exit,
  24275. // *destLen is the size of the decompressed data and *sourceLen is the number
  24276. // of source bytes consumed. Upon return, source + *sourceLen points to the
  24277. // first unused input byte.
  24278. //
  24279. // uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
  24280. // memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
  24281. // Z_DATA_ERROR if the input data was corrupted, including if the input data is
  24282. // an incomplete zlib stream.
  24283. // */
  24284. func Xuncompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen uintptr) (r int32) {
  24285. bp := tls.Alloc(128)
  24286. defer tls.Free(128)
  24287. var err, v3, v4, v5 int32
  24288. var left, len1 TuLong
  24289. var max TuInt
  24290. var v1, v2 uint32
  24291. var _ /* buf at bp+112 */ [1]TByte
  24292. var _ /* stream at bp+0 */ Tz_stream
  24293. _, _, _, _, _, _, _, _, _ = err, left, len1, max, v1, v2, v3, v4, v5
  24294. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* for detection of incomplete stream when *destLen == 0 */
  24295. len1 = *(*TuLong)(unsafe.Pointer(sourceLen))
  24296. if *(*TuLongf)(unsafe.Pointer(destLen)) != 0 {
  24297. left = *(*TuLongf)(unsafe.Pointer(destLen))
  24298. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  24299. } else {
  24300. left = uint64(1)
  24301. dest = bp + 112
  24302. }
  24303. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  24304. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  24305. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  24306. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  24307. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  24308. err = XinflateInit_(tls, bp, __ccgo_ts, libc.Int32FromInt64(112))
  24309. if err != m_Z_OK {
  24310. return err
  24311. }
  24312. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  24313. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  24314. for cond := true; cond; cond = err == m_Z_OK {
  24315. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  24316. if left > uint64(max) {
  24317. v1 = max
  24318. } else {
  24319. v1 = uint32(left)
  24320. }
  24321. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  24322. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  24323. }
  24324. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  24325. if len1 > uint64(max) {
  24326. v2 = max
  24327. } else {
  24328. v2 = uint32(len1)
  24329. }
  24330. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  24331. len1 -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  24332. }
  24333. err = Xinflate(tls, bp, m_Z_NO_FLUSH)
  24334. }
  24335. *(*TuLong)(unsafe.Pointer(sourceLen)) -= len1 + uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  24336. if dest != bp+112 {
  24337. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  24338. } else {
  24339. if (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out != 0 && err == -int32(5) {
  24340. left = uint64(1)
  24341. }
  24342. }
  24343. XinflateEnd(tls, bp)
  24344. if err == int32(m_Z_STREAM_END) {
  24345. v3 = m_Z_OK
  24346. } else {
  24347. if err == int32(m_Z_NEED_DICT) {
  24348. v4 = -int32(3)
  24349. } else {
  24350. if err == -int32(5) && left+uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out) != 0 {
  24351. v5 = -int32(3)
  24352. } else {
  24353. v5 = err
  24354. }
  24355. v4 = v5
  24356. }
  24357. v3 = v4
  24358. }
  24359. return v3
  24360. }
  24361. func Xuncompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, _sourceLen TuLong) (r int32) {
  24362. bp := tls.Alloc(16)
  24363. defer tls.Free(16)
  24364. *(*TuLong)(unsafe.Pointer(bp)) = _sourceLen
  24365. return Xuncompress2(tls, dest, destLen, source, bp)
  24366. }
  24367. // C documentation
  24368. //
  24369. // /* gzclose() is in a separate file so that it is linked in only if it is used.
  24370. // That way the other gzclose functions can be used instead to avoid linking in
  24371. // unneeded compression or decompression routines. */
  24372. func Xgzclose(tls *libc.TLS, file TgzFile) (r int32) {
  24373. var state Tgz_statep
  24374. var v1 int32
  24375. _, _ = state, v1
  24376. if file == libc.UintptrFromInt32(0) {
  24377. return -int32(2)
  24378. }
  24379. state = file
  24380. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24381. v1 = Xgzclose_r(tls, file)
  24382. } else {
  24383. v1 = Xgzclose_w(tls, file)
  24384. }
  24385. return v1
  24386. }
  24387. const m_LSEEK = "lseek"
  24388. const m_O_APPEND1 = 8
  24389. const m_O_CLOEXEC1 = 16777216
  24390. const m_O_CREAT1 = 512
  24391. const m_O_EXCL1 = 2048
  24392. const m_O_RDONLY1 = 0
  24393. const m_O_TRUNC1 = 1024
  24394. const m_O_WRONLY1 = 1
  24395. // C documentation
  24396. //
  24397. // /* Reset gzip file state */
  24398. func _gz_reset(tls *libc.TLS, state Tgz_statep) {
  24399. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) /* no output data available */
  24400. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* for reading ... */
  24401. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0 /* not at end of file */
  24402. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0 /* have not read past end yet */
  24403. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK /* look for gzip header */
  24404. } else { /* for writing ... */
  24405. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  24406. } /* no deflateReset pending */
  24407. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0 /* no seek request pending */
  24408. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0)) /* clear error */
  24409. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos = 0 /* no uncompressed data yet */
  24410. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0) /* no input data yet */
  24411. }
  24412. // C documentation
  24413. //
  24414. // /* Open a gzip file either by name or file descriptor. */
  24415. func _gz_open(tls *libc.TLS, path uintptr, fd int32, mode uintptr) (r TgzFile) {
  24416. bp := tls.Alloc(16)
  24417. defer tls.Free(16)
  24418. var cloexec, exclusive, oflag, v1, v2, v3, v4, v5 int32
  24419. var len1 Tz_size_t
  24420. var state Tgz_statep
  24421. _, _, _, _, _, _, _, _, _, _ = cloexec, exclusive, len1, oflag, state, v1, v2, v3, v4, v5
  24422. cloexec = 0
  24423. exclusive = 0
  24424. /* check input */
  24425. if path == libc.UintptrFromInt32(0) {
  24426. return libc.UintptrFromInt32(0)
  24427. }
  24428. /* allocate gzFile structure to return */
  24429. state = libc.Xmalloc(tls, uint64(240))
  24430. if state == libc.UintptrFromInt32(0) {
  24431. return libc.UintptrFromInt32(0)
  24432. }
  24433. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0) /* no buffers allocated yet */
  24434. (*Tgz_state)(unsafe.Pointer(state)).Fwant = uint32(m_GZBUFSIZE) /* requested buffer size */
  24435. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0) /* no error message yet */
  24436. /* interpret mode */
  24437. (*Tgz_state)(unsafe.Pointer(state)).Fmode = m_GZ_NONE
  24438. (*Tgz_state)(unsafe.Pointer(state)).Flevel = -int32(1)
  24439. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = m_Z_DEFAULT_STRATEGY
  24440. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  24441. for *(*int8)(unsafe.Pointer(mode)) != 0 {
  24442. if int32(*(*int8)(unsafe.Pointer(mode))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(mode))) <= int32('9') {
  24443. (*Tgz_state)(unsafe.Pointer(state)).Flevel = int32(*(*int8)(unsafe.Pointer(mode))) - int32('0')
  24444. } else {
  24445. switch int32(*(*int8)(unsafe.Pointer(mode))) {
  24446. case int32('r'):
  24447. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_READ)
  24448. case int32('w'):
  24449. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE)
  24450. case int32('a'):
  24451. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_APPEND)
  24452. case int32('+'): /* can't read and write at the same time */
  24453. libc.Xfree(tls, state)
  24454. return libc.UintptrFromInt32(0)
  24455. case int32('b'): /* ignore -- will request binary anyway */
  24456. case int32('e'):
  24457. cloexec = int32(1)
  24458. case int32('x'):
  24459. exclusive = int32(1)
  24460. case int32('f'):
  24461. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FILTERED)
  24462. case int32('h'):
  24463. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_HUFFMAN_ONLY)
  24464. case int32('R'):
  24465. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_RLE)
  24466. case int32('F'):
  24467. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FIXED)
  24468. case int32('T'):
  24469. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  24470. default: /* could consider as an error, but just ignore */
  24471. }
  24472. }
  24473. mode++
  24474. }
  24475. /* must provide an "r", "w", or "a" */
  24476. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == m_GZ_NONE {
  24477. libc.Xfree(tls, state)
  24478. return libc.UintptrFromInt32(0)
  24479. }
  24480. /* can't force transparent read */
  24481. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24482. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  24483. libc.Xfree(tls, state)
  24484. return libc.UintptrFromInt32(0)
  24485. }
  24486. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1) /* for empty file */
  24487. }
  24488. /* save the path name for error messages */
  24489. len1 = libc.Xstrlen(tls, path)
  24490. (*Tgz_state)(unsafe.Pointer(state)).Fpath = libc.Xmalloc(tls, len1+uint64(1))
  24491. if (*Tgz_state)(unsafe.Pointer(state)).Fpath == libc.UintptrFromInt32(0) {
  24492. libc.Xfree(tls, state)
  24493. return libc.UintptrFromInt32(0)
  24494. }
  24495. libc.X__builtin___snprintf_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath, len1+uint64(1), 0, ^t__predefined_size_t(0), __ccgo_ts+584, libc.VaList(bp+8, path))
  24496. /* compute the flags for open() */
  24497. if cloexec != 0 {
  24498. v1 = int32(m_O_CLOEXEC1)
  24499. } else {
  24500. v1 = 0
  24501. }
  24502. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24503. v2 = m_O_RDONLY1
  24504. } else {
  24505. if exclusive != 0 {
  24506. v3 = int32(m_O_EXCL1)
  24507. } else {
  24508. v3 = 0
  24509. }
  24510. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_WRITE) {
  24511. v4 = int32(m_O_TRUNC1)
  24512. } else {
  24513. v4 = int32(m_O_APPEND1)
  24514. }
  24515. v2 = libc.Int32FromInt32(m_O_WRONLY1) | libc.Int32FromInt32(m_O_CREAT1) | v3 | v4
  24516. }
  24517. oflag = v1 | v2
  24518. /* open the file with the appropriate flags (or just use fd) */
  24519. if fd > -int32(1) {
  24520. v5 = fd
  24521. } else {
  24522. v5 = libc.Xopen(tls, path, oflag, libc.VaList(bp+8, int32(0666)))
  24523. }
  24524. (*Tgz_state)(unsafe.Pointer(state)).Ffd = v5
  24525. if (*Tgz_state)(unsafe.Pointer(state)).Ffd == -int32(1) {
  24526. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  24527. libc.Xfree(tls, state)
  24528. return libc.UintptrFromInt32(0)
  24529. }
  24530. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_APPEND) {
  24531. libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_END)) /* so gzoffset() is correct */
  24532. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE) /* simplify later checks */
  24533. }
  24534. /* save the current position for rewinding (only if reading) */
  24535. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24536. (*Tgz_state)(unsafe.Pointer(state)).Fstart = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_CUR))
  24537. if (*Tgz_state)(unsafe.Pointer(state)).Fstart == int64(-int32(1)) {
  24538. (*Tgz_state)(unsafe.Pointer(state)).Fstart = 0
  24539. }
  24540. }
  24541. /* initialize stream */
  24542. _gz_reset(tls, state)
  24543. /* return stream */
  24544. return state
  24545. }
  24546. // C documentation
  24547. //
  24548. // /* -- see zlib.h -- */
  24549. func Xgzopen(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  24550. return _gz_open(tls, path, -int32(1), mode)
  24551. }
  24552. // C documentation
  24553. //
  24554. // /* -- see zlib.h -- */
  24555. func Xgzopen64(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  24556. return _gz_open(tls, path, -int32(1), mode)
  24557. }
  24558. // C documentation
  24559. //
  24560. // /* -- see zlib.h -- */
  24561. func Xgzdopen(tls *libc.TLS, fd int32, mode uintptr) (r TgzFile) {
  24562. bp := tls.Alloc(16)
  24563. defer tls.Free(16)
  24564. var gz TgzFile
  24565. var path, v1 uintptr
  24566. var v2 bool
  24567. _, _, _, _ = gz, path, v1, v2
  24568. if v2 = fd == -int32(1); !v2 {
  24569. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4))
  24570. path = v1
  24571. }
  24572. if v2 || v1 == libc.UintptrFromInt32(0) {
  24573. return libc.UintptrFromInt32(0)
  24574. }
  24575. libc.X__builtin___snprintf_chk(tls, path, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4), 0, ^t__predefined_size_t(0), __ccgo_ts+587, libc.VaList(bp+8, fd))
  24576. gz = _gz_open(tls, path, fd, mode)
  24577. libc.Xfree(tls, path)
  24578. return gz
  24579. }
  24580. /* -- see zlib.h -- */
  24581. // C documentation
  24582. //
  24583. // /* -- see zlib.h -- */
  24584. func Xgzbuffer(tls *libc.TLS, file TgzFile, size uint32) (r int32) {
  24585. var state Tgz_statep
  24586. _ = state
  24587. /* get internal structure and check integrity */
  24588. if file == libc.UintptrFromInt32(0) {
  24589. return -int32(1)
  24590. }
  24591. state = file
  24592. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24593. return -int32(1)
  24594. }
  24595. /* make sure we haven't already allocated memory */
  24596. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != uint32(0) {
  24597. return -int32(1)
  24598. }
  24599. /* check and set requested size */
  24600. if size<<int32(1) < size {
  24601. return -int32(1)
  24602. } /* need to be able to double it */
  24603. if size < uint32(8) {
  24604. size = uint32(8)
  24605. } /* needed to behave well with flushing */
  24606. (*Tgz_state)(unsafe.Pointer(state)).Fwant = size
  24607. return 0
  24608. }
  24609. // C documentation
  24610. //
  24611. // /* -- see zlib.h -- */
  24612. func Xgzrewind(tls *libc.TLS, file TgzFile) (r int32) {
  24613. var state Tgz_statep
  24614. _ = state
  24615. /* get internal structure */
  24616. if file == libc.UintptrFromInt32(0) {
  24617. return -int32(1)
  24618. }
  24619. state = file
  24620. /* check that we're reading and that there's no error */
  24621. 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) {
  24622. return -int32(1)
  24623. }
  24624. /* back up and start over */
  24625. if libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fstart, m_SEEK_SET) == int64(-int32(1)) {
  24626. return -int32(1)
  24627. }
  24628. _gz_reset(tls, state)
  24629. return 0
  24630. }
  24631. // C documentation
  24632. //
  24633. // /* -- see zlib.h -- */
  24634. func Xgzseek64(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  24635. var n, v1 uint32
  24636. var ret Toff_t
  24637. var state Tgz_statep
  24638. _, _, _, _ = n, ret, state, v1
  24639. /* get internal structure and check integrity */
  24640. if file == libc.UintptrFromInt32(0) {
  24641. return int64(-int32(1))
  24642. }
  24643. state = file
  24644. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24645. return int64(-int32(1))
  24646. }
  24647. /* check that there's no error */
  24648. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  24649. return int64(-int32(1))
  24650. }
  24651. /* can only seek from start or relative to current position */
  24652. if whence != m_SEEK_SET && whence != int32(m_SEEK_CUR) {
  24653. return int64(-int32(1))
  24654. }
  24655. /* normalize offset to a SEEK_CUR specification */
  24656. if whence == m_SEEK_SET {
  24657. offset -= (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  24658. } else {
  24659. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24660. offset += (*Tgz_state)(unsafe.Pointer(state)).Fskip
  24661. }
  24662. }
  24663. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24664. /* if within raw area while reading, just go there */
  24665. 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 {
  24666. ret = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, offset-libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave), int32(m_SEEK_CUR))
  24667. if ret == int64(-int32(1)) {
  24668. return int64(-int32(1))
  24669. }
  24670. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  24671. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  24672. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  24673. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24674. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  24675. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  24676. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += offset
  24677. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  24678. }
  24679. /* calculate skip amount, rewinding if needed for back seek when reading */
  24680. if offset < 0 {
  24681. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) { /* writing -- can't go backwards */
  24682. return int64(-int32(1))
  24683. }
  24684. offset += (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  24685. if offset < 0 { /* before start of file! */
  24686. return int64(-int32(1))
  24687. }
  24688. if Xgzrewind(tls, file) == -int32(1) { /* rewind, then skip to offset */
  24689. return int64(-int32(1))
  24690. }
  24691. }
  24692. /* if reading, skip what's in output buffer (one less gzgetc() check) */
  24693. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24694. 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 {
  24695. v1 = libc.Uint32FromInt64(offset)
  24696. } else {
  24697. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  24698. }
  24699. n = v1
  24700. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  24701. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  24702. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  24703. offset -= libc.Int64FromUint32(n)
  24704. }
  24705. /* request skip (if not zero) */
  24706. if offset != 0 {
  24707. (*Tgz_state)(unsafe.Pointer(state)).Fseek = int32(1)
  24708. (*Tgz_state)(unsafe.Pointer(state)).Fskip = offset
  24709. }
  24710. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + offset
  24711. }
  24712. // C documentation
  24713. //
  24714. // /* -- see zlib.h -- */
  24715. func Xgzseek(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  24716. var ret Toff_t
  24717. var v1 int64
  24718. _, _ = ret, v1
  24719. ret = Xgzseek64(tls, file, offset, whence)
  24720. if ret == ret {
  24721. v1 = ret
  24722. } else {
  24723. v1 = int64(-int32(1))
  24724. }
  24725. return v1
  24726. }
  24727. // C documentation
  24728. //
  24729. // /* -- see zlib.h -- */
  24730. func Xgztell64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  24731. var state Tgz_statep
  24732. var v1 int64
  24733. _, _ = state, v1
  24734. /* get internal structure and check integrity */
  24735. if file == libc.UintptrFromInt32(0) {
  24736. return int64(-int32(1))
  24737. }
  24738. state = file
  24739. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24740. return int64(-int32(1))
  24741. }
  24742. /* return position */
  24743. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24744. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fskip
  24745. } else {
  24746. v1 = 0
  24747. }
  24748. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + v1
  24749. }
  24750. // C documentation
  24751. //
  24752. // /* -- see zlib.h -- */
  24753. func Xgztell(tls *libc.TLS, file TgzFile) (r Toff_t) {
  24754. var ret Toff_t
  24755. var v1 int64
  24756. _, _ = ret, v1
  24757. ret = Xgztell64(tls, file)
  24758. if ret == ret {
  24759. v1 = ret
  24760. } else {
  24761. v1 = int64(-int32(1))
  24762. }
  24763. return v1
  24764. }
  24765. // C documentation
  24766. //
  24767. // /* -- see zlib.h -- */
  24768. func Xgzoffset64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  24769. var offset Toff_t
  24770. var state Tgz_statep
  24771. _, _ = offset, state
  24772. /* get internal structure and check integrity */
  24773. if file == libc.UintptrFromInt32(0) {
  24774. return int64(-int32(1))
  24775. }
  24776. state = file
  24777. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24778. return int64(-int32(1))
  24779. }
  24780. /* compute and return effective offset in file */
  24781. offset = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_CUR))
  24782. if offset == int64(-int32(1)) {
  24783. return int64(-int32(1))
  24784. }
  24785. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* reading */
  24786. offset -= libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)
  24787. } /* don't count buffered input */
  24788. return offset
  24789. }
  24790. // C documentation
  24791. //
  24792. // /* -- see zlib.h -- */
  24793. func Xgzoffset(tls *libc.TLS, file TgzFile) (r Toff_t) {
  24794. var ret Toff_t
  24795. var v1 int64
  24796. _, _ = ret, v1
  24797. ret = Xgzoffset64(tls, file)
  24798. if ret == ret {
  24799. v1 = ret
  24800. } else {
  24801. v1 = int64(-int32(1))
  24802. }
  24803. return v1
  24804. }
  24805. // C documentation
  24806. //
  24807. // /* -- see zlib.h -- */
  24808. func Xgzeof(tls *libc.TLS, file TgzFile) (r int32) {
  24809. var state Tgz_statep
  24810. var v1 int32
  24811. _, _ = state, v1
  24812. /* get internal structure and check integrity */
  24813. if file == libc.UintptrFromInt32(0) {
  24814. return 0
  24815. }
  24816. state = file
  24817. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24818. return 0
  24819. }
  24820. /* return end-of-file state */
  24821. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24822. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fpast
  24823. } else {
  24824. v1 = 0
  24825. }
  24826. return v1
  24827. }
  24828. // C documentation
  24829. //
  24830. // /* -- see zlib.h -- */
  24831. func Xgzerror(tls *libc.TLS, file TgzFile, errnum uintptr) (r uintptr) {
  24832. var state Tgz_statep
  24833. var v1, v2 uintptr
  24834. _, _, _ = state, v1, v2
  24835. /* get internal structure and check integrity */
  24836. if file == libc.UintptrFromInt32(0) {
  24837. return libc.UintptrFromInt32(0)
  24838. }
  24839. state = file
  24840. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24841. return libc.UintptrFromInt32(0)
  24842. }
  24843. /* return error information */
  24844. if errnum != libc.UintptrFromInt32(0) {
  24845. *(*int32)(unsafe.Pointer(errnum)) = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24846. }
  24847. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(4) {
  24848. v1 = __ccgo_ts + 595
  24849. } else {
  24850. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg == libc.UintptrFromInt32(0) {
  24851. v2 = __ccgo_ts + 494
  24852. } else {
  24853. v2 = (*Tgz_state)(unsafe.Pointer(state)).Fmsg
  24854. }
  24855. v1 = v2
  24856. }
  24857. return v1
  24858. }
  24859. // C documentation
  24860. //
  24861. // /* -- see zlib.h -- */
  24862. func Xgzclearerr(tls *libc.TLS, file TgzFile) {
  24863. var state Tgz_statep
  24864. _ = state
  24865. /* get internal structure and check integrity */
  24866. if file == libc.UintptrFromInt32(0) {
  24867. return
  24868. }
  24869. state = file
  24870. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24871. return
  24872. }
  24873. /* clear error and end-of-file */
  24874. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  24875. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  24876. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  24877. }
  24878. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  24879. }
  24880. // C documentation
  24881. //
  24882. // /* Create an error message in allocated memory and set state->err and
  24883. // state->msg accordingly. Free any previous error message already there. Do
  24884. // not try to free or allocate space if the error is Z_MEM_ERROR (out of
  24885. // memory). Simply save the error message as a static string. If there is an
  24886. // allocation failure constructing the error message, then convert the error to
  24887. // out of memory. */
  24888. func Xgz_error(tls *libc.TLS, state Tgz_statep, err int32, msg uintptr) {
  24889. bp := tls.Alloc(32)
  24890. defer tls.Free(32)
  24891. var v1 uintptr
  24892. _ = v1
  24893. /* free previously allocated message and clear */
  24894. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg != libc.UintptrFromInt32(0) {
  24895. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(4) {
  24896. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg)
  24897. }
  24898. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0)
  24899. }
  24900. /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */
  24901. if err != m_Z_OK && err != -int32(5) {
  24902. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  24903. }
  24904. /* set error code, and if no message, then done */
  24905. (*Tgz_state)(unsafe.Pointer(state)).Ferr = err
  24906. if msg == libc.UintptrFromInt32(0) {
  24907. return
  24908. }
  24909. /* for an out of memory error, return literal string when requested */
  24910. if err == -int32(4) {
  24911. return
  24912. }
  24913. /* construct error message with path */
  24914. v1 = libc.Xmalloc(tls, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3))
  24915. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = v1
  24916. if v1 == libc.UintptrFromInt32(0) {
  24917. (*Tgz_state)(unsafe.Pointer(state)).Ferr = -int32(4)
  24918. return
  24919. }
  24920. libc.X__builtin___snprintf_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3), 0, ^t__predefined_size_t(0), __ccgo_ts+609, libc.VaList(bp+8, (*Tgz_state)(unsafe.Pointer(state)).Fpath, __ccgo_ts+616, msg))
  24921. }
  24922. // C documentation
  24923. //
  24924. // /* portably return maximum value for an int (when limits.h presumed not
  24925. // available) -- we need to do this to cover cases where 2's complement not
  24926. // used, since C standard permits 1's complement and sign-bit representations,
  24927. // otherwise we could just use ((unsigned)-1) >> 1 */
  24928. func Xgz_intmax(tls *libc.TLS) (r uint32) {
  24929. return uint32(m___INT_MAX__)
  24930. }
  24931. const m_O_APPEND2 = 0x00000008
  24932. const m_O_CLOEXEC2 = 0x01000000
  24933. const m_O_CREAT2 = 0x00000200
  24934. const m_O_EXCL2 = 0x00000800
  24935. const m_O_RDONLY2 = 0x0000
  24936. const m_O_TRUNC2 = 0x00000400
  24937. const m_O_WRONLY2 = 0x0001
  24938. // C documentation
  24939. //
  24940. // /* Use read() to load a buffer -- return -1 on error, otherwise 0. Read from
  24941. // state->fd, and update state->eof, state->err, and state->msg as appropriate.
  24942. // This function needs to loop on read(), since read() is not guaranteed to
  24943. // read the number of bytes requested, depending on the type of descriptor. */
  24944. func _gz_load(tls *libc.TLS, state Tgz_statep, buf uintptr, len1 uint32, have uintptr) (r int32) {
  24945. var get, max uint32
  24946. var ret int32
  24947. _, _, _ = get, max, ret
  24948. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  24949. *(*uint32)(unsafe.Pointer(have)) = uint32(0)
  24950. for cond := true; cond; cond = *(*uint32)(unsafe.Pointer(have)) < len1 {
  24951. get = len1 - *(*uint32)(unsafe.Pointer(have))
  24952. if get > max {
  24953. get = max
  24954. }
  24955. ret = int32(libc.Xread(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, buf+uintptr(*(*uint32)(unsafe.Pointer(have))), uint64(get)))
  24956. if ret <= 0 {
  24957. break
  24958. }
  24959. *(*uint32)(unsafe.Pointer(have)) += libc.Uint32FromInt32(ret)
  24960. }
  24961. if ret < 0 {
  24962. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  24963. return -int32(1)
  24964. }
  24965. if ret == 0 {
  24966. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  24967. }
  24968. return 0
  24969. }
  24970. // C documentation
  24971. //
  24972. // /* Load up input buffer and set eof flag if last data loaded -- return -1 on
  24973. // error, 0 otherwise. Note that the eof flag is set when the end of the input
  24974. // file is reached, even though there may be unused data in the buffer. Once
  24975. // that data has been used, no more attempts will be made to read the file.
  24976. // If strm->avail_in != 0, then the current data is moved to the beginning of
  24977. // the input buffer, and then the remainder of the buffer is loaded with the
  24978. // available data from the input file. */
  24979. func _gz_avail(tls *libc.TLS, state Tgz_statep) (r int32) {
  24980. bp := tls.Alloc(16)
  24981. defer tls.Free(16)
  24982. var n, v1 uint32
  24983. var p, q, v3, v4 uintptr
  24984. var strm Tz_streamp
  24985. var _ /* got at bp+0 */ uint32
  24986. _, _, _, _, _, _, _ = n, p, q, strm, v1, v3, v4
  24987. strm = state + 128
  24988. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  24989. return -int32(1)
  24990. }
  24991. if (*Tgz_state)(unsafe.Pointer(state)).Feof == 0 {
  24992. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 { /* copy what's there to the start */
  24993. p = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24994. q = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  24995. n = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  24996. for {
  24997. v3 = p
  24998. p++
  24999. v4 = q
  25000. q++
  25001. *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(v4))
  25002. goto _2
  25003. _2:
  25004. ;
  25005. n--
  25006. v1 = n
  25007. if !(v1 != 0) {
  25008. break
  25009. }
  25010. }
  25011. }
  25012. 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) {
  25013. return -int32(1)
  25014. }
  25015. *(*TuInt)(unsafe.Pointer(strm + 8)) += *(*uint32)(unsafe.Pointer(bp))
  25016. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  25017. }
  25018. return 0
  25019. }
  25020. // C documentation
  25021. //
  25022. // /* Look for gzip header, set up for inflate or copy. state->x.have must be 0.
  25023. // If this is the first time in, allocate required memory. state->how will be
  25024. // left unchanged if there is no more input data available, will be set to COPY
  25025. // if there is no gzip header and direct copying will be performed, or it will
  25026. // be set to GZIP for decompression. If direct copying, then leftover input
  25027. // data from the input buffer will be copied to the output buffer. In that
  25028. // case, all further file reads will be directly to either the output buffer or
  25029. // a user buffer. If decompressing, the inflate state will be initialized.
  25030. // gz_look() will return 0 on success or -1 on failure. */
  25031. func _gz_look(tls *libc.TLS, state Tgz_statep) (r int32) {
  25032. var strm Tz_streamp
  25033. _ = strm
  25034. strm = state + 128
  25035. /* allocate read buffers and inflate memory */
  25036. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) {
  25037. /* allocate buffers */
  25038. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  25039. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  25040. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) || (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  25041. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  25042. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  25043. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  25044. return -int32(1)
  25045. }
  25046. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  25047. /* allocate inflate memory */
  25048. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzalloc = uintptr(m_Z_NULL)
  25049. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzfree = uintptr(m_Z_NULL)
  25050. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fopaque = uintptr(m_Z_NULL)
  25051. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  25052. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = uintptr(m_Z_NULL)
  25053. if XinflateInit2_(tls, state+128, libc.Int32FromInt32(15)+libc.Int32FromInt32(16), __ccgo_ts, libc.Int32FromInt64(112)) != m_Z_OK { /* gunzip */
  25054. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  25055. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  25056. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0)
  25057. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  25058. return -int32(1)
  25059. }
  25060. }
  25061. /* get at least the magic bytes in the input buffer */
  25062. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in < uint32(2) {
  25063. if _gz_avail(tls, state) == -int32(1) {
  25064. return -int32(1)
  25065. }
  25066. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  25067. return 0
  25068. }
  25069. }
  25070. /* look for gzip magic bytes -- if there, do gzip decoding (note: there is
  25071. a logical dilemma here when considering the case of a partially written
  25072. gzip file, to wit, if a single 31 byte is written, then we cannot tell
  25073. whether this is a single-byte file, or just a partially written gzip
  25074. file -- for here we assume that if a gzip file is being written, then
  25075. the header will be written in a single operation, so that reading a
  25076. single byte is sufficient indication that it is not a gzip file) */
  25077. 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) {
  25078. XinflateReset(tls, strm)
  25079. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_GZIP)
  25080. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  25081. return 0
  25082. }
  25083. /* no gzip header -- if we were decoding gzip before, then this is trailing
  25084. garbage. Ignore the trailing garbage and finish. */
  25085. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect == 0 {
  25086. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  25087. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  25088. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  25089. return 0
  25090. }
  25091. /* doing raw i/o, copy any leftover input to output -- this assumes that
  25092. the output buffer is larger than the input buffer, which also assures
  25093. space for gzungetc() */
  25094. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  25095. libc.X__builtin___memcpy_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64((*Tz_stream)(unsafe.Pointer(strm)).Favail_in), ^t__predefined_size_t(0))
  25096. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  25097. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  25098. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_COPY)
  25099. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  25100. return 0
  25101. }
  25102. // C documentation
  25103. //
  25104. // /* Decompress from input to the provided next_out and avail_out in the state.
  25105. // On return, state->x.have and state->x.next point to the just decompressed
  25106. // data. If the gzip stream completes, state->how is reset to LOOK to look for
  25107. // the next gzip stream or raw data, once state->x.have is depleted. Returns 0
  25108. // on success, -1 on failure. */
  25109. func _gz_decomp(tls *libc.TLS, state Tgz_statep) (r int32) {
  25110. var had uint32
  25111. var ret int32
  25112. var strm Tz_streamp
  25113. var v1 uintptr
  25114. _, _, _, _ = had, ret, strm, v1
  25115. ret = m_Z_OK
  25116. strm = state + 128
  25117. /* fill output buffer up to end of deflate stream */
  25118. had = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  25119. for cond := true; cond; cond = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out != 0 && ret != int32(m_Z_STREAM_END) {
  25120. /* get more input for inflate() */
  25121. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && _gz_avail(tls, state) == -int32(1) {
  25122. return -int32(1)
  25123. }
  25124. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  25125. Xgz_error(tls, state, -int32(5), __ccgo_ts+619)
  25126. break
  25127. }
  25128. /* decompress and handle errors */
  25129. ret = Xinflate(tls, strm, m_Z_NO_FLUSH)
  25130. if ret == -int32(2) || ret == int32(m_Z_NEED_DICT) {
  25131. Xgz_error(tls, state, -int32(2), __ccgo_ts+642)
  25132. return -int32(1)
  25133. }
  25134. if ret == -int32(4) {
  25135. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  25136. return -int32(1)
  25137. }
  25138. if ret == -int32(3) { /* deflate stream invalid */
  25139. if (*Tz_stream)(unsafe.Pointer(strm)).Fmsg == libc.UintptrFromInt32(0) {
  25140. v1 = __ccgo_ts + 681
  25141. } else {
  25142. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Fmsg
  25143. }
  25144. Xgz_error(tls, state, -int32(3), v1)
  25145. return -int32(1)
  25146. }
  25147. }
  25148. /* update available output */
  25149. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = had - (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  25150. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out - uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  25151. /* if the gzip stream completed successfully, look for another */
  25152. if ret == int32(m_Z_STREAM_END) {
  25153. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK
  25154. }
  25155. /* good decompression */
  25156. return 0
  25157. }
  25158. // C documentation
  25159. //
  25160. // /* Fetch data and put it in the output buffer. Assumes state->x.have is 0.
  25161. // Data is either copied from the input file or decompressed from the input
  25162. // file depending on state->how. If state->how is LOOK, then a gzip header is
  25163. // looked for to determine whether to copy or decompress. Returns -1 on error,
  25164. // otherwise 0. gz_fetch() will leave state->how as COPY or GZIP unless the
  25165. // end of the input file has been reached and all data has been processed. */
  25166. func _gz_fetch(tls *libc.TLS, state Tgz_statep) (r int32) {
  25167. var strm Tz_streamp
  25168. _ = strm
  25169. strm = state + 128
  25170. 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) {
  25171. switch (*Tgz_state)(unsafe.Pointer(state)).Fhow {
  25172. case m_LOOK: /* -> LOOK, COPY (only if never GZIP), or GZIP */
  25173. if _gz_look(tls, state) == -int32(1) {
  25174. return -int32(1)
  25175. }
  25176. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK {
  25177. return 0
  25178. }
  25179. case int32(m_COPY): /* -> COPY */
  25180. if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fout, (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1), state) == -int32(1) {
  25181. return -int32(1)
  25182. }
  25183. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  25184. return 0
  25185. case int32(m_GZIP): /* -> GZIP or LOOK (if end of gzip stream) */
  25186. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize << int32(1)
  25187. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  25188. if _gz_decomp(tls, state) == -int32(1) {
  25189. return -int32(1)
  25190. }
  25191. }
  25192. }
  25193. return 0
  25194. }
  25195. // C documentation
  25196. //
  25197. // /* Skip len uncompressed bytes of output. Return -1 on error, 0 on success. */
  25198. func _gz_skip(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  25199. var n, v1 uint32
  25200. _, _ = n, v1
  25201. /* skip over len bytes or reach end-of-file, whichever comes first */
  25202. for len1 != 0 {
  25203. /* skip over whatever is in output buffer */
  25204. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  25205. 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 {
  25206. v1 = libc.Uint32FromInt64(len1)
  25207. } else {
  25208. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  25209. }
  25210. n = v1
  25211. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  25212. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  25213. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  25214. len1 -= libc.Int64FromUint32(n)
  25215. } else {
  25216. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  25217. break
  25218. } else {
  25219. /* get more output, looking for header if required */
  25220. if _gz_fetch(tls, state) == -int32(1) {
  25221. return -int32(1)
  25222. }
  25223. }
  25224. }
  25225. }
  25226. return 0
  25227. }
  25228. // C documentation
  25229. //
  25230. // /* Read len bytes into buf from file, or less than len up to the end of the
  25231. // input. Return the number of bytes read. If zero is returned, either the
  25232. // end of file was reached, or there was an error. state->err must be
  25233. // consulted in that case to determine which. */
  25234. func _gz_read(tls *libc.TLS, state Tgz_statep, buf Tvoidp, len1 Tz_size_t) (r Tz_size_t) {
  25235. bp := tls.Alloc(16)
  25236. defer tls.Free(16)
  25237. var got Tz_size_t
  25238. var _ /* n at bp+0 */ uint32
  25239. _ = got
  25240. /* if len is zero, avoid unnecessary operations */
  25241. if len1 == uint64(0) {
  25242. return uint64(0)
  25243. }
  25244. /* process a skip request */
  25245. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25246. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25247. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25248. return uint64(0)
  25249. }
  25250. }
  25251. /* get len bytes to buf, or less than len if at the end */
  25252. got = uint64(0)
  25253. for cond := true; cond; cond = len1 != 0 {
  25254. /* set n to the maximum amount of len that fits in an unsigned int */
  25255. *(*uint32)(unsafe.Pointer(bp)) = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  25256. if uint64(*(*uint32)(unsafe.Pointer(bp))) > len1 {
  25257. *(*uint32)(unsafe.Pointer(bp)) = uint32(len1)
  25258. }
  25259. /* first just try copying data from the output buffer */
  25260. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  25261. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave < *(*uint32)(unsafe.Pointer(bp)) {
  25262. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  25263. }
  25264. libc.X__builtin___memcpy_chk(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(*(*uint32)(unsafe.Pointer(bp))), ^t__predefined_size_t(0))
  25265. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(*(*uint32)(unsafe.Pointer(bp)))
  25266. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= *(*uint32)(unsafe.Pointer(bp))
  25267. } else {
  25268. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  25269. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* tried to read past end */
  25270. break
  25271. } else {
  25272. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK || *(*uint32)(unsafe.Pointer(bp)) < (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  25273. /* get more output, looking for header if required */
  25274. if _gz_fetch(tls, state) == -int32(1) {
  25275. return uint64(0)
  25276. }
  25277. continue /* no progress yet -- go back to copy above */
  25278. /* the copy above assures that we will leave with space in the
  25279. output buffer, allowing at least one gzungetc() to succeed */
  25280. } else {
  25281. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) { /* read directly */
  25282. if _gz_load(tls, state, buf, *(*uint32)(unsafe.Pointer(bp)), bp) == -int32(1) {
  25283. return uint64(0)
  25284. }
  25285. } else { /* state->how == GZIP */
  25286. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_out = *(*uint32)(unsafe.Pointer(bp))
  25287. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_out = buf
  25288. if _gz_decomp(tls, state) == -int32(1) {
  25289. return uint64(0)
  25290. }
  25291. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  25292. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  25293. }
  25294. }
  25295. }
  25296. }
  25297. /* update progress */
  25298. len1 -= uint64(*(*uint32)(unsafe.Pointer(bp)))
  25299. buf = buf + uintptr(*(*uint32)(unsafe.Pointer(bp)))
  25300. got += uint64(*(*uint32)(unsafe.Pointer(bp)))
  25301. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(*(*uint32)(unsafe.Pointer(bp)))
  25302. }
  25303. /* return number of bytes read into user buffer */
  25304. return got
  25305. }
  25306. // C documentation
  25307. //
  25308. // /* -- see zlib.h -- */
  25309. func Xgzread(tls *libc.TLS, file TgzFile, buf Tvoidp, len1 uint32) (r int32) {
  25310. var state Tgz_statep
  25311. _ = state
  25312. /* get internal structure */
  25313. if file == libc.UintptrFromInt32(0) {
  25314. return -int32(1)
  25315. }
  25316. state = file
  25317. /* check that we're reading and that there's no (serious) error */
  25318. 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) {
  25319. return -int32(1)
  25320. }
  25321. /* since an int is returned, make sure len fits in one, otherwise return
  25322. with an error (this avoids a flaw in the interface) */
  25323. if libc.Int32FromUint32(len1) < 0 {
  25324. Xgz_error(tls, state, -int32(2), __ccgo_ts+703)
  25325. return -int32(1)
  25326. }
  25327. /* read len or fewer bytes to buf */
  25328. len1 = uint32(_gz_read(tls, state, buf, uint64(len1)))
  25329. /* check for an error */
  25330. if len1 == uint32(0) && (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  25331. return -int32(1)
  25332. }
  25333. /* return the number of bytes read (this is assured to fit in an int) */
  25334. return libc.Int32FromUint32(len1)
  25335. }
  25336. // C documentation
  25337. //
  25338. // /* -- see zlib.h -- */
  25339. func Xgzfread(tls *libc.TLS, buf Tvoidp, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  25340. var len1 Tz_size_t
  25341. var state Tgz_statep
  25342. var v1 uint64
  25343. _, _, _ = len1, state, v1
  25344. /* get internal structure */
  25345. if file == libc.UintptrFromInt32(0) {
  25346. return uint64(0)
  25347. }
  25348. state = file
  25349. /* check that we're reading and that there's no (serious) error */
  25350. 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) {
  25351. return uint64(0)
  25352. }
  25353. /* compute bytes to read -- error on overflow */
  25354. len1 = nitems * size
  25355. if size != 0 && len1/size != nitems {
  25356. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  25357. return uint64(0)
  25358. }
  25359. /* read len or fewer bytes to buf, return the number of full items read */
  25360. if len1 != 0 {
  25361. v1 = _gz_read(tls, state, buf, len1) / size
  25362. } else {
  25363. v1 = uint64(0)
  25364. }
  25365. return v1
  25366. }
  25367. // C documentation
  25368. //
  25369. // /* -- see zlib.h -- */
  25370. func Xgzgetc(tls *libc.TLS, file TgzFile) (r int32) {
  25371. bp := tls.Alloc(16)
  25372. defer tls.Free(16)
  25373. var state Tgz_statep
  25374. var v1, v2 uintptr
  25375. var v3 int32
  25376. var _ /* buf at bp+0 */ [1]uint8
  25377. _, _, _, _ = state, v1, v2, v3
  25378. /* get internal structure */
  25379. if file == libc.UintptrFromInt32(0) {
  25380. return -int32(1)
  25381. }
  25382. state = file
  25383. /* check that we're reading and that there's no (serious) error */
  25384. 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) {
  25385. return -int32(1)
  25386. }
  25387. /* try output buffer (no need to check for skip request) */
  25388. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  25389. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave--
  25390. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  25391. v2 = state + 8
  25392. v1 = *(*uintptr)(unsafe.Pointer(v2))
  25393. *(*uintptr)(unsafe.Pointer(v2))++
  25394. return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v1)))
  25395. }
  25396. /* nothing there -- try gz_read() */
  25397. if _gz_read(tls, state, bp, uint64(1)) < uint64(1) {
  25398. v3 = -int32(1)
  25399. } else {
  25400. v3 = libc.Int32FromUint8((*(*[1]uint8)(unsafe.Pointer(bp)))[0])
  25401. }
  25402. return v3
  25403. }
  25404. func Xgzgetc_(tls *libc.TLS, file TgzFile) (r int32) {
  25405. return Xgzgetc(tls, file)
  25406. }
  25407. // C documentation
  25408. //
  25409. // /* -- see zlib.h -- */
  25410. func Xgzungetc(tls *libc.TLS, c int32, file TgzFile) (r int32) {
  25411. var dest, src, v1, v2 uintptr
  25412. var state Tgz_statep
  25413. _, _, _, _, _ = dest, src, state, v1, v2
  25414. /* get internal structure */
  25415. if file == libc.UintptrFromInt32(0) {
  25416. return -int32(1)
  25417. }
  25418. state = file
  25419. /* in case this was just opened, set up the input buffer */
  25420. 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) {
  25421. _gz_look(tls, state)
  25422. }
  25423. /* check that we're reading and that there's no (serious) error */
  25424. 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) {
  25425. return -int32(1)
  25426. }
  25427. /* process a skip request */
  25428. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25429. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25430. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25431. return -int32(1)
  25432. }
  25433. }
  25434. /* can't push EOF */
  25435. if c < 0 {
  25436. return -int32(1)
  25437. }
  25438. /* if output buffer empty, put byte at end (allows more pushing) */
  25439. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  25440. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(1)
  25441. (*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)
  25442. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  25443. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  25444. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  25445. return c
  25446. }
  25447. /* if no room, give up (must have already done a gzungetc()) */
  25448. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  25449. Xgz_error(tls, state, -int32(3), __ccgo_ts+767)
  25450. return -int32(1)
  25451. }
  25452. /* slide output data if needed and insert byte before existing data */
  25453. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext == (*Tgz_state)(unsafe.Pointer(state)).Fout {
  25454. src = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  25455. dest = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1))
  25456. for src > (*Tgz_state)(unsafe.Pointer(state)).Fout {
  25457. dest--
  25458. v1 = dest
  25459. src--
  25460. v2 = src
  25461. *(*uint8)(unsafe.Pointer(v1)) = *(*uint8)(unsafe.Pointer(v2))
  25462. }
  25463. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = dest
  25464. }
  25465. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave++
  25466. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext--
  25467. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  25468. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  25469. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  25470. return c
  25471. }
  25472. // C documentation
  25473. //
  25474. // /* -- see zlib.h -- */
  25475. func Xgzgets(tls *libc.TLS, file TgzFile, buf uintptr, len1 int32) (r uintptr) {
  25476. var eol, str uintptr
  25477. var left, n, v1 uint32
  25478. var state Tgz_statep
  25479. _, _, _, _, _, _ = eol, left, n, state, str, v1
  25480. /* check parameters and get internal structure */
  25481. if file == libc.UintptrFromInt32(0) || buf == libc.UintptrFromInt32(0) || len1 < int32(1) {
  25482. return libc.UintptrFromInt32(0)
  25483. }
  25484. state = file
  25485. /* check that we're reading and that there's no (serious) error */
  25486. 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) {
  25487. return libc.UintptrFromInt32(0)
  25488. }
  25489. /* process a skip request */
  25490. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25491. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25492. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25493. return libc.UintptrFromInt32(0)
  25494. }
  25495. }
  25496. /* copy output bytes up to new line or len - 1, whichever comes first --
  25497. append a terminating zero to the string (we don't check for a zero in
  25498. the contents, let the user worry about that) */
  25499. str = buf
  25500. left = libc.Uint32FromInt32(len1) - uint32(1)
  25501. if left != 0 {
  25502. for cond := true; cond; cond = left != 0 && eol == libc.UintptrFromInt32(0) {
  25503. /* assure that something is in the output buffer */
  25504. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && _gz_fetch(tls, state) == -int32(1) {
  25505. return libc.UintptrFromInt32(0)
  25506. } /* error */
  25507. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { /* end of file */
  25508. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* read past end */
  25509. break /* return what we have */
  25510. }
  25511. /* look for end-of-line in current output buffer */
  25512. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > left {
  25513. v1 = left
  25514. } else {
  25515. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  25516. }
  25517. n = v1
  25518. eol = libc.Xmemchr(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, int32('\n'), uint64(n))
  25519. if eol != libc.UintptrFromInt32(0) {
  25520. n = libc.Uint32FromInt64(int64(eol)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) + uint32(1)
  25521. }
  25522. /* copy through end-of-line, or remainder if not found */
  25523. libc.X__builtin___memcpy_chk(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(n), ^t__predefined_size_t(0))
  25524. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  25525. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  25526. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  25527. left -= n
  25528. buf += uintptr(n)
  25529. }
  25530. }
  25531. /* return terminated string, or if nothing, end of file */
  25532. if buf == str {
  25533. return libc.UintptrFromInt32(0)
  25534. }
  25535. *(*int8)(unsafe.Pointer(buf)) = 0
  25536. return str
  25537. }
  25538. // C documentation
  25539. //
  25540. // /* -- see zlib.h -- */
  25541. func Xgzdirect(tls *libc.TLS, file TgzFile) (r int32) {
  25542. var state Tgz_statep
  25543. _ = state
  25544. /* get internal structure */
  25545. if file == libc.UintptrFromInt32(0) {
  25546. return 0
  25547. }
  25548. state = file
  25549. /* if the state is not known, but we can find out, then do so (this is
  25550. mainly for right after a gzopen() or gzdopen()) */
  25551. 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) {
  25552. _gz_look(tls, state)
  25553. }
  25554. /* return 1 if transparent, 0 if processing a gzip stream */
  25555. return (*Tgz_state)(unsafe.Pointer(state)).Fdirect
  25556. }
  25557. // C documentation
  25558. //
  25559. // /* -- see zlib.h -- */
  25560. func Xgzclose_r(tls *libc.TLS, file TgzFile) (r int32) {
  25561. var err, ret, v1, v2 int32
  25562. var state Tgz_statep
  25563. _, _, _, _, _ = err, ret, state, v1, v2
  25564. /* get internal structure */
  25565. if file == libc.UintptrFromInt32(0) {
  25566. return -int32(2)
  25567. }
  25568. state = file
  25569. /* check that we're reading */
  25570. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) {
  25571. return -int32(2)
  25572. }
  25573. /* free memory and close file */
  25574. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  25575. XinflateEnd(tls, state+128)
  25576. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  25577. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  25578. }
  25579. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(5) {
  25580. v1 = -int32(5)
  25581. } else {
  25582. v1 = m_Z_OK
  25583. }
  25584. err = v1
  25585. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  25586. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  25587. ret = libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd)
  25588. libc.Xfree(tls, state)
  25589. if ret != 0 {
  25590. v2 = -int32(1)
  25591. } else {
  25592. v2 = err
  25593. }
  25594. return v2
  25595. }
  25596. // C documentation
  25597. //
  25598. // /* Initialize state for writing a gzip file. Mark initialization by setting
  25599. // state->size to non-zero. Return -1 on a memory allocation failure, or 0 on
  25600. // success. */
  25601. func _gz_init(tls *libc.TLS, state Tgz_statep) (r int32) {
  25602. var ret int32
  25603. var strm Tz_streamp
  25604. _, _ = ret, strm
  25605. strm = state + 128
  25606. /* allocate input buffer (double size for gzprintf) */
  25607. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  25608. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) {
  25609. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  25610. return -int32(1)
  25611. }
  25612. /* only need output buffer and deflate state if compressing */
  25613. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  25614. /* allocate output buffer */
  25615. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  25616. if (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  25617. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  25618. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  25619. return -int32(1)
  25620. }
  25621. /* allocate deflate memory, set up for gzip compression */
  25622. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = uintptr(m_Z_NULL)
  25623. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = uintptr(m_Z_NULL)
  25624. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(m_Z_NULL)
  25625. 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))
  25626. if ret != m_Z_OK {
  25627. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  25628. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  25629. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  25630. return -int32(1)
  25631. }
  25632. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = libc.UintptrFromInt32(0)
  25633. }
  25634. /* mark state as initialized */
  25635. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  25636. /* initialize write buffer if compressing */
  25637. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  25638. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  25639. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  25640. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  25641. }
  25642. return 0
  25643. }
  25644. // C documentation
  25645. //
  25646. // /* Compress whatever is at avail_in and next_in and write to the output file.
  25647. // Return -1 if there is an error writing to the output file or if gz_init()
  25648. // fails to allocate memory, otherwise 0. flush is assumed to be a valid
  25649. // deflate() flush value. If flush is Z_FINISH, then the deflate() state is
  25650. // reset to start a new gzip stream. If gz->direct is true, then simply write
  25651. // to the output file without compressing, and ignore flush. */
  25652. func _gz_comp(tls *libc.TLS, state Tgz_statep, flush int32) (r int32) {
  25653. var have, max, put, v1, v2 uint32
  25654. var ret, writ int32
  25655. var strm Tz_streamp
  25656. _, _, _, _, _, _, _, _ = have, max, put, ret, strm, writ, v1, v2
  25657. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  25658. strm = state + 128
  25659. /* allocate memory if this is the first time through */
  25660. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  25661. return -int32(1)
  25662. }
  25663. /* write directly if requested */
  25664. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  25665. for (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 {
  25666. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > max {
  25667. v1 = max
  25668. } else {
  25669. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  25670. }
  25671. put = v1
  25672. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(put)))
  25673. if writ < 0 {
  25674. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  25675. return -int32(1)
  25676. }
  25677. *(*TuInt)(unsafe.Pointer(strm + 8)) -= libc.Uint32FromInt32(writ)
  25678. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(writ)
  25679. }
  25680. return 0
  25681. }
  25682. /* check for a pending reset */
  25683. if (*Tgz_state)(unsafe.Pointer(state)).Freset != 0 {
  25684. /* don't start a new gzip member unless there is data to write */
  25685. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  25686. return 0
  25687. }
  25688. XdeflateReset(tls, strm)
  25689. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  25690. }
  25691. /* run deflate() on provided input until it produces no more output */
  25692. ret = m_Z_OK
  25693. for cond := true; cond; cond = have != 0 {
  25694. /* write out current buffer contents if full, or if flushing, but if
  25695. doing Z_FINISH then don't write until we get to Z_STREAM_END */
  25696. 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)) {
  25697. for (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out > (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext {
  25698. if int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext) > int64(libc.Int32FromUint32(max)) {
  25699. v2 = max
  25700. } else {
  25701. v2 = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out) - int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext))
  25702. }
  25703. put = v2
  25704. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(put)))
  25705. if writ < 0 {
  25706. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  25707. return -int32(1)
  25708. }
  25709. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(writ)
  25710. }
  25711. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  25712. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  25713. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  25714. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  25715. }
  25716. }
  25717. /* compress */
  25718. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  25719. ret = Xdeflate(tls, strm, flush)
  25720. if ret == -int32(2) {
  25721. Xgz_error(tls, state, -int32(2), __ccgo_ts+798)
  25722. return -int32(1)
  25723. }
  25724. have -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  25725. }
  25726. /* if that completed a deflate stream, allow another to start */
  25727. if flush == int32(m_Z_FINISH) {
  25728. (*Tgz_state)(unsafe.Pointer(state)).Freset = int32(1)
  25729. }
  25730. /* all done, no errors */
  25731. return 0
  25732. }
  25733. // C documentation
  25734. //
  25735. // /* Compress len zeros to output. Return -1 on a write error or memory
  25736. // allocation failure by gz_comp(), or 0 on success. */
  25737. func _gz_zero(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  25738. var first int32
  25739. var n, v1 uint32
  25740. var strm Tz_streamp
  25741. _, _, _, _ = first, n, strm, v1
  25742. strm = state + 128
  25743. /* consume whatever's left in the input buffer */
  25744. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25745. return -int32(1)
  25746. }
  25747. /* compress len zeros (len guaranteed > 0) */
  25748. first = int32(1)
  25749. for len1 != 0 {
  25750. 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 {
  25751. v1 = libc.Uint32FromInt64(len1)
  25752. } else {
  25753. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  25754. }
  25755. n = v1
  25756. if first != 0 {
  25757. libc.X__builtin___memset_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, 0, uint64(n), ^t__predefined_size_t(0))
  25758. first = 0
  25759. }
  25760. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = n
  25761. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  25762. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  25763. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25764. return -int32(1)
  25765. }
  25766. len1 -= libc.Int64FromUint32(n)
  25767. }
  25768. return 0
  25769. }
  25770. // C documentation
  25771. //
  25772. // /* Write len bytes from buf to file. Return the number of bytes written. If
  25773. // the returned value is less than len, then there was an error. */
  25774. func _gz_write(tls *libc.TLS, state Tgz_statep, buf Tvoidpc, len1 Tz_size_t) (r Tz_size_t) {
  25775. var copy1, have, n uint32
  25776. var put Tz_size_t
  25777. _, _, _, _ = copy1, have, n, put
  25778. put = len1
  25779. /* if len is zero, avoid unnecessary operations */
  25780. if len1 == uint64(0) {
  25781. return uint64(0)
  25782. }
  25783. /* allocate memory if this is the first time through */
  25784. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  25785. return uint64(0)
  25786. }
  25787. /* check for seek request */
  25788. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25789. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25790. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25791. return uint64(0)
  25792. }
  25793. }
  25794. /* for small len, copy to input buffer, otherwise compress directly */
  25795. if len1 < uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize) {
  25796. /* copy to input buffer, compress when full */
  25797. for cond := true; cond; cond = len1 != 0 {
  25798. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  25799. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  25800. }
  25801. 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))
  25802. copy1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize - have
  25803. if uint64(copy1) > len1 {
  25804. copy1 = uint32(len1)
  25805. }
  25806. libc.X__builtin___memcpy_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr(have), buf, uint64(copy1), ^t__predefined_size_t(0))
  25807. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in += copy1
  25808. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(copy1)
  25809. buf = buf + uintptr(copy1)
  25810. len1 -= uint64(copy1)
  25811. if len1 != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25812. return uint64(0)
  25813. }
  25814. }
  25815. } else {
  25816. /* consume whatever's left in the input buffer */
  25817. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25818. return uint64(0)
  25819. }
  25820. /* directly compress user buffer to file */
  25821. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = buf
  25822. for cond := true; cond; cond = len1 != 0 {
  25823. n = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  25824. if uint64(n) > len1 {
  25825. n = uint32(len1)
  25826. }
  25827. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = n
  25828. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  25829. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  25830. return uint64(0)
  25831. }
  25832. len1 -= uint64(n)
  25833. }
  25834. }
  25835. /* input was all buffered or compressed */
  25836. return put
  25837. }
  25838. // C documentation
  25839. //
  25840. // /* -- see zlib.h -- */
  25841. func Xgzwrite(tls *libc.TLS, file TgzFile, buf Tvoidpc, len1 uint32) (r int32) {
  25842. var state Tgz_statep
  25843. _ = state
  25844. /* get internal structure */
  25845. if file == libc.UintptrFromInt32(0) {
  25846. return 0
  25847. }
  25848. state = file
  25849. /* check that we're writing and that there's no error */
  25850. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  25851. return 0
  25852. }
  25853. /* since an int is returned, make sure len fits in one, otherwise return
  25854. with an error (this avoids a flaw in the interface) */
  25855. if libc.Int32FromUint32(len1) < 0 {
  25856. Xgz_error(tls, state, -int32(3), __ccgo_ts+837)
  25857. return 0
  25858. }
  25859. /* write len bytes from buf (the return value will fit in an int) */
  25860. return libc.Int32FromUint64(_gz_write(tls, state, buf, uint64(len1)))
  25861. }
  25862. // C documentation
  25863. //
  25864. // /* -- see zlib.h -- */
  25865. func Xgzfwrite(tls *libc.TLS, buf Tvoidpc, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  25866. var len1 Tz_size_t
  25867. var state Tgz_statep
  25868. var v1 uint64
  25869. _, _, _ = len1, state, v1
  25870. /* get internal structure */
  25871. if file == libc.UintptrFromInt32(0) {
  25872. return uint64(0)
  25873. }
  25874. state = file
  25875. /* check that we're writing and that there's no error */
  25876. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  25877. return uint64(0)
  25878. }
  25879. /* compute bytes to read -- error on overflow */
  25880. len1 = nitems * size
  25881. if size != 0 && len1/size != nitems {
  25882. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  25883. return uint64(0)
  25884. }
  25885. /* write len bytes to buf, return the number of full items written */
  25886. if len1 != 0 {
  25887. v1 = _gz_write(tls, state, buf, len1) / size
  25888. } else {
  25889. v1 = uint64(0)
  25890. }
  25891. return v1
  25892. }
  25893. // C documentation
  25894. //
  25895. // /* -- see zlib.h -- */
  25896. func Xgzputc(tls *libc.TLS, file TgzFile, c int32) (r int32) {
  25897. bp := tls.Alloc(16)
  25898. defer tls.Free(16)
  25899. var have uint32
  25900. var state Tgz_statep
  25901. var strm Tz_streamp
  25902. var _ /* buf at bp+0 */ [1]uint8
  25903. _, _, _ = have, state, strm
  25904. /* get internal structure */
  25905. if file == libc.UintptrFromInt32(0) {
  25906. return -int32(1)
  25907. }
  25908. state = file
  25909. strm = state + 128
  25910. /* check that we're writing and that there's no error */
  25911. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  25912. return -int32(1)
  25913. }
  25914. /* check for seek request */
  25915. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  25916. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  25917. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  25918. return -int32(1)
  25919. }
  25920. }
  25921. /* try writing to input buffer for speed (state->size == 0 if buffer not
  25922. initialized) */
  25923. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  25924. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  25925. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  25926. }
  25927. 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))
  25928. if have < (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  25929. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(have))) = libc.Uint8FromInt32(c)
  25930. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in++
  25931. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  25932. return c & int32(0xff)
  25933. }
  25934. }
  25935. /* no room in buffer or not initialized, use gz_write() */
  25936. (*(*[1]uint8)(unsafe.Pointer(bp)))[0] = libc.Uint8FromInt32(c)
  25937. if _gz_write(tls, state, bp, uint64(1)) != uint64(1) {
  25938. return -int32(1)
  25939. }
  25940. return c & int32(0xff)
  25941. }
  25942. // C documentation
  25943. //
  25944. // /* -- see zlib.h -- */
  25945. func Xgzputs(tls *libc.TLS, file TgzFile, s uintptr) (r int32) {
  25946. var len1, put Tz_size_t
  25947. var state Tgz_statep
  25948. var v1 int32
  25949. _, _, _, _ = len1, put, state, v1
  25950. /* get internal structure */
  25951. if file == libc.UintptrFromInt32(0) {
  25952. return -int32(1)
  25953. }
  25954. state = file
  25955. /* check that we're writing and that there's no error */
  25956. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  25957. return -int32(1)
  25958. }
  25959. /* write string */
  25960. len1 = libc.Xstrlen(tls, s)
  25961. if libc.Int32FromUint64(len1) < 0 || uint64(uint32(len1)) != len1 {
  25962. Xgz_error(tls, state, -int32(2), __ccgo_ts+874)
  25963. return -int32(1)
  25964. }
  25965. put = _gz_write(tls, state, s, len1)
  25966. if put < len1 {
  25967. v1 = -int32(1)
  25968. } else {
  25969. v1 = libc.Int32FromUint64(len1)
  25970. }
  25971. return v1
  25972. }
  25973. /*===---- stdarg.h - Variable argument handling ----------------------------===
  25974. *
  25975. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  25976. * See https://llvm.org/LICENSE.txt for license information.
  25977. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  25978. *
  25979. *===-----------------------------------------------------------------------===
  25980. */
  25981. /*
  25982. * This header is designed to be included multiple times. If any of the __need_
  25983. * macros are defined, then only that subset of interfaces are provided. This
  25984. * can be useful for POSIX headers that need to not expose all of stdarg.h, but
  25985. * need to use some of its interfaces. Otherwise this header provides all of
  25986. * the expected interfaces.
  25987. *
  25988. * When clang modules are enabled, this header is a textual header to support
  25989. * the multiple include behavior. As such, it doesn't directly declare anything
  25990. * so that it doesn't add duplicate declarations to all of its includers'
  25991. * modules.
  25992. */
  25993. /* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
  25994. * or -ansi is not specified, since it was not part of C90.
  25995. */
  25996. /*===---- __stdarg_header_macro.h ------------------------------------------===
  25997. *
  25998. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  25999. * See https://llvm.org/LICENSE.txt for license information.
  26000. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  26001. *
  26002. *===-----------------------------------------------------------------------===
  26003. */
  26004. /*===---- __stdarg___gnuc_va_list.h - Definition of __gnuc_va_list ---------===
  26005. *
  26006. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  26007. * See https://llvm.org/LICENSE.txt for license information.
  26008. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  26009. *
  26010. *===-----------------------------------------------------------------------===
  26011. */
  26012. /*===---- __stdarg_va_list.h - Definition of va_list -----------------------===
  26013. *
  26014. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  26015. * See https://llvm.org/LICENSE.txt for license information.
  26016. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  26017. *
  26018. *===-----------------------------------------------------------------------===
  26019. */
  26020. /*===---- __stdarg_va_arg.h - Definitions of va_start, va_arg, va_end-------===
  26021. *
  26022. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  26023. * See https://llvm.org/LICENSE.txt for license information.
  26024. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  26025. *
  26026. *===-----------------------------------------------------------------------===
  26027. */
  26028. /*===---- __stdarg___va_copy.h - Definition of __va_copy -------------------===
  26029. *
  26030. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  26031. * See https://llvm.org/LICENSE.txt for license information.
  26032. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  26033. *
  26034. *===-----------------------------------------------------------------------===
  26035. */
  26036. /*===---- __stdarg_va_copy.h - Definition of va_copy------------------------===
  26037. *
  26038. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  26039. * See https://llvm.org/LICENSE.txt for license information.
  26040. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  26041. *
  26042. *===-----------------------------------------------------------------------===
  26043. */
  26044. // C documentation
  26045. //
  26046. // /* -- see zlib.h -- */
  26047. func Xgzvprintf(tls *libc.TLS, file TgzFile, format uintptr, va Tva_list) (r int32) {
  26048. var left uint32
  26049. var len1 int32
  26050. var next uintptr
  26051. var state Tgz_statep
  26052. var strm Tz_streamp
  26053. _, _, _, _, _ = left, len1, next, state, strm
  26054. /* get internal structure */
  26055. if file == libc.UintptrFromInt32(0) {
  26056. return -int32(2)
  26057. }
  26058. state = file
  26059. strm = state + 128
  26060. /* check that we're writing and that there's no error */
  26061. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  26062. return -int32(2)
  26063. }
  26064. /* make sure we have some buffer space */
  26065. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  26066. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  26067. }
  26068. /* check for seek request */
  26069. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  26070. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  26071. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  26072. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  26073. }
  26074. }
  26075. /* do the printf() into the input buffer, put length in len -- the input
  26076. buffer is double-sized just for this function, so there is guaranteed to
  26077. be state->size bytes available after the current contents */
  26078. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  26079. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  26080. }
  26081. 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)
  26082. *(*int8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1)))) = 0
  26083. len1 = libc.X__builtin___vsnprintf_chk(tls, next, uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize), 0, ^t__predefined_size_t(0), format, va)
  26084. /* check that printf() results fit in buffer */
  26085. 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 {
  26086. return 0
  26087. }
  26088. /* update buffer and position, compress first half if past that */
  26089. *(*TuInt)(unsafe.Pointer(strm + 8)) += libc.Uint32FromInt32(len1)
  26090. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += int64(len1)
  26091. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in >= (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  26092. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in - (*Tgz_state)(unsafe.Pointer(state)).Fsize
  26093. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  26094. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  26095. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  26096. }
  26097. libc.X__builtin___memmove_chk(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize), uint64(left), ^t__predefined_size_t(0))
  26098. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  26099. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = left
  26100. }
  26101. return len1
  26102. }
  26103. func Xgzprintf(tls *libc.TLS, file TgzFile, format uintptr, va1 uintptr) (r int32) {
  26104. var ret int32
  26105. var va Tva_list
  26106. _, _ = ret, va
  26107. va = va1
  26108. ret = Xgzvprintf(tls, file, format, va)
  26109. _ = va
  26110. return ret
  26111. }
  26112. // C documentation
  26113. //
  26114. // /* -- see zlib.h -- */
  26115. func Xgzflush(tls *libc.TLS, file TgzFile, flush int32) (r int32) {
  26116. var state Tgz_statep
  26117. _ = state
  26118. /* get internal structure */
  26119. if file == libc.UintptrFromInt32(0) {
  26120. return -int32(2)
  26121. }
  26122. state = file
  26123. /* check that we're writing and that there's no error */
  26124. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  26125. return -int32(2)
  26126. }
  26127. /* check flush parameter */
  26128. if flush < 0 || flush > int32(m_Z_FINISH) {
  26129. return -int32(2)
  26130. }
  26131. /* check for seek request */
  26132. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  26133. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  26134. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  26135. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  26136. }
  26137. }
  26138. /* compress remaining data with requested flush */
  26139. _gz_comp(tls, state, flush)
  26140. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  26141. }
  26142. // C documentation
  26143. //
  26144. // /* -- see zlib.h -- */
  26145. func Xgzsetparams(tls *libc.TLS, file TgzFile, level int32, strategy int32) (r int32) {
  26146. var state Tgz_statep
  26147. var strm Tz_streamp
  26148. _, _ = state, strm
  26149. /* get internal structure */
  26150. if file == libc.UintptrFromInt32(0) {
  26151. return -int32(2)
  26152. }
  26153. state = file
  26154. strm = state + 128
  26155. /* check that we're writing and that there's no error */
  26156. 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 {
  26157. return -int32(2)
  26158. }
  26159. /* if no change is requested, then do nothing */
  26160. if level == (*Tgz_state)(unsafe.Pointer(state)).Flevel && strategy == (*Tgz_state)(unsafe.Pointer(state)).Fstrategy {
  26161. return m_Z_OK
  26162. }
  26163. /* check for seek request */
  26164. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  26165. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  26166. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  26167. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  26168. }
  26169. }
  26170. /* change compression parameters for subsequent input */
  26171. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  26172. /* flush previous input with previous parameters before changing */
  26173. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, int32(m_Z_BLOCK)) == -int32(1) {
  26174. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  26175. }
  26176. XdeflateParams(tls, strm, level, strategy)
  26177. }
  26178. (*Tgz_state)(unsafe.Pointer(state)).Flevel = level
  26179. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = strategy
  26180. return m_Z_OK
  26181. }
  26182. // C documentation
  26183. //
  26184. // /* -- see zlib.h -- */
  26185. func Xgzclose_w(tls *libc.TLS, file TgzFile) (r int32) {
  26186. var ret int32
  26187. var state Tgz_statep
  26188. _, _ = ret, state
  26189. ret = m_Z_OK
  26190. /* get internal structure */
  26191. if file == libc.UintptrFromInt32(0) {
  26192. return -int32(2)
  26193. }
  26194. state = file
  26195. /* check that we're writing */
  26196. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  26197. return -int32(2)
  26198. }
  26199. /* check for seek request */
  26200. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  26201. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  26202. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  26203. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  26204. }
  26205. }
  26206. /* flush, free memory, and close file */
  26207. if _gz_comp(tls, state, int32(m_Z_FINISH)) == -int32(1) {
  26208. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  26209. }
  26210. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  26211. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  26212. XdeflateEnd(tls, state+128)
  26213. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  26214. }
  26215. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  26216. }
  26217. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  26218. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  26219. if libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd) == -int32(1) {
  26220. ret = -int32(1)
  26221. }
  26222. libc.Xfree(tls, state)
  26223. return ret
  26224. }
  26225. func __ccgo_fp(f interface{}) uintptr {
  26226. type iface [2]uintptr
  26227. return (*iface)(unsafe.Pointer(&f))[1]
  26228. }
  26229. var x__dist_code = [512]Tuch{
  26230. 1: uint8(1),
  26231. 2: uint8(2),
  26232. 3: uint8(3),
  26233. 4: uint8(4),
  26234. 5: uint8(4),
  26235. 6: uint8(5),
  26236. 7: uint8(5),
  26237. 8: uint8(6),
  26238. 9: uint8(6),
  26239. 10: uint8(6),
  26240. 11: uint8(6),
  26241. 12: uint8(7),
  26242. 13: uint8(7),
  26243. 14: uint8(7),
  26244. 15: uint8(7),
  26245. 16: uint8(8),
  26246. 17: uint8(8),
  26247. 18: uint8(8),
  26248. 19: uint8(8),
  26249. 20: uint8(8),
  26250. 21: uint8(8),
  26251. 22: uint8(8),
  26252. 23: uint8(8),
  26253. 24: uint8(9),
  26254. 25: uint8(9),
  26255. 26: uint8(9),
  26256. 27: uint8(9),
  26257. 28: uint8(9),
  26258. 29: uint8(9),
  26259. 30: uint8(9),
  26260. 31: uint8(9),
  26261. 32: uint8(10),
  26262. 33: uint8(10),
  26263. 34: uint8(10),
  26264. 35: uint8(10),
  26265. 36: uint8(10),
  26266. 37: uint8(10),
  26267. 38: uint8(10),
  26268. 39: uint8(10),
  26269. 40: uint8(10),
  26270. 41: uint8(10),
  26271. 42: uint8(10),
  26272. 43: uint8(10),
  26273. 44: uint8(10),
  26274. 45: uint8(10),
  26275. 46: uint8(10),
  26276. 47: uint8(10),
  26277. 48: uint8(11),
  26278. 49: uint8(11),
  26279. 50: uint8(11),
  26280. 51: uint8(11),
  26281. 52: uint8(11),
  26282. 53: uint8(11),
  26283. 54: uint8(11),
  26284. 55: uint8(11),
  26285. 56: uint8(11),
  26286. 57: uint8(11),
  26287. 58: uint8(11),
  26288. 59: uint8(11),
  26289. 60: uint8(11),
  26290. 61: uint8(11),
  26291. 62: uint8(11),
  26292. 63: uint8(11),
  26293. 64: uint8(12),
  26294. 65: uint8(12),
  26295. 66: uint8(12),
  26296. 67: uint8(12),
  26297. 68: uint8(12),
  26298. 69: uint8(12),
  26299. 70: uint8(12),
  26300. 71: uint8(12),
  26301. 72: uint8(12),
  26302. 73: uint8(12),
  26303. 74: uint8(12),
  26304. 75: uint8(12),
  26305. 76: uint8(12),
  26306. 77: uint8(12),
  26307. 78: uint8(12),
  26308. 79: uint8(12),
  26309. 80: uint8(12),
  26310. 81: uint8(12),
  26311. 82: uint8(12),
  26312. 83: uint8(12),
  26313. 84: uint8(12),
  26314. 85: uint8(12),
  26315. 86: uint8(12),
  26316. 87: uint8(12),
  26317. 88: uint8(12),
  26318. 89: uint8(12),
  26319. 90: uint8(12),
  26320. 91: uint8(12),
  26321. 92: uint8(12),
  26322. 93: uint8(12),
  26323. 94: uint8(12),
  26324. 95: uint8(12),
  26325. 96: uint8(13),
  26326. 97: uint8(13),
  26327. 98: uint8(13),
  26328. 99: uint8(13),
  26329. 100: uint8(13),
  26330. 101: uint8(13),
  26331. 102: uint8(13),
  26332. 103: uint8(13),
  26333. 104: uint8(13),
  26334. 105: uint8(13),
  26335. 106: uint8(13),
  26336. 107: uint8(13),
  26337. 108: uint8(13),
  26338. 109: uint8(13),
  26339. 110: uint8(13),
  26340. 111: uint8(13),
  26341. 112: uint8(13),
  26342. 113: uint8(13),
  26343. 114: uint8(13),
  26344. 115: uint8(13),
  26345. 116: uint8(13),
  26346. 117: uint8(13),
  26347. 118: uint8(13),
  26348. 119: uint8(13),
  26349. 120: uint8(13),
  26350. 121: uint8(13),
  26351. 122: uint8(13),
  26352. 123: uint8(13),
  26353. 124: uint8(13),
  26354. 125: uint8(13),
  26355. 126: uint8(13),
  26356. 127: uint8(13),
  26357. 128: uint8(14),
  26358. 129: uint8(14),
  26359. 130: uint8(14),
  26360. 131: uint8(14),
  26361. 132: uint8(14),
  26362. 133: uint8(14),
  26363. 134: uint8(14),
  26364. 135: uint8(14),
  26365. 136: uint8(14),
  26366. 137: uint8(14),
  26367. 138: uint8(14),
  26368. 139: uint8(14),
  26369. 140: uint8(14),
  26370. 141: uint8(14),
  26371. 142: uint8(14),
  26372. 143: uint8(14),
  26373. 144: uint8(14),
  26374. 145: uint8(14),
  26375. 146: uint8(14),
  26376. 147: uint8(14),
  26377. 148: uint8(14),
  26378. 149: uint8(14),
  26379. 150: uint8(14),
  26380. 151: uint8(14),
  26381. 152: uint8(14),
  26382. 153: uint8(14),
  26383. 154: uint8(14),
  26384. 155: uint8(14),
  26385. 156: uint8(14),
  26386. 157: uint8(14),
  26387. 158: uint8(14),
  26388. 159: uint8(14),
  26389. 160: uint8(14),
  26390. 161: uint8(14),
  26391. 162: uint8(14),
  26392. 163: uint8(14),
  26393. 164: uint8(14),
  26394. 165: uint8(14),
  26395. 166: uint8(14),
  26396. 167: uint8(14),
  26397. 168: uint8(14),
  26398. 169: uint8(14),
  26399. 170: uint8(14),
  26400. 171: uint8(14),
  26401. 172: uint8(14),
  26402. 173: uint8(14),
  26403. 174: uint8(14),
  26404. 175: uint8(14),
  26405. 176: uint8(14),
  26406. 177: uint8(14),
  26407. 178: uint8(14),
  26408. 179: uint8(14),
  26409. 180: uint8(14),
  26410. 181: uint8(14),
  26411. 182: uint8(14),
  26412. 183: uint8(14),
  26413. 184: uint8(14),
  26414. 185: uint8(14),
  26415. 186: uint8(14),
  26416. 187: uint8(14),
  26417. 188: uint8(14),
  26418. 189: uint8(14),
  26419. 190: uint8(14),
  26420. 191: uint8(14),
  26421. 192: uint8(15),
  26422. 193: uint8(15),
  26423. 194: uint8(15),
  26424. 195: uint8(15),
  26425. 196: uint8(15),
  26426. 197: uint8(15),
  26427. 198: uint8(15),
  26428. 199: uint8(15),
  26429. 200: uint8(15),
  26430. 201: uint8(15),
  26431. 202: uint8(15),
  26432. 203: uint8(15),
  26433. 204: uint8(15),
  26434. 205: uint8(15),
  26435. 206: uint8(15),
  26436. 207: uint8(15),
  26437. 208: uint8(15),
  26438. 209: uint8(15),
  26439. 210: uint8(15),
  26440. 211: uint8(15),
  26441. 212: uint8(15),
  26442. 213: uint8(15),
  26443. 214: uint8(15),
  26444. 215: uint8(15),
  26445. 216: uint8(15),
  26446. 217: uint8(15),
  26447. 218: uint8(15),
  26448. 219: uint8(15),
  26449. 220: uint8(15),
  26450. 221: uint8(15),
  26451. 222: uint8(15),
  26452. 223: uint8(15),
  26453. 224: uint8(15),
  26454. 225: uint8(15),
  26455. 226: uint8(15),
  26456. 227: uint8(15),
  26457. 228: uint8(15),
  26458. 229: uint8(15),
  26459. 230: uint8(15),
  26460. 231: uint8(15),
  26461. 232: uint8(15),
  26462. 233: uint8(15),
  26463. 234: uint8(15),
  26464. 235: uint8(15),
  26465. 236: uint8(15),
  26466. 237: uint8(15),
  26467. 238: uint8(15),
  26468. 239: uint8(15),
  26469. 240: uint8(15),
  26470. 241: uint8(15),
  26471. 242: uint8(15),
  26472. 243: uint8(15),
  26473. 244: uint8(15),
  26474. 245: uint8(15),
  26475. 246: uint8(15),
  26476. 247: uint8(15),
  26477. 248: uint8(15),
  26478. 249: uint8(15),
  26479. 250: uint8(15),
  26480. 251: uint8(15),
  26481. 252: uint8(15),
  26482. 253: uint8(15),
  26483. 254: uint8(15),
  26484. 255: uint8(15),
  26485. 258: uint8(16),
  26486. 259: uint8(17),
  26487. 260: uint8(18),
  26488. 261: uint8(18),
  26489. 262: uint8(19),
  26490. 263: uint8(19),
  26491. 264: uint8(20),
  26492. 265: uint8(20),
  26493. 266: uint8(20),
  26494. 267: uint8(20),
  26495. 268: uint8(21),
  26496. 269: uint8(21),
  26497. 270: uint8(21),
  26498. 271: uint8(21),
  26499. 272: uint8(22),
  26500. 273: uint8(22),
  26501. 274: uint8(22),
  26502. 275: uint8(22),
  26503. 276: uint8(22),
  26504. 277: uint8(22),
  26505. 278: uint8(22),
  26506. 279: uint8(22),
  26507. 280: uint8(23),
  26508. 281: uint8(23),
  26509. 282: uint8(23),
  26510. 283: uint8(23),
  26511. 284: uint8(23),
  26512. 285: uint8(23),
  26513. 286: uint8(23),
  26514. 287: uint8(23),
  26515. 288: uint8(24),
  26516. 289: uint8(24),
  26517. 290: uint8(24),
  26518. 291: uint8(24),
  26519. 292: uint8(24),
  26520. 293: uint8(24),
  26521. 294: uint8(24),
  26522. 295: uint8(24),
  26523. 296: uint8(24),
  26524. 297: uint8(24),
  26525. 298: uint8(24),
  26526. 299: uint8(24),
  26527. 300: uint8(24),
  26528. 301: uint8(24),
  26529. 302: uint8(24),
  26530. 303: uint8(24),
  26531. 304: uint8(25),
  26532. 305: uint8(25),
  26533. 306: uint8(25),
  26534. 307: uint8(25),
  26535. 308: uint8(25),
  26536. 309: uint8(25),
  26537. 310: uint8(25),
  26538. 311: uint8(25),
  26539. 312: uint8(25),
  26540. 313: uint8(25),
  26541. 314: uint8(25),
  26542. 315: uint8(25),
  26543. 316: uint8(25),
  26544. 317: uint8(25),
  26545. 318: uint8(25),
  26546. 319: uint8(25),
  26547. 320: uint8(26),
  26548. 321: uint8(26),
  26549. 322: uint8(26),
  26550. 323: uint8(26),
  26551. 324: uint8(26),
  26552. 325: uint8(26),
  26553. 326: uint8(26),
  26554. 327: uint8(26),
  26555. 328: uint8(26),
  26556. 329: uint8(26),
  26557. 330: uint8(26),
  26558. 331: uint8(26),
  26559. 332: uint8(26),
  26560. 333: uint8(26),
  26561. 334: uint8(26),
  26562. 335: uint8(26),
  26563. 336: uint8(26),
  26564. 337: uint8(26),
  26565. 338: uint8(26),
  26566. 339: uint8(26),
  26567. 340: uint8(26),
  26568. 341: uint8(26),
  26569. 342: uint8(26),
  26570. 343: uint8(26),
  26571. 344: uint8(26),
  26572. 345: uint8(26),
  26573. 346: uint8(26),
  26574. 347: uint8(26),
  26575. 348: uint8(26),
  26576. 349: uint8(26),
  26577. 350: uint8(26),
  26578. 351: uint8(26),
  26579. 352: uint8(27),
  26580. 353: uint8(27),
  26581. 354: uint8(27),
  26582. 355: uint8(27),
  26583. 356: uint8(27),
  26584. 357: uint8(27),
  26585. 358: uint8(27),
  26586. 359: uint8(27),
  26587. 360: uint8(27),
  26588. 361: uint8(27),
  26589. 362: uint8(27),
  26590. 363: uint8(27),
  26591. 364: uint8(27),
  26592. 365: uint8(27),
  26593. 366: uint8(27),
  26594. 367: uint8(27),
  26595. 368: uint8(27),
  26596. 369: uint8(27),
  26597. 370: uint8(27),
  26598. 371: uint8(27),
  26599. 372: uint8(27),
  26600. 373: uint8(27),
  26601. 374: uint8(27),
  26602. 375: uint8(27),
  26603. 376: uint8(27),
  26604. 377: uint8(27),
  26605. 378: uint8(27),
  26606. 379: uint8(27),
  26607. 380: uint8(27),
  26608. 381: uint8(27),
  26609. 382: uint8(27),
  26610. 383: uint8(27),
  26611. 384: uint8(28),
  26612. 385: uint8(28),
  26613. 386: uint8(28),
  26614. 387: uint8(28),
  26615. 388: uint8(28),
  26616. 389: uint8(28),
  26617. 390: uint8(28),
  26618. 391: uint8(28),
  26619. 392: uint8(28),
  26620. 393: uint8(28),
  26621. 394: uint8(28),
  26622. 395: uint8(28),
  26623. 396: uint8(28),
  26624. 397: uint8(28),
  26625. 398: uint8(28),
  26626. 399: uint8(28),
  26627. 400: uint8(28),
  26628. 401: uint8(28),
  26629. 402: uint8(28),
  26630. 403: uint8(28),
  26631. 404: uint8(28),
  26632. 405: uint8(28),
  26633. 406: uint8(28),
  26634. 407: uint8(28),
  26635. 408: uint8(28),
  26636. 409: uint8(28),
  26637. 410: uint8(28),
  26638. 411: uint8(28),
  26639. 412: uint8(28),
  26640. 413: uint8(28),
  26641. 414: uint8(28),
  26642. 415: uint8(28),
  26643. 416: uint8(28),
  26644. 417: uint8(28),
  26645. 418: uint8(28),
  26646. 419: uint8(28),
  26647. 420: uint8(28),
  26648. 421: uint8(28),
  26649. 422: uint8(28),
  26650. 423: uint8(28),
  26651. 424: uint8(28),
  26652. 425: uint8(28),
  26653. 426: uint8(28),
  26654. 427: uint8(28),
  26655. 428: uint8(28),
  26656. 429: uint8(28),
  26657. 430: uint8(28),
  26658. 431: uint8(28),
  26659. 432: uint8(28),
  26660. 433: uint8(28),
  26661. 434: uint8(28),
  26662. 435: uint8(28),
  26663. 436: uint8(28),
  26664. 437: uint8(28),
  26665. 438: uint8(28),
  26666. 439: uint8(28),
  26667. 440: uint8(28),
  26668. 441: uint8(28),
  26669. 442: uint8(28),
  26670. 443: uint8(28),
  26671. 444: uint8(28),
  26672. 445: uint8(28),
  26673. 446: uint8(28),
  26674. 447: uint8(28),
  26675. 448: uint8(29),
  26676. 449: uint8(29),
  26677. 450: uint8(29),
  26678. 451: uint8(29),
  26679. 452: uint8(29),
  26680. 453: uint8(29),
  26681. 454: uint8(29),
  26682. 455: uint8(29),
  26683. 456: uint8(29),
  26684. 457: uint8(29),
  26685. 458: uint8(29),
  26686. 459: uint8(29),
  26687. 460: uint8(29),
  26688. 461: uint8(29),
  26689. 462: uint8(29),
  26690. 463: uint8(29),
  26691. 464: uint8(29),
  26692. 465: uint8(29),
  26693. 466: uint8(29),
  26694. 467: uint8(29),
  26695. 468: uint8(29),
  26696. 469: uint8(29),
  26697. 470: uint8(29),
  26698. 471: uint8(29),
  26699. 472: uint8(29),
  26700. 473: uint8(29),
  26701. 474: uint8(29),
  26702. 475: uint8(29),
  26703. 476: uint8(29),
  26704. 477: uint8(29),
  26705. 478: uint8(29),
  26706. 479: uint8(29),
  26707. 480: uint8(29),
  26708. 481: uint8(29),
  26709. 482: uint8(29),
  26710. 483: uint8(29),
  26711. 484: uint8(29),
  26712. 485: uint8(29),
  26713. 486: uint8(29),
  26714. 487: uint8(29),
  26715. 488: uint8(29),
  26716. 489: uint8(29),
  26717. 490: uint8(29),
  26718. 491: uint8(29),
  26719. 492: uint8(29),
  26720. 493: uint8(29),
  26721. 494: uint8(29),
  26722. 495: uint8(29),
  26723. 496: uint8(29),
  26724. 497: uint8(29),
  26725. 498: uint8(29),
  26726. 499: uint8(29),
  26727. 500: uint8(29),
  26728. 501: uint8(29),
  26729. 502: uint8(29),
  26730. 503: uint8(29),
  26731. 504: uint8(29),
  26732. 505: uint8(29),
  26733. 506: uint8(29),
  26734. 507: uint8(29),
  26735. 508: uint8(29),
  26736. 509: uint8(29),
  26737. 510: uint8(29),
  26738. 511: uint8(29),
  26739. }
  26740. var x__length_code = [256]Tuch{
  26741. 1: uint8(1),
  26742. 2: uint8(2),
  26743. 3: uint8(3),
  26744. 4: uint8(4),
  26745. 5: uint8(5),
  26746. 6: uint8(6),
  26747. 7: uint8(7),
  26748. 8: uint8(8),
  26749. 9: uint8(8),
  26750. 10: uint8(9),
  26751. 11: uint8(9),
  26752. 12: uint8(10),
  26753. 13: uint8(10),
  26754. 14: uint8(11),
  26755. 15: uint8(11),
  26756. 16: uint8(12),
  26757. 17: uint8(12),
  26758. 18: uint8(12),
  26759. 19: uint8(12),
  26760. 20: uint8(13),
  26761. 21: uint8(13),
  26762. 22: uint8(13),
  26763. 23: uint8(13),
  26764. 24: uint8(14),
  26765. 25: uint8(14),
  26766. 26: uint8(14),
  26767. 27: uint8(14),
  26768. 28: uint8(15),
  26769. 29: uint8(15),
  26770. 30: uint8(15),
  26771. 31: uint8(15),
  26772. 32: uint8(16),
  26773. 33: uint8(16),
  26774. 34: uint8(16),
  26775. 35: uint8(16),
  26776. 36: uint8(16),
  26777. 37: uint8(16),
  26778. 38: uint8(16),
  26779. 39: uint8(16),
  26780. 40: uint8(17),
  26781. 41: uint8(17),
  26782. 42: uint8(17),
  26783. 43: uint8(17),
  26784. 44: uint8(17),
  26785. 45: uint8(17),
  26786. 46: uint8(17),
  26787. 47: uint8(17),
  26788. 48: uint8(18),
  26789. 49: uint8(18),
  26790. 50: uint8(18),
  26791. 51: uint8(18),
  26792. 52: uint8(18),
  26793. 53: uint8(18),
  26794. 54: uint8(18),
  26795. 55: uint8(18),
  26796. 56: uint8(19),
  26797. 57: uint8(19),
  26798. 58: uint8(19),
  26799. 59: uint8(19),
  26800. 60: uint8(19),
  26801. 61: uint8(19),
  26802. 62: uint8(19),
  26803. 63: uint8(19),
  26804. 64: uint8(20),
  26805. 65: uint8(20),
  26806. 66: uint8(20),
  26807. 67: uint8(20),
  26808. 68: uint8(20),
  26809. 69: uint8(20),
  26810. 70: uint8(20),
  26811. 71: uint8(20),
  26812. 72: uint8(20),
  26813. 73: uint8(20),
  26814. 74: uint8(20),
  26815. 75: uint8(20),
  26816. 76: uint8(20),
  26817. 77: uint8(20),
  26818. 78: uint8(20),
  26819. 79: uint8(20),
  26820. 80: uint8(21),
  26821. 81: uint8(21),
  26822. 82: uint8(21),
  26823. 83: uint8(21),
  26824. 84: uint8(21),
  26825. 85: uint8(21),
  26826. 86: uint8(21),
  26827. 87: uint8(21),
  26828. 88: uint8(21),
  26829. 89: uint8(21),
  26830. 90: uint8(21),
  26831. 91: uint8(21),
  26832. 92: uint8(21),
  26833. 93: uint8(21),
  26834. 94: uint8(21),
  26835. 95: uint8(21),
  26836. 96: uint8(22),
  26837. 97: uint8(22),
  26838. 98: uint8(22),
  26839. 99: uint8(22),
  26840. 100: uint8(22),
  26841. 101: uint8(22),
  26842. 102: uint8(22),
  26843. 103: uint8(22),
  26844. 104: uint8(22),
  26845. 105: uint8(22),
  26846. 106: uint8(22),
  26847. 107: uint8(22),
  26848. 108: uint8(22),
  26849. 109: uint8(22),
  26850. 110: uint8(22),
  26851. 111: uint8(22),
  26852. 112: uint8(23),
  26853. 113: uint8(23),
  26854. 114: uint8(23),
  26855. 115: uint8(23),
  26856. 116: uint8(23),
  26857. 117: uint8(23),
  26858. 118: uint8(23),
  26859. 119: uint8(23),
  26860. 120: uint8(23),
  26861. 121: uint8(23),
  26862. 122: uint8(23),
  26863. 123: uint8(23),
  26864. 124: uint8(23),
  26865. 125: uint8(23),
  26866. 126: uint8(23),
  26867. 127: uint8(23),
  26868. 128: uint8(24),
  26869. 129: uint8(24),
  26870. 130: uint8(24),
  26871. 131: uint8(24),
  26872. 132: uint8(24),
  26873. 133: uint8(24),
  26874. 134: uint8(24),
  26875. 135: uint8(24),
  26876. 136: uint8(24),
  26877. 137: uint8(24),
  26878. 138: uint8(24),
  26879. 139: uint8(24),
  26880. 140: uint8(24),
  26881. 141: uint8(24),
  26882. 142: uint8(24),
  26883. 143: uint8(24),
  26884. 144: uint8(24),
  26885. 145: uint8(24),
  26886. 146: uint8(24),
  26887. 147: uint8(24),
  26888. 148: uint8(24),
  26889. 149: uint8(24),
  26890. 150: uint8(24),
  26891. 151: uint8(24),
  26892. 152: uint8(24),
  26893. 153: uint8(24),
  26894. 154: uint8(24),
  26895. 155: uint8(24),
  26896. 156: uint8(24),
  26897. 157: uint8(24),
  26898. 158: uint8(24),
  26899. 159: uint8(24),
  26900. 160: uint8(25),
  26901. 161: uint8(25),
  26902. 162: uint8(25),
  26903. 163: uint8(25),
  26904. 164: uint8(25),
  26905. 165: uint8(25),
  26906. 166: uint8(25),
  26907. 167: uint8(25),
  26908. 168: uint8(25),
  26909. 169: uint8(25),
  26910. 170: uint8(25),
  26911. 171: uint8(25),
  26912. 172: uint8(25),
  26913. 173: uint8(25),
  26914. 174: uint8(25),
  26915. 175: uint8(25),
  26916. 176: uint8(25),
  26917. 177: uint8(25),
  26918. 178: uint8(25),
  26919. 179: uint8(25),
  26920. 180: uint8(25),
  26921. 181: uint8(25),
  26922. 182: uint8(25),
  26923. 183: uint8(25),
  26924. 184: uint8(25),
  26925. 185: uint8(25),
  26926. 186: uint8(25),
  26927. 187: uint8(25),
  26928. 188: uint8(25),
  26929. 189: uint8(25),
  26930. 190: uint8(25),
  26931. 191: uint8(25),
  26932. 192: uint8(26),
  26933. 193: uint8(26),
  26934. 194: uint8(26),
  26935. 195: uint8(26),
  26936. 196: uint8(26),
  26937. 197: uint8(26),
  26938. 198: uint8(26),
  26939. 199: uint8(26),
  26940. 200: uint8(26),
  26941. 201: uint8(26),
  26942. 202: uint8(26),
  26943. 203: uint8(26),
  26944. 204: uint8(26),
  26945. 205: uint8(26),
  26946. 206: uint8(26),
  26947. 207: uint8(26),
  26948. 208: uint8(26),
  26949. 209: uint8(26),
  26950. 210: uint8(26),
  26951. 211: uint8(26),
  26952. 212: uint8(26),
  26953. 213: uint8(26),
  26954. 214: uint8(26),
  26955. 215: uint8(26),
  26956. 216: uint8(26),
  26957. 217: uint8(26),
  26958. 218: uint8(26),
  26959. 219: uint8(26),
  26960. 220: uint8(26),
  26961. 221: uint8(26),
  26962. 222: uint8(26),
  26963. 223: uint8(26),
  26964. 224: uint8(27),
  26965. 225: uint8(27),
  26966. 226: uint8(27),
  26967. 227: uint8(27),
  26968. 228: uint8(27),
  26969. 229: uint8(27),
  26970. 230: uint8(27),
  26971. 231: uint8(27),
  26972. 232: uint8(27),
  26973. 233: uint8(27),
  26974. 234: uint8(27),
  26975. 235: uint8(27),
  26976. 236: uint8(27),
  26977. 237: uint8(27),
  26978. 238: uint8(27),
  26979. 239: uint8(27),
  26980. 240: uint8(27),
  26981. 241: uint8(27),
  26982. 242: uint8(27),
  26983. 243: uint8(27),
  26984. 244: uint8(27),
  26985. 245: uint8(27),
  26986. 246: uint8(27),
  26987. 247: uint8(27),
  26988. 248: uint8(27),
  26989. 249: uint8(27),
  26990. 250: uint8(27),
  26991. 251: uint8(27),
  26992. 252: uint8(27),
  26993. 253: uint8(27),
  26994. 254: uint8(27),
  26995. 255: uint8(28),
  26996. }
  26997. 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', ' '}
  26998. 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', ' '}
  26999. var Xz_errmsg = [10]uintptr{
  27000. 0: __ccgo_ts + 467,
  27001. 1: __ccgo_ts + 483,
  27002. 2: __ccgo_ts + 494,
  27003. 3: __ccgo_ts + 495,
  27004. 4: __ccgo_ts + 506,
  27005. 5: __ccgo_ts + 519,
  27006. 6: __ccgo_ts + 530,
  27007. 7: __ccgo_ts + 550,
  27008. 8: __ccgo_ts + 563,
  27009. 9: __ccgo_ts + 494,
  27010. }
  27011. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  27012. 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"