| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484 |
- // Code generated for linux/riscv64 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.
- //go:build linux && riscv64
- package libz
- import (
- "reflect"
- "unsafe"
- "modernc.org/libc"
- )
- var _ reflect.Type
- var _ unsafe.Pointer
- const m_ARG_MAX = 131072
- const m_BASE = 65521
- const m_BC_BASE_MAX = 99
- const m_BC_DIM_MAX = 2048
- const m_BC_SCALE_MAX = 99
- const m_BC_STRING_MAX = 1000
- const m_BIG_ENDIAN = "__BIG_ENDIAN"
- const m_BYTE_ORDER = "__BYTE_ORDER"
- const m_CHARCLASS_NAME_MAX = 14
- const m_CHAR_BIT = 8
- const m_CHAR_MAX = 255
- const m_CHAR_MIN = 0
- const m_COLL_WEIGHTS_MAX = 2
- const m_DEF_MEM_LEVEL = 8
- const m_DEF_WBITS = "MAX_WBITS"
- const m_DELAYTIMER_MAX = 0x7fffffff
- const m_DYN_TREES = 2
- const m_EXIT_FAILURE = 1
- const m_EXIT_SUCCESS = 0
- const m_EXPR_NEST_MAX = 32
- const m_FD_SETSIZE = 1024
- const m_FILESIZEBITS = 64
- const m_F_LOCK = 1
- const m_F_OK = 0
- const m_F_TEST = 3
- const m_F_TLOCK = 2
- const m_F_ULOCK = 0
- const m_HAVE_HIDDEN = 1
- const m_HOST_NAME_MAX = 255
- const m_INT_MAX = 0x7fffffff
- const m_IOV_MAX = 1024
- const m_LINE_MAX = 4096
- const m_LITTLE_ENDIAN = "__LITTLE_ENDIAN"
- const m_LLONG_MAX = 0x7fffffffffffffff
- const m_LOGIN_NAME_MAX = 256
- const m_LONG_BIT = 64
- const m_LONG_MAX = "__LONG_MAX"
- const m_L_INCR = 1
- const m_L_SET = 0
- const m_L_XTND = 2
- const m_MAX_MATCH = 258
- const m_MAX_MEM_LEVEL = 9
- const m_MAX_WBITS = 15
- const m_MB_LEN_MAX = 4
- const m_MIN_MATCH = 3
- const m_MQ_PRIO_MAX = 32768
- const m_NAME_MAX = 255
- const m_NDEBUG = 1
- const m_NGROUPS_MAX = 32
- const m_NL_ARGMAX = 9
- const m_NL_LANGMAX = 32
- const m_NL_MSGMAX = 32767
- const m_NL_NMAX = 16
- const m_NL_SETMAX = 255
- const m_NL_TEXTMAX = 2048
- const m_NMAX = 5552
- const m_NZERO = 20
- const m_OS_CODE = 3
- const m_PATH_MAX = 4096
- const m_PDP_ENDIAN = "__PDP_ENDIAN"
- const m_PIPE_BUF = 4096
- const m_POSIX_CLOSE_RESTART = 0
- const m_PRESET_DICT = 0x20
- const m_PTHREAD_DESTRUCTOR_ITERATIONS = 4
- const m_PTHREAD_KEYS_MAX = 128
- const m_PTHREAD_STACK_MIN = 2048
- const m_RAND_MAX = 0x7fffffff
- const m_RE_DUP_MAX = 255
- const m_R_OK = 4
- const m_SCHAR_MAX = 127
- const m_SEEK_CUR = 1
- const m_SEEK_DATA = 3
- const m_SEEK_END = 2
- const m_SEEK_HOLE = 4
- const m_SEEK_SET = 0
- const m_SEM_NSEMS_MAX = 256
- const m_SEM_VALUE_MAX = 0x7fffffff
- const m_SHRT_MAX = 0x7fff
- const m_SSIZE_MAX = "LONG_MAX"
- const m_STATIC_TREES = 1
- const m_STDERR_FILENO = 2
- const m_STDIN_FILENO = 0
- const m_STDOUT_FILENO = 1
- const m_STORED_BLOCK = 0
- const m_SYMLOOP_MAX = 40
- const m_TTY_NAME_MAX = 32
- const m_TZNAME_MAX = 6
- const m_UCHAR_MAX = 255
- const m_UINT_MAX = 0xffffffff
- const m_USHRT_MAX = 0xffff
- const m_WNOHANG = 1
- const m_WORD_BIT = 32
- const m_WUNTRACED = 2
- const m_W_OK = 2
- const m_X_OK = 1
- const m_ZEXTERN = "extern"
- const m_ZLIB_VERNUM = 0x1310
- const m_ZLIB_VERSION = "1.3.1"
- const m_ZLIB_VER_MAJOR = 1
- const m_ZLIB_VER_MINOR = 3
- const m_ZLIB_VER_REVISION = 1
- const m_ZLIB_VER_SUBREVISION = 0
- const m_Z_ASCII = "Z_TEXT"
- const m_Z_BEST_COMPRESSION = 9
- const m_Z_BEST_SPEED = 1
- const m_Z_BINARY = 0
- const m_Z_BLOCK = 5
- const m_Z_DEFAULT_STRATEGY = 0
- const m_Z_DEFLATED = 8
- const m_Z_FILTERED = 1
- const m_Z_FINISH = 4
- const m_Z_FIXED = 4
- const m_Z_FULL_FLUSH = 3
- const m_Z_HUFFMAN_ONLY = 2
- const m_Z_NEED_DICT = 2
- const m_Z_NO_COMPRESSION = 0
- const m_Z_NO_FLUSH = 0
- const m_Z_NULL = 0
- const m_Z_OK = 0
- const m_Z_PARTIAL_FLUSH = 1
- const m_Z_RLE = 3
- const m_Z_STREAM_END = 1
- const m_Z_SYNC_FLUSH = 2
- const m_Z_TEXT = 1
- const m_Z_TREES = 6
- const m_Z_U4 = "unsigned"
- const m_Z_UNKNOWN = 2
- const m__CS_GNU_LIBC_VERSION = 2
- const m__CS_GNU_LIBPTHREAD_VERSION = 3
- const m__CS_PATH = 0
- const m__CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = 4
- const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
- const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
- const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
- const m__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
- const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
- const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
- const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
- const m__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
- const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
- const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
- const m__CS_POSIX_V6_LP64_OFF64_LIBS = 1126
- const m__CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
- const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
- const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
- const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
- const m__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
- const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 1
- const m__CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
- const m__CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
- const m__CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
- const m__CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
- const m__CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
- const m__CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
- const m__CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
- const m__CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
- const m__CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
- const m__CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
- const m__CS_POSIX_V7_LP64_OFF64_LIBS = 1142
- const m__CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
- const m__CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
- const m__CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
- const m__CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
- const m__CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
- const m__CS_POSIX_V7_THREADS_CFLAGS = 1150
- const m__CS_POSIX_V7_THREADS_LDFLAGS = 1151
- const m__CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = 5
- const m__CS_V6_ENV = 1148
- const m__CS_V7_ENV = 1149
- const m__GNU_SOURCE = 1
- const m__LARGEFILE64_SOURCE = 1
- const m__LP64 = 1
- const m__PC_2_SYMLINKS = 20
- const m__PC_ALLOC_SIZE_MIN = 18
- const m__PC_ASYNC_IO = 10
- const m__PC_CHOWN_RESTRICTED = 6
- const m__PC_FILESIZEBITS = 13
- const m__PC_LINK_MAX = 0
- const m__PC_MAX_CANON = 1
- const m__PC_MAX_INPUT = 2
- const m__PC_NAME_MAX = 3
- const m__PC_NO_TRUNC = 7
- const m__PC_PATH_MAX = 4
- const m__PC_PIPE_BUF = 5
- const m__PC_PRIO_IO = 11
- const m__PC_REC_INCR_XFER_SIZE = 14
- const m__PC_REC_MAX_XFER_SIZE = 15
- const m__PC_REC_MIN_XFER_SIZE = 16
- const m__PC_REC_XFER_ALIGN = 17
- const m__PC_SOCK_MAXBUF = 12
- const m__PC_SYMLINK_MAX = 19
- const m__PC_SYNC_IO = 9
- const m__PC_VDISABLE = 8
- const m__POSIX2_BC_BASE_MAX = 99
- const m__POSIX2_BC_DIM_MAX = 2048
- const m__POSIX2_BC_SCALE_MAX = 99
- const m__POSIX2_BC_STRING_MAX = 1000
- const m__POSIX2_CHARCLASS_NAME_MAX = 14
- const m__POSIX2_COLL_WEIGHTS_MAX = 2
- const m__POSIX2_C_BIND = "_POSIX_VERSION"
- const m__POSIX2_EXPR_NEST_MAX = 32
- const m__POSIX2_LINE_MAX = 2048
- const m__POSIX2_RE_DUP_MAX = 255
- const m__POSIX2_VERSION = "_POSIX_VERSION"
- const m__POSIX_ADVISORY_INFO = "_POSIX_VERSION"
- const m__POSIX_AIO_LISTIO_MAX = 2
- const m__POSIX_AIO_MAX = 1
- const m__POSIX_ARG_MAX = 4096
- const m__POSIX_ASYNCHRONOUS_IO = "_POSIX_VERSION"
- const m__POSIX_BARRIERS = "_POSIX_VERSION"
- const m__POSIX_CHILD_MAX = 25
- const m__POSIX_CHOWN_RESTRICTED = 1
- const m__POSIX_CLOCKRES_MIN = 20000000
- const m__POSIX_CLOCK_SELECTION = "_POSIX_VERSION"
- const m__POSIX_CPUTIME = "_POSIX_VERSION"
- const m__POSIX_DELAYTIMER_MAX = 32
- const m__POSIX_FSYNC = "_POSIX_VERSION"
- const m__POSIX_HOST_NAME_MAX = 255
- const m__POSIX_IPV6 = "_POSIX_VERSION"
- const m__POSIX_JOB_CONTROL = 1
- const m__POSIX_LINK_MAX = 8
- const m__POSIX_LOGIN_NAME_MAX = 9
- const m__POSIX_MAPPED_FILES = "_POSIX_VERSION"
- const m__POSIX_MAX_CANON = 255
- const m__POSIX_MAX_INPUT = 255
- const m__POSIX_MEMLOCK = "_POSIX_VERSION"
- const m__POSIX_MEMLOCK_RANGE = "_POSIX_VERSION"
- const m__POSIX_MEMORY_PROTECTION = "_POSIX_VERSION"
- const m__POSIX_MESSAGE_PASSING = "_POSIX_VERSION"
- const m__POSIX_MONOTONIC_CLOCK = "_POSIX_VERSION"
- const m__POSIX_MQ_OPEN_MAX = 8
- const m__POSIX_MQ_PRIO_MAX = 32
- const m__POSIX_NAME_MAX = 14
- const m__POSIX_NGROUPS_MAX = 8
- const m__POSIX_NO_TRUNC = 1
- const m__POSIX_OPEN_MAX = 20
- const m__POSIX_PATH_MAX = 256
- const m__POSIX_PIPE_BUF = 512
- const m__POSIX_RAW_SOCKETS = "_POSIX_VERSION"
- const m__POSIX_READER_WRITER_LOCKS = "_POSIX_VERSION"
- const m__POSIX_REALTIME_SIGNALS = "_POSIX_VERSION"
- const m__POSIX_REGEXP = 1
- const m__POSIX_RE_DUP_MAX = 255
- const m__POSIX_RTSIG_MAX = 8
- const m__POSIX_SAVED_IDS = 1
- const m__POSIX_SEMAPHORES = "_POSIX_VERSION"
- const m__POSIX_SEM_NSEMS_MAX = 256
- const m__POSIX_SEM_VALUE_MAX = 32767
- const m__POSIX_SHARED_MEMORY_OBJECTS = "_POSIX_VERSION"
- const m__POSIX_SHELL = 1
- const m__POSIX_SIGQUEUE_MAX = 32
- const m__POSIX_SPAWN = "_POSIX_VERSION"
- const m__POSIX_SPIN_LOCKS = "_POSIX_VERSION"
- const m__POSIX_SSIZE_MAX = 32767
- const m__POSIX_SS_REPL_MAX = 4
- const m__POSIX_STREAM_MAX = 8
- const m__POSIX_SYMLINK_MAX = 255
- const m__POSIX_SYMLOOP_MAX = 8
- const m__POSIX_THREADS = "_POSIX_VERSION"
- const m__POSIX_THREAD_ATTR_STACKADDR = "_POSIX_VERSION"
- const m__POSIX_THREAD_ATTR_STACKSIZE = "_POSIX_VERSION"
- const m__POSIX_THREAD_CPUTIME = "_POSIX_VERSION"
- const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
- const m__POSIX_THREAD_KEYS_MAX = 128
- const m__POSIX_THREAD_PRIORITY_SCHEDULING = "_POSIX_VERSION"
- const m__POSIX_THREAD_PROCESS_SHARED = "_POSIX_VERSION"
- const m__POSIX_THREAD_SAFE_FUNCTIONS = "_POSIX_VERSION"
- const m__POSIX_THREAD_THREADS_MAX = 64
- const m__POSIX_TIMEOUTS = "_POSIX_VERSION"
- const m__POSIX_TIMERS = "_POSIX_VERSION"
- const m__POSIX_TIMER_MAX = 32
- const m__POSIX_TRACE_EVENT_NAME_MAX = 30
- const m__POSIX_TRACE_NAME_MAX = 8
- const m__POSIX_TRACE_SYS_MAX = 8
- const m__POSIX_TRACE_USER_EVENT_MAX = 32
- const m__POSIX_TTY_NAME_MAX = 9
- const m__POSIX_TZNAME_MAX = 6
- const m__POSIX_V6_LP64_OFF64 = 1
- const m__POSIX_V7_LP64_OFF64 = 1
- const m__POSIX_VDISABLE = 0
- const m__POSIX_VERSION = 200809
- const m__SC_2_CHAR_TERM = 95
- const m__SC_2_C_BIND = 47
- const m__SC_2_C_DEV = 48
- const m__SC_2_FORT_DEV = 49
- const m__SC_2_FORT_RUN = 50
- const m__SC_2_LOCALEDEF = 52
- const m__SC_2_PBS = 168
- const m__SC_2_PBS_ACCOUNTING = 169
- const m__SC_2_PBS_CHECKPOINT = 175
- const m__SC_2_PBS_LOCATE = 170
- const m__SC_2_PBS_MESSAGE = 171
- const m__SC_2_PBS_TRACK = 172
- const m__SC_2_SW_DEV = 51
- const m__SC_2_UPE = 97
- const m__SC_2_VERSION = 46
- const m__SC_ADVISORY_INFO = 132
- const m__SC_AIO_LISTIO_MAX = 23
- const m__SC_AIO_MAX = 24
- const m__SC_AIO_PRIO_DELTA_MAX = 25
- const m__SC_ARG_MAX = 0
- const m__SC_ASYNCHRONOUS_IO = 12
- const m__SC_ATEXIT_MAX = 87
- const m__SC_AVPHYS_PAGES = 86
- const m__SC_BARRIERS = 133
- const m__SC_BC_BASE_MAX = 36
- const m__SC_BC_DIM_MAX = 37
- const m__SC_BC_SCALE_MAX = 38
- const m__SC_BC_STRING_MAX = 39
- const m__SC_CHILD_MAX = 1
- const m__SC_CLK_TCK = 2
- const m__SC_CLOCK_SELECTION = 137
- const m__SC_COLL_WEIGHTS_MAX = 40
- const m__SC_CPUTIME = 138
- const m__SC_DELAYTIMER_MAX = 26
- const m__SC_EXPR_NEST_MAX = 42
- const m__SC_FSYNC = 15
- const m__SC_GETGR_R_SIZE_MAX = 69
- const m__SC_GETPW_R_SIZE_MAX = 70
- const m__SC_HOST_NAME_MAX = 180
- const m__SC_IOV_MAX = 60
- const m__SC_IPV6 = 235
- const m__SC_JOB_CONTROL = 7
- const m__SC_LINE_MAX = 43
- const m__SC_LOGIN_NAME_MAX = 71
- const m__SC_MAPPED_FILES = 16
- const m__SC_MEMLOCK = 17
- const m__SC_MEMLOCK_RANGE = 18
- const m__SC_MEMORY_PROTECTION = 19
- const m__SC_MESSAGE_PASSING = 20
- const m__SC_MINSIGSTKSZ = 249
- const m__SC_MONOTONIC_CLOCK = 149
- const m__SC_MQ_OPEN_MAX = 27
- const m__SC_MQ_PRIO_MAX = 28
- const m__SC_NGROUPS_MAX = 3
- const m__SC_NPROCESSORS_CONF = 83
- const m__SC_NPROCESSORS_ONLN = 84
- const m__SC_NZERO = 109
- const m__SC_OPEN_MAX = 4
- const m__SC_PAGESIZE = 30
- const m__SC_PAGE_SIZE = 30
- const m__SC_PASS_MAX = 88
- const m__SC_PHYS_PAGES = 85
- const m__SC_PRIORITIZED_IO = 13
- const m__SC_PRIORITY_SCHEDULING = 10
- const m__SC_RAW_SOCKETS = 236
- const m__SC_READER_WRITER_LOCKS = 153
- const m__SC_REALTIME_SIGNALS = 9
- const m__SC_REGEXP = 155
- const m__SC_RE_DUP_MAX = 44
- const m__SC_RTSIG_MAX = 31
- const m__SC_SAVED_IDS = 8
- const m__SC_SEMAPHORES = 21
- const m__SC_SEM_NSEMS_MAX = 32
- const m__SC_SEM_VALUE_MAX = 33
- const m__SC_SHARED_MEMORY_OBJECTS = 22
- const m__SC_SHELL = 157
- const m__SC_SIGQUEUE_MAX = 34
- const m__SC_SIGSTKSZ = 250
- const m__SC_SPAWN = 159
- const m__SC_SPIN_LOCKS = 154
- const m__SC_SPORADIC_SERVER = 160
- const m__SC_SS_REPL_MAX = 241
- const m__SC_STREAMS = 174
- const m__SC_STREAM_MAX = 5
- const m__SC_SYMLOOP_MAX = 173
- const m__SC_SYNCHRONIZED_IO = 14
- const m__SC_THREADS = 67
- const m__SC_THREAD_ATTR_STACKADDR = 77
- const m__SC_THREAD_ATTR_STACKSIZE = 78
- const m__SC_THREAD_CPUTIME = 139
- const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 73
- const m__SC_THREAD_KEYS_MAX = 74
- const m__SC_THREAD_PRIORITY_SCHEDULING = 79
- const m__SC_THREAD_PRIO_INHERIT = 80
- const m__SC_THREAD_PRIO_PROTECT = 81
- const m__SC_THREAD_PROCESS_SHARED = 82
- const m__SC_THREAD_ROBUST_PRIO_INHERIT = 247
- const m__SC_THREAD_ROBUST_PRIO_PROTECT = 248
- const m__SC_THREAD_SAFE_FUNCTIONS = 68
- const m__SC_THREAD_SPORADIC_SERVER = 161
- const m__SC_THREAD_STACK_MIN = 75
- const m__SC_THREAD_THREADS_MAX = 76
- const m__SC_TIMEOUTS = 164
- const m__SC_TIMERS = 11
- const m__SC_TIMER_MAX = 35
- const m__SC_TRACE = 181
- const m__SC_TRACE_EVENT_FILTER = 182
- const m__SC_TRACE_EVENT_NAME_MAX = 242
- const m__SC_TRACE_INHERIT = 183
- const m__SC_TRACE_LOG = 184
- const m__SC_TRACE_NAME_MAX = 243
- const m__SC_TRACE_SYS_MAX = 244
- const m__SC_TRACE_USER_EVENT_MAX = 245
- const m__SC_TTY_NAME_MAX = 72
- const m__SC_TYPED_MEMORY_OBJECTS = 165
- const m__SC_TZNAME_MAX = 6
- const m__SC_UIO_MAXIOV = 60
- const m__SC_V6_ILP32_OFF32 = 176
- const m__SC_V6_ILP32_OFFBIG = 177
- const m__SC_V6_LP64_OFF64 = 178
- const m__SC_V6_LPBIG_OFFBIG = 179
- const m__SC_V7_ILP32_OFF32 = 237
- const m__SC_V7_ILP32_OFFBIG = 238
- const m__SC_V7_LP64_OFF64 = 239
- const m__SC_V7_LPBIG_OFFBIG = 240
- const m__SC_VERSION = 29
- const m__SC_XBS5_ILP32_OFF32 = 125
- const m__SC_XBS5_ILP32_OFFBIG = 126
- const m__SC_XBS5_LP64_OFF64 = 127
- const m__SC_XBS5_LPBIG_OFFBIG = 128
- const m__SC_XOPEN_CRYPT = 92
- const m__SC_XOPEN_ENH_I18N = 93
- const m__SC_XOPEN_LEGACY = 129
- const m__SC_XOPEN_REALTIME = 130
- const m__SC_XOPEN_REALTIME_THREADS = 131
- const m__SC_XOPEN_SHM = 94
- const m__SC_XOPEN_STREAMS = 246
- const m__SC_XOPEN_UNIX = 91
- const m__SC_XOPEN_VERSION = 89
- const m__SC_XOPEN_XCU_VERSION = 90
- const m__SC_XOPEN_XPG2 = 98
- const m__SC_XOPEN_XPG3 = 99
- const m__SC_XOPEN_XPG4 = 100
- const m__STDC_PREDEF_H = 1
- const m__XOPEN_ENH_I18N = 1
- const m__XOPEN_IOV_MAX = 16
- const m__XOPEN_NAME_MAX = 255
- const m__XOPEN_PATH_MAX = 1024
- const m__XOPEN_UNIX = 1
- const m__XOPEN_VERSION = 700
- const m___ATOMIC_ACQUIRE = 2
- const m___ATOMIC_ACQ_REL = 4
- const m___ATOMIC_CONSUME = 1
- const m___ATOMIC_RELAXED = 0
- const m___ATOMIC_RELEASE = 3
- const m___ATOMIC_SEQ_CST = 5
- const m___BIGGEST_ALIGNMENT__ = 16
- const m___BIG_ENDIAN = 4321
- const m___BYTE_ORDER = 1234
- const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
- const m___CCGO__ = 1
- const m___CHAR_BIT__ = 8
- const m___CHAR_UNSIGNED__ = 1
- const m___DBL_DECIMAL_DIG__ = 17
- const m___DBL_DIG__ = 15
- const m___DBL_HAS_DENORM__ = 1
- const m___DBL_HAS_INFINITY__ = 1
- const m___DBL_HAS_QUIET_NAN__ = 1
- const m___DBL_IS_IEC_60559__ = 1
- const m___DBL_MANT_DIG__ = 53
- const m___DBL_MAX_10_EXP__ = 308
- const m___DBL_MAX_EXP__ = 1024
- const m___DECIMAL_DIG__ = 36
- const m___DEC_EVAL_METHOD__ = 2
- const m___ELF__ = 1
- const m___FINITE_MATH_ONLY__ = 0
- const m___FLOAT_WORD_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
- const m___FLT128_DECIMAL_DIG__ = 36
- const m___FLT128_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
- const m___FLT128_DIG__ = 33
- const m___FLT128_EPSILON__ = 1.92592994438723585305597794258492732e-34
- const m___FLT128_HAS_DENORM__ = 1
- const m___FLT128_HAS_INFINITY__ = 1
- const m___FLT128_HAS_QUIET_NAN__ = 1
- const m___FLT128_IS_IEC_60559__ = 1
- const m___FLT128_MANT_DIG__ = 113
- const m___FLT128_MAX_10_EXP__ = 4932
- const m___FLT128_MAX_EXP__ = 16384
- const m___FLT128_MAX__ = "1.18973149535723176508575932662800702e+4932"
- const m___FLT128_MIN__ = 3.36210314311209350626267781732175260e-4932
- const m___FLT128_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
- const m___FLT16_DECIMAL_DIG__ = 5
- const m___FLT16_DENORM_MIN__ = 5.96046447753906250000000000000000000e-8
- const m___FLT16_DIG__ = 3
- const m___FLT16_EPSILON__ = 9.76562500000000000000000000000000000e-4
- const m___FLT16_HAS_DENORM__ = 1
- const m___FLT16_HAS_INFINITY__ = 1
- const m___FLT16_HAS_QUIET_NAN__ = 1
- const m___FLT16_IS_IEC_60559__ = 1
- const m___FLT16_MANT_DIG__ = 11
- const m___FLT16_MAX_10_EXP__ = 4
- const m___FLT16_MAX_EXP__ = 16
- const m___FLT16_MAX__ = 6.55040000000000000000000000000000000e+4
- const m___FLT16_MIN__ = 6.10351562500000000000000000000000000e-5
- const m___FLT16_NORM_MAX__ = 6.55040000000000000000000000000000000e+4
- const m___FLT32X_DECIMAL_DIG__ = 17
- const m___FLT32X_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
- const m___FLT32X_DIG__ = 15
- const m___FLT32X_EPSILON__ = 2.22044604925031308084726333618164062e-16
- const m___FLT32X_HAS_DENORM__ = 1
- const m___FLT32X_HAS_INFINITY__ = 1
- const m___FLT32X_HAS_QUIET_NAN__ = 1
- const m___FLT32X_IS_IEC_60559__ = 1
- const m___FLT32X_MANT_DIG__ = 53
- const m___FLT32X_MAX_10_EXP__ = 308
- const m___FLT32X_MAX_EXP__ = 1024
- const m___FLT32X_MAX__ = 1.79769313486231570814527423731704357e+308
- const m___FLT32X_MIN__ = 2.22507385850720138309023271733240406e-308
- const m___FLT32X_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
- const m___FLT32_DECIMAL_DIG__ = 9
- const m___FLT32_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
- const m___FLT32_DIG__ = 6
- const m___FLT32_EPSILON__ = 1.19209289550781250000000000000000000e-7
- const m___FLT32_HAS_DENORM__ = 1
- const m___FLT32_HAS_INFINITY__ = 1
- const m___FLT32_HAS_QUIET_NAN__ = 1
- const m___FLT32_IS_IEC_60559__ = 1
- const m___FLT32_MANT_DIG__ = 24
- const m___FLT32_MAX_10_EXP__ = 38
- const m___FLT32_MAX_EXP__ = 128
- const m___FLT32_MAX__ = 3.40282346638528859811704183484516925e+38
- const m___FLT32_MIN__ = 1.17549435082228750796873653722224568e-38
- const m___FLT32_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
- const m___FLT64X_DECIMAL_DIG__ = 36
- const m___FLT64X_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
- const m___FLT64X_DIG__ = 33
- const m___FLT64X_EPSILON__ = 1.92592994438723585305597794258492732e-34
- const m___FLT64X_HAS_DENORM__ = 1
- const m___FLT64X_HAS_INFINITY__ = 1
- const m___FLT64X_HAS_QUIET_NAN__ = 1
- const m___FLT64X_IS_IEC_60559__ = 1
- const m___FLT64X_MANT_DIG__ = 113
- const m___FLT64X_MAX_10_EXP__ = 4932
- const m___FLT64X_MAX_EXP__ = 16384
- const m___FLT64X_MAX__ = "1.18973149535723176508575932662800702e+4932"
- const m___FLT64X_MIN__ = 3.36210314311209350626267781732175260e-4932
- const m___FLT64X_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
- const m___FLT64_DECIMAL_DIG__ = 17
- const m___FLT64_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
- const m___FLT64_DIG__ = 15
- const m___FLT64_EPSILON__ = 2.22044604925031308084726333618164062e-16
- const m___FLT64_HAS_DENORM__ = 1
- const m___FLT64_HAS_INFINITY__ = 1
- const m___FLT64_HAS_QUIET_NAN__ = 1
- const m___FLT64_IS_IEC_60559__ = 1
- const m___FLT64_MANT_DIG__ = 53
- const m___FLT64_MAX_10_EXP__ = 308
- const m___FLT64_MAX_EXP__ = 1024
- const m___FLT64_MAX__ = 1.79769313486231570814527423731704357e+308
- const m___FLT64_MIN__ = 2.22507385850720138309023271733240406e-308
- const m___FLT64_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
- const m___FLT_DECIMAL_DIG__ = 9
- const m___FLT_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
- const m___FLT_DIG__ = 6
- const m___FLT_EPSILON__ = 1.19209289550781250000000000000000000e-7
- const m___FLT_EVAL_METHOD_TS_18661_3__ = 0
- const m___FLT_EVAL_METHOD__ = 0
- const m___FLT_HAS_DENORM__ = 1
- const m___FLT_HAS_INFINITY__ = 1
- const m___FLT_HAS_QUIET_NAN__ = 1
- const m___FLT_IS_IEC_60559__ = 1
- const m___FLT_MANT_DIG__ = 24
- const m___FLT_MAX_10_EXP__ = 38
- const m___FLT_MAX_EXP__ = 128
- const m___FLT_MAX__ = 3.40282346638528859811704183484516925e+38
- const m___FLT_MIN__ = 1.17549435082228750796873653722224568e-38
- const m___FLT_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
- const m___FLT_RADIX__ = 2
- const m___FP_FAST_FMA = 1
- const m___FP_FAST_FMAF = 1
- const m___FP_FAST_FMAF32 = 1
- const m___FP_FAST_FMAF32x = 1
- const m___FP_FAST_FMAF64 = 1
- const m___FUNCTION__ = "__func__"
- const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
- const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
- const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
- const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
- const m___GCC_ATOMIC_INT_LOCK_FREE = 2
- const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
- const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
- const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
- const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
- const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
- const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
- const m___GCC_HAVE_DWARF2_CFI_ASM = 1
- const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
- const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
- const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
- const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
- const m___GCC_IEC_559 = 2
- const m___GCC_IEC_559_COMPLEX = 2
- const m___GNUC_EXECUTION_CHARSET_NAME = "UTF-8"
- const m___GNUC_MINOR__ = 2
- const m___GNUC_PATCHLEVEL__ = 0
- const m___GNUC_STDC_INLINE__ = 1
- const m___GNUC_WIDE_EXECUTION_CHARSET_NAME = "UTF-32LE"
- const m___GNUC__ = 14
- const m___GXX_ABI_VERSION = 1019
- const m___INT16_MAX__ = 0x7fff
- const m___INT32_MAX__ = 0x7fffffff
- const m___INT32_TYPE__ = "int"
- const m___INT64_MAX__ = 0x7fffffffffffffff
- const m___INT8_MAX__ = 0x7f
- const m___INTMAX_MAX__ = 0x7fffffffffffffff
- const m___INTMAX_WIDTH__ = 64
- const m___INTPTR_MAX__ = 0x7fffffffffffffff
- const m___INTPTR_WIDTH__ = 64
- const m___INT_FAST16_MAX__ = 0x7fffffffffffffff
- const m___INT_FAST16_WIDTH__ = 64
- const m___INT_FAST32_MAX__ = 0x7fffffffffffffff
- const m___INT_FAST32_WIDTH__ = 64
- const m___INT_FAST64_MAX__ = 0x7fffffffffffffff
- const m___INT_FAST64_WIDTH__ = 64
- const m___INT_FAST8_MAX__ = 0x7f
- const m___INT_FAST8_WIDTH__ = 8
- const m___INT_LEAST16_MAX__ = 0x7fff
- const m___INT_LEAST16_WIDTH__ = 16
- const m___INT_LEAST32_MAX__ = 0x7fffffff
- const m___INT_LEAST32_TYPE__ = "int"
- const m___INT_LEAST32_WIDTH__ = 32
- const m___INT_LEAST64_MAX__ = 0x7fffffffffffffff
- const m___INT_LEAST64_WIDTH__ = 64
- const m___INT_LEAST8_MAX__ = 0x7f
- const m___INT_LEAST8_WIDTH__ = 8
- const m___INT_MAX__ = 0x7fffffff
- const m___INT_WIDTH__ = 32
- const m___LDBL_DECIMAL_DIG__ = 36
- const m___LDBL_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
- const m___LDBL_DIG__ = 33
- const m___LDBL_EPSILON__ = 1.92592994438723585305597794258492732e-34
- const m___LDBL_HAS_DENORM__ = 1
- const m___LDBL_HAS_INFINITY__ = 1
- const m___LDBL_HAS_QUIET_NAN__ = 1
- const m___LDBL_IS_IEC_60559__ = 1
- const m___LDBL_MANT_DIG__ = 113
- const m___LDBL_MAX_10_EXP__ = 4932
- const m___LDBL_MAX_EXP__ = 16384
- const m___LDBL_MAX__ = "1.18973149535723176508575932662800702e+4932"
- const m___LDBL_MIN__ = 3.36210314311209350626267781732175260e-4932
- const m___LDBL_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
- const m___LITTLE_ENDIAN = 1234
- const m___LONG_LONG_MAX__ = 0x7fffffffffffffff
- const m___LONG_LONG_WIDTH__ = 64
- const m___LONG_MAX = 0x7fffffffffffffff
- const m___LONG_MAX__ = 0x7fffffffffffffff
- const m___LONG_WIDTH__ = 64
- const m___LP64__ = 1
- const m___NO_INLINE__ = 1
- const m___ORDER_BIG_ENDIAN__ = 4321
- const m___ORDER_LITTLE_ENDIAN__ = 1234
- const m___ORDER_PDP_ENDIAN__ = 3412
- const m___PDP_ENDIAN = 3412
- const m___PIC__ = 2
- const m___PIE__ = 2
- const m___PRAGMA_REDEFINE_EXTNAME = 1
- const m___PRETTY_FUNCTION__ = "__func__"
- const m___PTRDIFF_MAX__ = 0x7fffffffffffffff
- const m___PTRDIFF_WIDTH__ = 64
- const m___SCHAR_MAX__ = 0x7f
- const m___SCHAR_WIDTH__ = 8
- const m___SHRT_MAX__ = 0x7fff
- const m___SHRT_WIDTH__ = 16
- const m___SIG_ATOMIC_MAX__ = 0x7fffffff
- const m___SIG_ATOMIC_TYPE__ = "int"
- const m___SIG_ATOMIC_WIDTH__ = 32
- const m___SIZEOF_DOUBLE__ = 8
- const m___SIZEOF_FLOAT__ = 4
- const m___SIZEOF_INT128__ = 16
- const m___SIZEOF_INT__ = 4
- const m___SIZEOF_LONG_DOUBLE__ = 8
- const m___SIZEOF_LONG_LONG__ = 8
- const m___SIZEOF_LONG__ = 8
- const m___SIZEOF_POINTER__ = 8
- const m___SIZEOF_PTRDIFF_T__ = 8
- const m___SIZEOF_SHORT__ = 2
- const m___SIZEOF_SIZE_T__ = 8
- const m___SIZEOF_WCHAR_T__ = 4
- const m___SIZEOF_WINT_T__ = 4
- const m___SIZE_MAX__ = 0xffffffffffffffff
- const m___SIZE_WIDTH__ = 64
- const m___STDC_HOSTED__ = 1
- const m___STDC_IEC_559_COMPLEX__ = 1
- const m___STDC_IEC_559__ = 1
- const m___STDC_IEC_60559_BFP__ = 201404
- const m___STDC_IEC_60559_COMPLEX__ = 201404
- const m___STDC_ISO_10646__ = 201706
- const m___STDC_UTF_16__ = 1
- const m___STDC_UTF_32__ = 1
- const m___STDC_VERSION__ = 201710
- const m___STDC__ = 1
- const m___UINT16_MAX__ = 0xffff
- const m___UINT32_MAX__ = 0xffffffff
- const m___UINT64_MAX__ = 0xffffffffffffffff
- const m___UINT8_MAX__ = 0xff
- const m___UINTMAX_MAX__ = 0xffffffffffffffff
- const m___UINTPTR_MAX__ = 0xffffffffffffffff
- const m___UINT_FAST16_MAX__ = 0xffffffffffffffff
- const m___UINT_FAST32_MAX__ = 0xffffffffffffffff
- const m___UINT_FAST64_MAX__ = 0xffffffffffffffff
- const m___UINT_FAST8_MAX__ = 0xff
- const m___UINT_LEAST16_MAX__ = 0xffff
- const m___UINT_LEAST32_MAX__ = 0xffffffff
- const m___UINT_LEAST64_MAX__ = 0xffffffffffffffff
- const m___UINT_LEAST8_MAX__ = 0xff
- const m___USE_TIME_BITS64 = 1
- const m___VERSION__ = "14.2.0"
- const m___WCHAR_MAX__ = 0x7fffffff
- const m___WCHAR_TYPE__ = "int"
- const m___WCHAR_WIDTH__ = 32
- const m___WINT_MAX__ = 0xffffffff
- const m___WINT_MIN__ = 0
- const m___WINT_WIDTH__ = 32
- const m___gnu_linux__ = 1
- const m___inline = "inline"
- const m___linux = 1
- const m___linux__ = 1
- const m___pic__ = 2
- const m___pie__ = 2
- const m___restrict = "restrict"
- const m___restrict_arr = "restrict"
- const m___riscv = 1
- const m___riscv_a = 2001000
- const m___riscv_arch_test = 1
- const m___riscv_atomic = 1
- const m___riscv_c = 2000000
- const m___riscv_cmodel_medany = 1
- const m___riscv_compressed = 1
- const m___riscv_d = 2002000
- const m___riscv_div = 1
- const m___riscv_f = 2002000
- const m___riscv_fdiv = 1
- const m___riscv_flen = 64
- const m___riscv_float_abi_double = 1
- const m___riscv_fsqrt = 1
- const m___riscv_i = 2001000
- const m___riscv_m = 2000000
- const m___riscv_misaligned_slow = 1
- const m___riscv_mul = 1
- const m___riscv_muldiv = 1
- const m___riscv_xlen = 64
- const m___riscv_zicsr = 2000000
- const m___riscv_zifencei = 2000000
- const m___unix = 1
- const m___unix__ = 1
- const m_alloca = "__builtin_alloca"
- const m_blkcnt64_t = "blkcnt_t"
- const m_fsblkcnt64_t = "fsblkcnt_t"
- const m_fsfilcnt64_t = "fsfilcnt_t"
- const m_ftruncate64 = "ftruncate"
- const m_ino64_t = "ino_t"
- const m_linux = 1
- const m_local = "static"
- const m_lockf64 = "lockf"
- const m_lseek64 = "lseek"
- const m_mkostemp64 = "mkostemp"
- const m_mkostemps64 = "mkostemps"
- const m_mkstemp64 = "mkstemp"
- const m_mkstemps64 = "mkstemps"
- const m_off64_t = "off_t"
- const m_pread64 = "pread"
- const m_pwrite64 = "pwrite"
- const m_truncate64 = "truncate"
- const m_unix = 1
- const m_z_off64_t = "z_off_t"
- const m_z_off_t = "off_t"
- const m_zmemcmp = "memcmp"
- const m_zmemcpy = "memcpy"
- type t__builtin_va_list = uintptr
- type t__predefined_size_t = uint64
- type t__predefined_wchar_t = int32
- type t__predefined_ptrdiff_t = int64
- type Twchar_t = int32
- type Tmax_align_t = struct {
- F__ll int64
- F__ld float64
- }
- type Tsize_t = uint64
- type Tptrdiff_t = int64
- type Tz_size_t = uint64
- type TByte = uint8
- type TuInt = uint32
- type TuLong = uint64
- type TBytef = uint8
- type Tcharf = uint8
- type Tintf = int32
- type TuIntf = uint32
- type TuLongf = uint64
- type Tvoidpc = uintptr
- type Tvoidpf = uintptr
- type Tvoidp = uintptr
- type Tz_crc_t = uint32
- type Tblksize_t = int32
- type Tnlink_t = uint32
- type Tssize_t = int64
- type Tregister_t = int64
- type Ttime_t = int64
- type Tsuseconds_t = int64
- type Tint8_t = int8
- type Tint16_t = int16
- type Tint32_t = int32
- type Tint64_t = int64
- type Tu_int64_t = uint64
- type Tmode_t = uint32
- type Toff_t = int64
- type Tino_t = uint64
- type Tdev_t = uint64
- type Tblkcnt_t = int64
- type Tfsblkcnt_t = uint64
- type Tfsfilcnt_t = uint64
- type Ttimer_t = uintptr
- type Tclockid_t = int32
- type Tclock_t = int64
- type Tpid_t = int32
- type Tid_t = uint32
- type Tuid_t = uint32
- type Tgid_t = uint32
- type Tkey_t = int32
- type Tuseconds_t = uint32
- type Tpthread_t = uintptr
- type Tpthread_once_t = int32
- type Tpthread_key_t = uint32
- type Tpthread_spinlock_t = int32
- type Tpthread_mutexattr_t = struct {
- F__attr uint32
- }
- type Tpthread_condattr_t = struct {
- F__attr uint32
- }
- type Tpthread_barrierattr_t = struct {
- F__attr uint32
- }
- type Tpthread_rwlockattr_t = struct {
- F__attr [2]uint32
- }
- type Tpthread_attr_t = struct {
- F__u struct {
- F__vi [0][14]int32
- F__s [0][7]uint64
- F__i [14]int32
- }
- }
- type Tpthread_mutex_t = struct {
- F__u struct {
- F__vi [0][10]int32
- F__p [0][5]uintptr
- F__i [10]int32
- }
- }
- type Tpthread_cond_t = struct {
- F__u struct {
- F__vi [0][12]int32
- F__p [0][6]uintptr
- F__i [12]int32
- }
- }
- type Tpthread_rwlock_t = struct {
- F__u struct {
- F__vi [0][14]int32
- F__p [0][7]uintptr
- F__i [14]int32
- }
- }
- type Tpthread_barrier_t = struct {
- F__u struct {
- F__vi [0][8]int32
- F__p [0][4]uintptr
- F__i [8]int32
- }
- }
- type Tu_int8_t = uint8
- type Tu_int16_t = uint16
- type Tu_int32_t = uint32
- type Tcaddr_t = uintptr
- type Tu_char = uint8
- type Tu_short = uint16
- type Tushort = uint16
- type Tu_int = uint32
- type Tuint = uint32
- type Tu_long = uint64
- type Tulong = uint64
- type Tquad_t = int64
- type Tu_quad_t = uint64
- type Tuint16_t = uint16
- type Tuint32_t = uint32
- type Tuint64_t = uint64
- type Ttimeval = struct {
- Ftv_sec Ttime_t
- Ftv_usec Tsuseconds_t
- }
- type Ttimespec = struct {
- Ftv_sec Ttime_t
- Ftv_nsec int64
- }
- type Tsigset_t = struct {
- F__bits [16]uint64
- }
- type t__sigset_t = Tsigset_t
- type Tfd_mask = uint64
- type Tfd_set = struct {
- Ffds_bits [16]uint64
- }
- type Tva_list = uintptr
- type Tintptr_t = int64
- type Talloc_func = uintptr
- type Tfree_func = uintptr
- type Tz_stream = struct {
- Fnext_in uintptr
- Favail_in TuInt
- Ftotal_in TuLong
- Fnext_out uintptr
- Favail_out TuInt
- Ftotal_out TuLong
- Fmsg uintptr
- Fstate uintptr
- Fzalloc Talloc_func
- Fzfree Tfree_func
- Fopaque Tvoidpf
- Fdata_type int32
- Fadler TuLong
- Freserved TuLong
- }
- type Tz_stream_s = Tz_stream
- type Tz_streamp = uintptr
- type Tgz_header = struct {
- Ftext int32
- Ftime TuLong
- Fxflags int32
- Fos int32
- Fextra uintptr
- Fextra_len TuInt
- Fextra_max TuInt
- Fname uintptr
- Fname_max TuInt
- Fcomment uintptr
- Fcomm_max TuInt
- Fhcrc int32
- Fdone int32
- }
- type Tgz_header_s = Tgz_header
- type Tgz_headerp = uintptr
- type Tin_func = uintptr
- type Tout_func = uintptr
- type TgzFile = uintptr
- type TgzFile_s = struct {
- Fhave uint32
- Fnext uintptr
- Fpos Toff_t
- }
- type Tlocale_t = uintptr
- type Tdiv_t = struct {
- Fquot int32
- Frem int32
- }
- type Tldiv_t = struct {
- Fquot int64
- Frem int64
- }
- type Tlldiv_t = struct {
- Fquot int64
- Frem int64
- }
- type Tuch = uint8
- type Tuchf = uint8
- type Tush = uint16
- type Tushf = uint16
- type Tulg = uint64
- /* Reverse the bytes in a 32-bit value */
- /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
- /* use NO_DIVIDE if your processor does not do division in hardware --
- try it both ways to see which is faster */
- // C documentation
- //
- // /* ========================================================================= */
- func Xadler32_z(tls *libc.TLS, adler TuLong, buf uintptr, len1 Tz_size_t) (r TuLong) {
- var n, v3 uint32
- var sum2 uint64
- var v1, v5 Tz_size_t
- var v2, v6 uintptr
- _, _, _, _, _, _, _ = n, sum2, v1, v2, v3, v5, v6
- /* split Adler-32 into component sums */
- sum2 = adler >> libc.Int32FromInt32(16) & uint64(0xffff)
- adler &= uint64(0xffff)
- /* in case user likes doing a byte at a time, keep it fast */
- if len1 == uint64(1) {
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
- if adler >= uint64(65521) {
- adler -= uint64(65521)
- }
- sum2 += adler
- if sum2 >= uint64(65521) {
- sum2 -= uint64(65521)
- }
- return adler | sum2<<int32(16)
- }
- /* initial Adler-32 value (deferred check for len == 1 speed) */
- if buf == uintptr(m_Z_NULL) {
- return uint64(1)
- }
- /* in case short lengths are provided, keep it somewhat fast */
- if len1 < uint64(16) {
- for {
- v1 = len1
- len1--
- if !(v1 != 0) {
- break
- }
- v2 = buf
- buf++
- adler += uint64(*(*TBytef)(unsafe.Pointer(v2)))
- sum2 += adler
- }
- if adler >= uint64(65521) {
- adler -= uint64(65521)
- }
- sum2 %= uint64(65521) /* only added so many BASE's */
- return adler | sum2<<int32(16)
- }
- /* do length NMAX blocks -- requires just one modulo operation */
- for len1 >= uint64(m_NMAX) {
- len1 -= uint64(m_NMAX)
- n = libc.Uint32FromInt32(libc.Int32FromInt32(m_NMAX) / libc.Int32FromInt32(16)) /* NMAX is divisible by 16 */
- for {
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
- sum2 += adler /* 16 sums unrolled */
- buf += uintptr(16)
- goto _4
- _4:
- ;
- n--
- v3 = n
- if !(v3 != 0) {
- break
- }
- }
- adler %= uint64(65521)
- sum2 %= uint64(65521)
- }
- /* do remaining bytes (less than NMAX, still just one modulo) */
- if len1 != 0 { /* avoid modulos if none remaining */
- for len1 >= uint64(16) {
- len1 -= uint64(16)
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
- sum2 += adler
- adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
- sum2 += adler
- buf += uintptr(16)
- }
- for {
- v5 = len1
- len1--
- if !(v5 != 0) {
- break
- }
- v6 = buf
- buf++
- adler += uint64(*(*TBytef)(unsafe.Pointer(v6)))
- sum2 += adler
- }
- adler %= uint64(65521)
- sum2 %= uint64(65521)
- }
- /* return recombined sums */
- return adler | sum2<<int32(16)
- }
- // C documentation
- //
- // /* ========================================================================= */
- func Xadler32(tls *libc.TLS, adler TuLong, buf uintptr, len1 TuInt) (r TuLong) {
- return Xadler32_z(tls, adler, buf, uint64(len1))
- }
- // C documentation
- //
- // /* ========================================================================= */
- func _adler32_combine_(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
- var rem uint32
- var sum1, sum2 uint64
- _, _, _ = rem, sum1, sum2
- /* for negative len, return invalid adler32 as a clue for debugging */
- if len2 < 0 {
- return uint64(0xffffffff)
- }
- /* the derivation of this formula is left as an exercise for the reader */
- len2 %= libc.Int64FromUint32(65521) /* assumes len2 >= 0 */
- rem = libc.Uint32FromInt64(len2)
- sum1 = adler1 & uint64(0xffff)
- sum2 = uint64(rem) * sum1
- sum2 %= uint64(65521)
- sum1 += adler2&uint64(0xffff) + uint64(65521) - uint64(1)
- sum2 += adler1>>libc.Int32FromInt32(16)&uint64(0xffff) + adler2>>libc.Int32FromInt32(16)&uint64(0xffff) + uint64(65521) - uint64(rem)
- if sum1 >= uint64(65521) {
- sum1 -= uint64(65521)
- }
- if sum1 >= uint64(65521) {
- sum1 -= uint64(65521)
- }
- if sum2 >= libc.Uint64FromUint32(65521)<<libc.Int32FromInt32(1) {
- sum2 -= libc.Uint64FromUint32(65521) << libc.Int32FromInt32(1)
- }
- if sum2 >= uint64(65521) {
- sum2 -= uint64(65521)
- }
- return sum1 | sum2<<int32(16)
- }
- // C documentation
- //
- // /* ========================================================================= */
- func Xadler32_combine(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
- return _adler32_combine_(tls, adler1, adler2, len2)
- }
- func Xadler32_combine64(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
- return _adler32_combine_(tls, adler1, adler2, len2)
- }
- const m_N = 5
- const m_POLY = 3988292384
- /* Reverse the bytes in a 32-bit value */
- /*
- A CRC of a message is computed on N braids of words in the message, where
- each word consists of W bytes (4 or 8). If N is 3, for example, then three
- running sparse CRCs are calculated respectively on each braid, at these
- indices in the array of words: 0, 3, 6, ..., 1, 4, 7, ..., and 2, 5, 8, ...
- This is done starting at a word boundary, and continues until as many blocks
- of N * W bytes as are available have been processed. The results are combined
- into a single CRC at the end. For this code, N must be in the range 1..6 and
- W must be 4 or 8. The upper limit on N can be increased if desired by adding
- more #if blocks, extending the patterns apparent in the code. In addition,
- crc32.h would need to be regenerated, if the maximum N value is increased.
- N and W are chosen empirically by benchmarking the execution time on a given
- processor. The choices for N and W below were based on testing on Intel Kaby
- Lake i7, AMD Ryzen 7, ARM Cortex-A57, Sparc64-VII, PowerPC POWER9, and MIPS64
- Octeon II processors. The Intel, AMD, and ARM processors were all fastest
- with N=5, W=8. The Sparc, PowerPC, and MIPS64 were all fastest at N=5, W=4.
- They were all tested with either gcc or clang, all using the -O3 optimization
- level. Your mileage may vary.
- */
- /* Define N */
- /*
- z_crc_t must be at least 32 bits. z_word_t must be at least as long as
- z_crc_t. It is assumed here that z_word_t is either 32 bits or 64 bits, and
- that bytes are eight bits.
- */
- // C documentation
- //
- // /*
- // Define W and the associated z_word_t type. If W is not defined, then a
- // braided calculation is not used, and the associated tables and code are not
- // compiled.
- // */
- type Tz_word_t = uint32
- /* If available, use the ARM processor CRC32 instruction. */
- // C documentation
- //
- // /*
- // Swap the bytes in a z_word_t to convert between little and big endian. Any
- // self-respecting compiler will optimize this to a single machine byte-swap
- // instruction, if one is available. This assumes that word_t is either 32 bits
- // or 64 bits.
- // */
- func _byte_swap(tls *libc.TLS, word Tz_word_t) (r Tz_word_t) {
- return word&uint32(0xff000000)>>int32(24) | word&uint32(0xff0000)>>int32(8) | word&uint32(0xff00)<<int32(8) | word&uint32(0xff)<<int32(24)
- }
- var _crc_table = [256]Tz_crc_t{
- 1: uint32(0x77073096),
- 2: uint32(0xee0e612c),
- 3: uint32(0x990951ba),
- 4: uint32(0x076dc419),
- 5: uint32(0x706af48f),
- 6: uint32(0xe963a535),
- 7: uint32(0x9e6495a3),
- 8: uint32(0x0edb8832),
- 9: uint32(0x79dcb8a4),
- 10: uint32(0xe0d5e91e),
- 11: uint32(0x97d2d988),
- 12: uint32(0x09b64c2b),
- 13: uint32(0x7eb17cbd),
- 14: uint32(0xe7b82d07),
- 15: uint32(0x90bf1d91),
- 16: uint32(0x1db71064),
- 17: uint32(0x6ab020f2),
- 18: uint32(0xf3b97148),
- 19: uint32(0x84be41de),
- 20: uint32(0x1adad47d),
- 21: uint32(0x6ddde4eb),
- 22: uint32(0xf4d4b551),
- 23: uint32(0x83d385c7),
- 24: uint32(0x136c9856),
- 25: uint32(0x646ba8c0),
- 26: uint32(0xfd62f97a),
- 27: uint32(0x8a65c9ec),
- 28: uint32(0x14015c4f),
- 29: uint32(0x63066cd9),
- 30: uint32(0xfa0f3d63),
- 31: uint32(0x8d080df5),
- 32: uint32(0x3b6e20c8),
- 33: uint32(0x4c69105e),
- 34: uint32(0xd56041e4),
- 35: uint32(0xa2677172),
- 36: uint32(0x3c03e4d1),
- 37: uint32(0x4b04d447),
- 38: uint32(0xd20d85fd),
- 39: uint32(0xa50ab56b),
- 40: uint32(0x35b5a8fa),
- 41: uint32(0x42b2986c),
- 42: uint32(0xdbbbc9d6),
- 43: uint32(0xacbcf940),
- 44: uint32(0x32d86ce3),
- 45: uint32(0x45df5c75),
- 46: uint32(0xdcd60dcf),
- 47: uint32(0xabd13d59),
- 48: uint32(0x26d930ac),
- 49: uint32(0x51de003a),
- 50: uint32(0xc8d75180),
- 51: uint32(0xbfd06116),
- 52: uint32(0x21b4f4b5),
- 53: uint32(0x56b3c423),
- 54: uint32(0xcfba9599),
- 55: uint32(0xb8bda50f),
- 56: uint32(0x2802b89e),
- 57: uint32(0x5f058808),
- 58: uint32(0xc60cd9b2),
- 59: uint32(0xb10be924),
- 60: uint32(0x2f6f7c87),
- 61: uint32(0x58684c11),
- 62: uint32(0xc1611dab),
- 63: uint32(0xb6662d3d),
- 64: uint32(0x76dc4190),
- 65: uint32(0x01db7106),
- 66: uint32(0x98d220bc),
- 67: uint32(0xefd5102a),
- 68: uint32(0x71b18589),
- 69: uint32(0x06b6b51f),
- 70: uint32(0x9fbfe4a5),
- 71: uint32(0xe8b8d433),
- 72: uint32(0x7807c9a2),
- 73: uint32(0x0f00f934),
- 74: uint32(0x9609a88e),
- 75: uint32(0xe10e9818),
- 76: uint32(0x7f6a0dbb),
- 77: uint32(0x086d3d2d),
- 78: uint32(0x91646c97),
- 79: uint32(0xe6635c01),
- 80: uint32(0x6b6b51f4),
- 81: uint32(0x1c6c6162),
- 82: uint32(0x856530d8),
- 83: uint32(0xf262004e),
- 84: uint32(0x6c0695ed),
- 85: uint32(0x1b01a57b),
- 86: uint32(0x8208f4c1),
- 87: uint32(0xf50fc457),
- 88: uint32(0x65b0d9c6),
- 89: uint32(0x12b7e950),
- 90: uint32(0x8bbeb8ea),
- 91: uint32(0xfcb9887c),
- 92: uint32(0x62dd1ddf),
- 93: uint32(0x15da2d49),
- 94: uint32(0x8cd37cf3),
- 95: uint32(0xfbd44c65),
- 96: uint32(0x4db26158),
- 97: uint32(0x3ab551ce),
- 98: uint32(0xa3bc0074),
- 99: uint32(0xd4bb30e2),
- 100: uint32(0x4adfa541),
- 101: uint32(0x3dd895d7),
- 102: uint32(0xa4d1c46d),
- 103: uint32(0xd3d6f4fb),
- 104: uint32(0x4369e96a),
- 105: uint32(0x346ed9fc),
- 106: uint32(0xad678846),
- 107: uint32(0xda60b8d0),
- 108: uint32(0x44042d73),
- 109: uint32(0x33031de5),
- 110: uint32(0xaa0a4c5f),
- 111: uint32(0xdd0d7cc9),
- 112: uint32(0x5005713c),
- 113: uint32(0x270241aa),
- 114: uint32(0xbe0b1010),
- 115: uint32(0xc90c2086),
- 116: uint32(0x5768b525),
- 117: uint32(0x206f85b3),
- 118: uint32(0xb966d409),
- 119: uint32(0xce61e49f),
- 120: uint32(0x5edef90e),
- 121: uint32(0x29d9c998),
- 122: uint32(0xb0d09822),
- 123: uint32(0xc7d7a8b4),
- 124: uint32(0x59b33d17),
- 125: uint32(0x2eb40d81),
- 126: uint32(0xb7bd5c3b),
- 127: uint32(0xc0ba6cad),
- 128: uint32(0xedb88320),
- 129: uint32(0x9abfb3b6),
- 130: uint32(0x03b6e20c),
- 131: uint32(0x74b1d29a),
- 132: uint32(0xead54739),
- 133: uint32(0x9dd277af),
- 134: uint32(0x04db2615),
- 135: uint32(0x73dc1683),
- 136: uint32(0xe3630b12),
- 137: uint32(0x94643b84),
- 138: uint32(0x0d6d6a3e),
- 139: uint32(0x7a6a5aa8),
- 140: uint32(0xe40ecf0b),
- 141: uint32(0x9309ff9d),
- 142: uint32(0x0a00ae27),
- 143: uint32(0x7d079eb1),
- 144: uint32(0xf00f9344),
- 145: uint32(0x8708a3d2),
- 146: uint32(0x1e01f268),
- 147: uint32(0x6906c2fe),
- 148: uint32(0xf762575d),
- 149: uint32(0x806567cb),
- 150: uint32(0x196c3671),
- 151: uint32(0x6e6b06e7),
- 152: uint32(0xfed41b76),
- 153: uint32(0x89d32be0),
- 154: uint32(0x10da7a5a),
- 155: uint32(0x67dd4acc),
- 156: uint32(0xf9b9df6f),
- 157: uint32(0x8ebeeff9),
- 158: uint32(0x17b7be43),
- 159: uint32(0x60b08ed5),
- 160: uint32(0xd6d6a3e8),
- 161: uint32(0xa1d1937e),
- 162: uint32(0x38d8c2c4),
- 163: uint32(0x4fdff252),
- 164: uint32(0xd1bb67f1),
- 165: uint32(0xa6bc5767),
- 166: uint32(0x3fb506dd),
- 167: uint32(0x48b2364b),
- 168: uint32(0xd80d2bda),
- 169: uint32(0xaf0a1b4c),
- 170: uint32(0x36034af6),
- 171: uint32(0x41047a60),
- 172: uint32(0xdf60efc3),
- 173: uint32(0xa867df55),
- 174: uint32(0x316e8eef),
- 175: uint32(0x4669be79),
- 176: uint32(0xcb61b38c),
- 177: uint32(0xbc66831a),
- 178: uint32(0x256fd2a0),
- 179: uint32(0x5268e236),
- 180: uint32(0xcc0c7795),
- 181: uint32(0xbb0b4703),
- 182: uint32(0x220216b9),
- 183: uint32(0x5505262f),
- 184: uint32(0xc5ba3bbe),
- 185: uint32(0xb2bd0b28),
- 186: uint32(0x2bb45a92),
- 187: uint32(0x5cb36a04),
- 188: uint32(0xc2d7ffa7),
- 189: uint32(0xb5d0cf31),
- 190: uint32(0x2cd99e8b),
- 191: uint32(0x5bdeae1d),
- 192: uint32(0x9b64c2b0),
- 193: uint32(0xec63f226),
- 194: uint32(0x756aa39c),
- 195: uint32(0x026d930a),
- 196: uint32(0x9c0906a9),
- 197: uint32(0xeb0e363f),
- 198: uint32(0x72076785),
- 199: uint32(0x05005713),
- 200: uint32(0x95bf4a82),
- 201: uint32(0xe2b87a14),
- 202: uint32(0x7bb12bae),
- 203: uint32(0x0cb61b38),
- 204: uint32(0x92d28e9b),
- 205: uint32(0xe5d5be0d),
- 206: uint32(0x7cdcefb7),
- 207: uint32(0x0bdbdf21),
- 208: uint32(0x86d3d2d4),
- 209: uint32(0xf1d4e242),
- 210: uint32(0x68ddb3f8),
- 211: uint32(0x1fda836e),
- 212: uint32(0x81be16cd),
- 213: uint32(0xf6b9265b),
- 214: uint32(0x6fb077e1),
- 215: uint32(0x18b74777),
- 216: uint32(0x88085ae6),
- 217: uint32(0xff0f6a70),
- 218: uint32(0x66063bca),
- 219: uint32(0x11010b5c),
- 220: uint32(0x8f659eff),
- 221: uint32(0xf862ae69),
- 222: uint32(0x616bffd3),
- 223: uint32(0x166ccf45),
- 224: uint32(0xa00ae278),
- 225: uint32(0xd70dd2ee),
- 226: uint32(0x4e048354),
- 227: uint32(0x3903b3c2),
- 228: uint32(0xa7672661),
- 229: uint32(0xd06016f7),
- 230: uint32(0x4969474d),
- 231: uint32(0x3e6e77db),
- 232: uint32(0xaed16a4a),
- 233: uint32(0xd9d65adc),
- 234: uint32(0x40df0b66),
- 235: uint32(0x37d83bf0),
- 236: uint32(0xa9bcae53),
- 237: uint32(0xdebb9ec5),
- 238: uint32(0x47b2cf7f),
- 239: uint32(0x30b5ffe9),
- 240: uint32(0xbdbdf21c),
- 241: uint32(0xcabac28a),
- 242: uint32(0x53b39330),
- 243: uint32(0x24b4a3a6),
- 244: uint32(0xbad03605),
- 245: uint32(0xcdd70693),
- 246: uint32(0x54de5729),
- 247: uint32(0x23d967bf),
- 248: uint32(0xb3667a2e),
- 249: uint32(0xc4614ab8),
- 250: uint32(0x5d681b02),
- 251: uint32(0x2a6f2b94),
- 252: uint32(0xb40bbe37),
- 253: uint32(0xc30c8ea1),
- 254: uint32(0x5a05df1b),
- 255: uint32(0x2d02ef8d),
- }
- var _crc_big_table = [256]Tz_word_t{
- 1: uint32(0x96300777),
- 2: uint32(0x2c610eee),
- 3: uint32(0xba510999),
- 4: uint32(0x19c46d07),
- 5: uint32(0x8ff46a70),
- 6: uint32(0x35a563e9),
- 7: uint32(0xa395649e),
- 8: uint32(0x3288db0e),
- 9: uint32(0xa4b8dc79),
- 10: uint32(0x1ee9d5e0),
- 11: uint32(0x88d9d297),
- 12: uint32(0x2b4cb609),
- 13: uint32(0xbd7cb17e),
- 14: uint32(0x072db8e7),
- 15: uint32(0x911dbf90),
- 16: uint32(0x6410b71d),
- 17: uint32(0xf220b06a),
- 18: uint32(0x4871b9f3),
- 19: uint32(0xde41be84),
- 20: uint32(0x7dd4da1a),
- 21: uint32(0xebe4dd6d),
- 22: uint32(0x51b5d4f4),
- 23: uint32(0xc785d383),
- 24: uint32(0x56986c13),
- 25: uint32(0xc0a86b64),
- 26: uint32(0x7af962fd),
- 27: uint32(0xecc9658a),
- 28: uint32(0x4f5c0114),
- 29: uint32(0xd96c0663),
- 30: uint32(0x633d0ffa),
- 31: uint32(0xf50d088d),
- 32: uint32(0xc8206e3b),
- 33: uint32(0x5e10694c),
- 34: uint32(0xe44160d5),
- 35: uint32(0x727167a2),
- 36: uint32(0xd1e4033c),
- 37: uint32(0x47d4044b),
- 38: uint32(0xfd850dd2),
- 39: uint32(0x6bb50aa5),
- 40: uint32(0xfaa8b535),
- 41: uint32(0x6c98b242),
- 42: uint32(0xd6c9bbdb),
- 43: uint32(0x40f9bcac),
- 44: uint32(0xe36cd832),
- 45: uint32(0x755cdf45),
- 46: uint32(0xcf0dd6dc),
- 47: uint32(0x593dd1ab),
- 48: uint32(0xac30d926),
- 49: uint32(0x3a00de51),
- 50: uint32(0x8051d7c8),
- 51: uint32(0x1661d0bf),
- 52: uint32(0xb5f4b421),
- 53: uint32(0x23c4b356),
- 54: uint32(0x9995bacf),
- 55: uint32(0x0fa5bdb8),
- 56: uint32(0x9eb80228),
- 57: uint32(0x0888055f),
- 58: uint32(0xb2d90cc6),
- 59: uint32(0x24e90bb1),
- 60: uint32(0x877c6f2f),
- 61: uint32(0x114c6858),
- 62: uint32(0xab1d61c1),
- 63: uint32(0x3d2d66b6),
- 64: uint32(0x9041dc76),
- 65: uint32(0x0671db01),
- 66: uint32(0xbc20d298),
- 67: uint32(0x2a10d5ef),
- 68: uint32(0x8985b171),
- 69: uint32(0x1fb5b606),
- 70: uint32(0xa5e4bf9f),
- 71: uint32(0x33d4b8e8),
- 72: uint32(0xa2c90778),
- 73: uint32(0x34f9000f),
- 74: uint32(0x8ea80996),
- 75: uint32(0x18980ee1),
- 76: uint32(0xbb0d6a7f),
- 77: uint32(0x2d3d6d08),
- 78: uint32(0x976c6491),
- 79: uint32(0x015c63e6),
- 80: uint32(0xf4516b6b),
- 81: uint32(0x62616c1c),
- 82: uint32(0xd8306585),
- 83: uint32(0x4e0062f2),
- 84: uint32(0xed95066c),
- 85: uint32(0x7ba5011b),
- 86: uint32(0xc1f40882),
- 87: uint32(0x57c40ff5),
- 88: uint32(0xc6d9b065),
- 89: uint32(0x50e9b712),
- 90: uint32(0xeab8be8b),
- 91: uint32(0x7c88b9fc),
- 92: uint32(0xdf1ddd62),
- 93: uint32(0x492dda15),
- 94: uint32(0xf37cd38c),
- 95: uint32(0x654cd4fb),
- 96: uint32(0x5861b24d),
- 97: uint32(0xce51b53a),
- 98: uint32(0x7400bca3),
- 99: uint32(0xe230bbd4),
- 100: uint32(0x41a5df4a),
- 101: uint32(0xd795d83d),
- 102: uint32(0x6dc4d1a4),
- 103: uint32(0xfbf4d6d3),
- 104: uint32(0x6ae96943),
- 105: uint32(0xfcd96e34),
- 106: uint32(0x468867ad),
- 107: uint32(0xd0b860da),
- 108: uint32(0x732d0444),
- 109: uint32(0xe51d0333),
- 110: uint32(0x5f4c0aaa),
- 111: uint32(0xc97c0ddd),
- 112: uint32(0x3c710550),
- 113: uint32(0xaa410227),
- 114: uint32(0x10100bbe),
- 115: uint32(0x86200cc9),
- 116: uint32(0x25b56857),
- 117: uint32(0xb3856f20),
- 118: uint32(0x09d466b9),
- 119: uint32(0x9fe461ce),
- 120: uint32(0x0ef9de5e),
- 121: uint32(0x98c9d929),
- 122: uint32(0x2298d0b0),
- 123: uint32(0xb4a8d7c7),
- 124: uint32(0x173db359),
- 125: uint32(0x810db42e),
- 126: uint32(0x3b5cbdb7),
- 127: uint32(0xad6cbac0),
- 128: uint32(0x2083b8ed),
- 129: uint32(0xb6b3bf9a),
- 130: uint32(0x0ce2b603),
- 131: uint32(0x9ad2b174),
- 132: uint32(0x3947d5ea),
- 133: uint32(0xaf77d29d),
- 134: uint32(0x1526db04),
- 135: uint32(0x8316dc73),
- 136: uint32(0x120b63e3),
- 137: uint32(0x843b6494),
- 138: uint32(0x3e6a6d0d),
- 139: uint32(0xa85a6a7a),
- 140: uint32(0x0bcf0ee4),
- 141: uint32(0x9dff0993),
- 142: uint32(0x27ae000a),
- 143: uint32(0xb19e077d),
- 144: uint32(0x44930ff0),
- 145: uint32(0xd2a30887),
- 146: uint32(0x68f2011e),
- 147: uint32(0xfec20669),
- 148: uint32(0x5d5762f7),
- 149: uint32(0xcb676580),
- 150: uint32(0x71366c19),
- 151: uint32(0xe7066b6e),
- 152: uint32(0x761bd4fe),
- 153: uint32(0xe02bd389),
- 154: uint32(0x5a7ada10),
- 155: uint32(0xcc4add67),
- 156: uint32(0x6fdfb9f9),
- 157: uint32(0xf9efbe8e),
- 158: uint32(0x43beb717),
- 159: uint32(0xd58eb060),
- 160: uint32(0xe8a3d6d6),
- 161: uint32(0x7e93d1a1),
- 162: uint32(0xc4c2d838),
- 163: uint32(0x52f2df4f),
- 164: uint32(0xf167bbd1),
- 165: uint32(0x6757bca6),
- 166: uint32(0xdd06b53f),
- 167: uint32(0x4b36b248),
- 168: uint32(0xda2b0dd8),
- 169: uint32(0x4c1b0aaf),
- 170: uint32(0xf64a0336),
- 171: uint32(0x607a0441),
- 172: uint32(0xc3ef60df),
- 173: uint32(0x55df67a8),
- 174: uint32(0xef8e6e31),
- 175: uint32(0x79be6946),
- 176: uint32(0x8cb361cb),
- 177: uint32(0x1a8366bc),
- 178: uint32(0xa0d26f25),
- 179: uint32(0x36e26852),
- 180: uint32(0x95770ccc),
- 181: uint32(0x03470bbb),
- 182: uint32(0xb9160222),
- 183: uint32(0x2f260555),
- 184: uint32(0xbe3bbac5),
- 185: uint32(0x280bbdb2),
- 186: uint32(0x925ab42b),
- 187: uint32(0x046ab35c),
- 188: uint32(0xa7ffd7c2),
- 189: uint32(0x31cfd0b5),
- 190: uint32(0x8b9ed92c),
- 191: uint32(0x1daede5b),
- 192: uint32(0xb0c2649b),
- 193: uint32(0x26f263ec),
- 194: uint32(0x9ca36a75),
- 195: uint32(0x0a936d02),
- 196: uint32(0xa906099c),
- 197: uint32(0x3f360eeb),
- 198: uint32(0x85670772),
- 199: uint32(0x13570005),
- 200: uint32(0x824abf95),
- 201: uint32(0x147ab8e2),
- 202: uint32(0xae2bb17b),
- 203: uint32(0x381bb60c),
- 204: uint32(0x9b8ed292),
- 205: uint32(0x0dbed5e5),
- 206: uint32(0xb7efdc7c),
- 207: uint32(0x21dfdb0b),
- 208: uint32(0xd4d2d386),
- 209: uint32(0x42e2d4f1),
- 210: uint32(0xf8b3dd68),
- 211: uint32(0x6e83da1f),
- 212: uint32(0xcd16be81),
- 213: uint32(0x5b26b9f6),
- 214: uint32(0xe177b06f),
- 215: uint32(0x7747b718),
- 216: uint32(0xe65a0888),
- 217: uint32(0x706a0fff),
- 218: uint32(0xca3b0666),
- 219: uint32(0x5c0b0111),
- 220: uint32(0xff9e658f),
- 221: uint32(0x69ae62f8),
- 222: uint32(0xd3ff6b61),
- 223: uint32(0x45cf6c16),
- 224: uint32(0x78e20aa0),
- 225: uint32(0xeed20dd7),
- 226: uint32(0x5483044e),
- 227: uint32(0xc2b30339),
- 228: uint32(0x612667a7),
- 229: uint32(0xf71660d0),
- 230: uint32(0x4d476949),
- 231: uint32(0xdb776e3e),
- 232: uint32(0x4a6ad1ae),
- 233: uint32(0xdc5ad6d9),
- 234: uint32(0x660bdf40),
- 235: uint32(0xf03bd837),
- 236: uint32(0x53aebca9),
- 237: uint32(0xc59ebbde),
- 238: uint32(0x7fcfb247),
- 239: uint32(0xe9ffb530),
- 240: uint32(0x1cf2bdbd),
- 241: uint32(0x8ac2baca),
- 242: uint32(0x3093b353),
- 243: uint32(0xa6a3b424),
- 244: uint32(0x0536d0ba),
- 245: uint32(0x9306d7cd),
- 246: uint32(0x2957de54),
- 247: uint32(0xbf67d923),
- 248: uint32(0x2e7a66b3),
- 249: uint32(0xb84a61c4),
- 250: uint32(0x021b685d),
- 251: uint32(0x942b6f2a),
- 252: uint32(0x37be0bb4),
- 253: uint32(0xa18e0cc3),
- 254: uint32(0x1bdf055a),
- 255: uint32(0x8def022d),
- }
- var _crc_braid_table = [4][256]Tz_crc_t{
- 0: {
- 1: uint32(0x65673b46),
- 2: uint32(0xcace768c),
- 3: uint32(0xafa94dca),
- 4: uint32(0x4eedeb59),
- 5: uint32(0x2b8ad01f),
- 6: uint32(0x84239dd5),
- 7: uint32(0xe144a693),
- 8: uint32(0x9ddbd6b2),
- 9: uint32(0xf8bcedf4),
- 10: uint32(0x5715a03e),
- 11: uint32(0x32729b78),
- 12: uint32(0xd3363deb),
- 13: uint32(0xb65106ad),
- 14: uint32(0x19f84b67),
- 15: uint32(0x7c9f7021),
- 16: uint32(0xe0c6ab25),
- 17: uint32(0x85a19063),
- 18: uint32(0x2a08dda9),
- 19: uint32(0x4f6fe6ef),
- 20: uint32(0xae2b407c),
- 21: uint32(0xcb4c7b3a),
- 22: uint32(0x64e536f0),
- 23: uint32(0x01820db6),
- 24: uint32(0x7d1d7d97),
- 25: uint32(0x187a46d1),
- 26: uint32(0xb7d30b1b),
- 27: uint32(0xd2b4305d),
- 28: uint32(0x33f096ce),
- 29: uint32(0x5697ad88),
- 30: uint32(0xf93ee042),
- 31: uint32(0x9c59db04),
- 32: uint32(0x1afc500b),
- 33: uint32(0x7f9b6b4d),
- 34: uint32(0xd0322687),
- 35: uint32(0xb5551dc1),
- 36: uint32(0x5411bb52),
- 37: uint32(0x31768014),
- 38: uint32(0x9edfcdde),
- 39: uint32(0xfbb8f698),
- 40: uint32(0x872786b9),
- 41: uint32(0xe240bdff),
- 42: uint32(0x4de9f035),
- 43: uint32(0x288ecb73),
- 44: uint32(0xc9ca6de0),
- 45: uint32(0xacad56a6),
- 46: uint32(0x03041b6c),
- 47: uint32(0x6663202a),
- 48: uint32(0xfa3afb2e),
- 49: uint32(0x9f5dc068),
- 50: uint32(0x30f48da2),
- 51: uint32(0x5593b6e4),
- 52: uint32(0xb4d71077),
- 53: uint32(0xd1b02b31),
- 54: uint32(0x7e1966fb),
- 55: uint32(0x1b7e5dbd),
- 56: uint32(0x67e12d9c),
- 57: uint32(0x028616da),
- 58: uint32(0xad2f5b10),
- 59: uint32(0xc8486056),
- 60: uint32(0x290cc6c5),
- 61: uint32(0x4c6bfd83),
- 62: uint32(0xe3c2b049),
- 63: uint32(0x86a58b0f),
- 64: uint32(0x35f8a016),
- 65: uint32(0x509f9b50),
- 66: uint32(0xff36d69a),
- 67: uint32(0x9a51eddc),
- 68: uint32(0x7b154b4f),
- 69: uint32(0x1e727009),
- 70: uint32(0xb1db3dc3),
- 71: uint32(0xd4bc0685),
- 72: uint32(0xa82376a4),
- 73: uint32(0xcd444de2),
- 74: uint32(0x62ed0028),
- 75: uint32(0x078a3b6e),
- 76: uint32(0xe6ce9dfd),
- 77: uint32(0x83a9a6bb),
- 78: uint32(0x2c00eb71),
- 79: uint32(0x4967d037),
- 80: uint32(0xd53e0b33),
- 81: uint32(0xb0593075),
- 82: uint32(0x1ff07dbf),
- 83: uint32(0x7a9746f9),
- 84: uint32(0x9bd3e06a),
- 85: uint32(0xfeb4db2c),
- 86: uint32(0x511d96e6),
- 87: uint32(0x347aada0),
- 88: uint32(0x48e5dd81),
- 89: uint32(0x2d82e6c7),
- 90: uint32(0x822bab0d),
- 91: uint32(0xe74c904b),
- 92: uint32(0x060836d8),
- 93: uint32(0x636f0d9e),
- 94: uint32(0xccc64054),
- 95: uint32(0xa9a17b12),
- 96: uint32(0x2f04f01d),
- 97: uint32(0x4a63cb5b),
- 98: uint32(0xe5ca8691),
- 99: uint32(0x80adbdd7),
- 100: uint32(0x61e91b44),
- 101: uint32(0x048e2002),
- 102: uint32(0xab276dc8),
- 103: uint32(0xce40568e),
- 104: uint32(0xb2df26af),
- 105: uint32(0xd7b81de9),
- 106: uint32(0x78115023),
- 107: uint32(0x1d766b65),
- 108: uint32(0xfc32cdf6),
- 109: uint32(0x9955f6b0),
- 110: uint32(0x36fcbb7a),
- 111: uint32(0x539b803c),
- 112: uint32(0xcfc25b38),
- 113: uint32(0xaaa5607e),
- 114: uint32(0x050c2db4),
- 115: uint32(0x606b16f2),
- 116: uint32(0x812fb061),
- 117: uint32(0xe4488b27),
- 118: uint32(0x4be1c6ed),
- 119: uint32(0x2e86fdab),
- 120: uint32(0x52198d8a),
- 121: uint32(0x377eb6cc),
- 122: uint32(0x98d7fb06),
- 123: uint32(0xfdb0c040),
- 124: uint32(0x1cf466d3),
- 125: uint32(0x79935d95),
- 126: uint32(0xd63a105f),
- 127: uint32(0xb35d2b19),
- 128: uint32(0x6bf1402c),
- 129: uint32(0x0e967b6a),
- 130: uint32(0xa13f36a0),
- 131: uint32(0xc4580de6),
- 132: uint32(0x251cab75),
- 133: uint32(0x407b9033),
- 134: uint32(0xefd2ddf9),
- 135: uint32(0x8ab5e6bf),
- 136: uint32(0xf62a969e),
- 137: uint32(0x934dadd8),
- 138: uint32(0x3ce4e012),
- 139: uint32(0x5983db54),
- 140: uint32(0xb8c77dc7),
- 141: uint32(0xdda04681),
- 142: uint32(0x72090b4b),
- 143: uint32(0x176e300d),
- 144: uint32(0x8b37eb09),
- 145: uint32(0xee50d04f),
- 146: uint32(0x41f99d85),
- 147: uint32(0x249ea6c3),
- 148: uint32(0xc5da0050),
- 149: uint32(0xa0bd3b16),
- 150: uint32(0x0f1476dc),
- 151: uint32(0x6a734d9a),
- 152: uint32(0x16ec3dbb),
- 153: uint32(0x738b06fd),
- 154: uint32(0xdc224b37),
- 155: uint32(0xb9457071),
- 156: uint32(0x5801d6e2),
- 157: uint32(0x3d66eda4),
- 158: uint32(0x92cfa06e),
- 159: uint32(0xf7a89b28),
- 160: uint32(0x710d1027),
- 161: uint32(0x146a2b61),
- 162: uint32(0xbbc366ab),
- 163: uint32(0xdea45ded),
- 164: uint32(0x3fe0fb7e),
- 165: uint32(0x5a87c038),
- 166: uint32(0xf52e8df2),
- 167: uint32(0x9049b6b4),
- 168: uint32(0xecd6c695),
- 169: uint32(0x89b1fdd3),
- 170: uint32(0x2618b019),
- 171: uint32(0x437f8b5f),
- 172: uint32(0xa23b2dcc),
- 173: uint32(0xc75c168a),
- 174: uint32(0x68f55b40),
- 175: uint32(0x0d926006),
- 176: uint32(0x91cbbb02),
- 177: uint32(0xf4ac8044),
- 178: uint32(0x5b05cd8e),
- 179: uint32(0x3e62f6c8),
- 180: uint32(0xdf26505b),
- 181: uint32(0xba416b1d),
- 182: uint32(0x15e826d7),
- 183: uint32(0x708f1d91),
- 184: uint32(0x0c106db0),
- 185: uint32(0x697756f6),
- 186: uint32(0xc6de1b3c),
- 187: uint32(0xa3b9207a),
- 188: uint32(0x42fd86e9),
- 189: uint32(0x279abdaf),
- 190: uint32(0x8833f065),
- 191: uint32(0xed54cb23),
- 192: uint32(0x5e09e03a),
- 193: uint32(0x3b6edb7c),
- 194: uint32(0x94c796b6),
- 195: uint32(0xf1a0adf0),
- 196: uint32(0x10e40b63),
- 197: uint32(0x75833025),
- 198: uint32(0xda2a7def),
- 199: uint32(0xbf4d46a9),
- 200: uint32(0xc3d23688),
- 201: uint32(0xa6b50dce),
- 202: uint32(0x091c4004),
- 203: uint32(0x6c7b7b42),
- 204: uint32(0x8d3fddd1),
- 205: uint32(0xe858e697),
- 206: uint32(0x47f1ab5d),
- 207: uint32(0x2296901b),
- 208: uint32(0xbecf4b1f),
- 209: uint32(0xdba87059),
- 210: uint32(0x74013d93),
- 211: uint32(0x116606d5),
- 212: uint32(0xf022a046),
- 213: uint32(0x95459b00),
- 214: uint32(0x3aecd6ca),
- 215: uint32(0x5f8bed8c),
- 216: uint32(0x23149dad),
- 217: uint32(0x4673a6eb),
- 218: uint32(0xe9daeb21),
- 219: uint32(0x8cbdd067),
- 220: uint32(0x6df976f4),
- 221: uint32(0x089e4db2),
- 222: uint32(0xa7370078),
- 223: uint32(0xc2503b3e),
- 224: uint32(0x44f5b031),
- 225: uint32(0x21928b77),
- 226: uint32(0x8e3bc6bd),
- 227: uint32(0xeb5cfdfb),
- 228: uint32(0x0a185b68),
- 229: uint32(0x6f7f602e),
- 230: uint32(0xc0d62de4),
- 231: uint32(0xa5b116a2),
- 232: uint32(0xd92e6683),
- 233: uint32(0xbc495dc5),
- 234: uint32(0x13e0100f),
- 235: uint32(0x76872b49),
- 236: uint32(0x97c38dda),
- 237: uint32(0xf2a4b69c),
- 238: uint32(0x5d0dfb56),
- 239: uint32(0x386ac010),
- 240: uint32(0xa4331b14),
- 241: uint32(0xc1542052),
- 242: uint32(0x6efd6d98),
- 243: uint32(0x0b9a56de),
- 244: uint32(0xeadef04d),
- 245: uint32(0x8fb9cb0b),
- 246: uint32(0x201086c1),
- 247: uint32(0x4577bd87),
- 248: uint32(0x39e8cda6),
- 249: uint32(0x5c8ff6e0),
- 250: uint32(0xf326bb2a),
- 251: uint32(0x9641806c),
- 252: uint32(0x770526ff),
- 253: uint32(0x12621db9),
- 254: uint32(0xbdcb5073),
- 255: uint32(0xd8ac6b35),
- },
- 1: {
- 1: uint32(0xd7e28058),
- 2: uint32(0x74b406f1),
- 3: uint32(0xa35686a9),
- 4: uint32(0xe9680de2),
- 5: uint32(0x3e8a8dba),
- 6: uint32(0x9ddc0b13),
- 7: uint32(0x4a3e8b4b),
- 8: uint32(0x09a11d85),
- 9: uint32(0xde439ddd),
- 10: uint32(0x7d151b74),
- 11: uint32(0xaaf79b2c),
- 12: uint32(0xe0c91067),
- 13: uint32(0x372b903f),
- 14: uint32(0x947d1696),
- 15: uint32(0x439f96ce),
- 16: uint32(0x13423b0a),
- 17: uint32(0xc4a0bb52),
- 18: uint32(0x67f63dfb),
- 19: uint32(0xb014bda3),
- 20: uint32(0xfa2a36e8),
- 21: uint32(0x2dc8b6b0),
- 22: uint32(0x8e9e3019),
- 23: uint32(0x597cb041),
- 24: uint32(0x1ae3268f),
- 25: uint32(0xcd01a6d7),
- 26: uint32(0x6e57207e),
- 27: uint32(0xb9b5a026),
- 28: uint32(0xf38b2b6d),
- 29: uint32(0x2469ab35),
- 30: uint32(0x873f2d9c),
- 31: uint32(0x50ddadc4),
- 32: uint32(0x26847614),
- 33: uint32(0xf166f64c),
- 34: uint32(0x523070e5),
- 35: uint32(0x85d2f0bd),
- 36: uint32(0xcfec7bf6),
- 37: uint32(0x180efbae),
- 38: uint32(0xbb587d07),
- 39: uint32(0x6cbafd5f),
- 40: uint32(0x2f256b91),
- 41: uint32(0xf8c7ebc9),
- 42: uint32(0x5b916d60),
- 43: uint32(0x8c73ed38),
- 44: uint32(0xc64d6673),
- 45: uint32(0x11afe62b),
- 46: uint32(0xb2f96082),
- 47: uint32(0x651be0da),
- 48: uint32(0x35c64d1e),
- 49: uint32(0xe224cd46),
- 50: uint32(0x41724bef),
- 51: uint32(0x9690cbb7),
- 52: uint32(0xdcae40fc),
- 53: uint32(0x0b4cc0a4),
- 54: uint32(0xa81a460d),
- 55: uint32(0x7ff8c655),
- 56: uint32(0x3c67509b),
- 57: uint32(0xeb85d0c3),
- 58: uint32(0x48d3566a),
- 59: uint32(0x9f31d632),
- 60: uint32(0xd50f5d79),
- 61: uint32(0x02eddd21),
- 62: uint32(0xa1bb5b88),
- 63: uint32(0x7659dbd0),
- 64: uint32(0x4d08ec28),
- 65: uint32(0x9aea6c70),
- 66: uint32(0x39bcead9),
- 67: uint32(0xee5e6a81),
- 68: uint32(0xa460e1ca),
- 69: uint32(0x73826192),
- 70: uint32(0xd0d4e73b),
- 71: uint32(0x07366763),
- 72: uint32(0x44a9f1ad),
- 73: uint32(0x934b71f5),
- 74: uint32(0x301df75c),
- 75: uint32(0xe7ff7704),
- 76: uint32(0xadc1fc4f),
- 77: uint32(0x7a237c17),
- 78: uint32(0xd975fabe),
- 79: uint32(0x0e977ae6),
- 80: uint32(0x5e4ad722),
- 81: uint32(0x89a8577a),
- 82: uint32(0x2afed1d3),
- 83: uint32(0xfd1c518b),
- 84: uint32(0xb722dac0),
- 85: uint32(0x60c05a98),
- 86: uint32(0xc396dc31),
- 87: uint32(0x14745c69),
- 88: uint32(0x57ebcaa7),
- 89: uint32(0x80094aff),
- 90: uint32(0x235fcc56),
- 91: uint32(0xf4bd4c0e),
- 92: uint32(0xbe83c745),
- 93: uint32(0x6961471d),
- 94: uint32(0xca37c1b4),
- 95: uint32(0x1dd541ec),
- 96: uint32(0x6b8c9a3c),
- 97: uint32(0xbc6e1a64),
- 98: uint32(0x1f389ccd),
- 99: uint32(0xc8da1c95),
- 100: uint32(0x82e497de),
- 101: uint32(0x55061786),
- 102: uint32(0xf650912f),
- 103: uint32(0x21b21177),
- 104: uint32(0x622d87b9),
- 105: uint32(0xb5cf07e1),
- 106: uint32(0x16998148),
- 107: uint32(0xc17b0110),
- 108: uint32(0x8b458a5b),
- 109: uint32(0x5ca70a03),
- 110: uint32(0xfff18caa),
- 111: uint32(0x28130cf2),
- 112: uint32(0x78cea136),
- 113: uint32(0xaf2c216e),
- 114: uint32(0x0c7aa7c7),
- 115: uint32(0xdb98279f),
- 116: uint32(0x91a6acd4),
- 117: uint32(0x46442c8c),
- 118: uint32(0xe512aa25),
- 119: uint32(0x32f02a7d),
- 120: uint32(0x716fbcb3),
- 121: uint32(0xa68d3ceb),
- 122: uint32(0x05dbba42),
- 123: uint32(0xd2393a1a),
- 124: uint32(0x9807b151),
- 125: uint32(0x4fe53109),
- 126: uint32(0xecb3b7a0),
- 127: uint32(0x3b5137f8),
- 128: uint32(0x9a11d850),
- 129: uint32(0x4df35808),
- 130: uint32(0xeea5dea1),
- 131: uint32(0x39475ef9),
- 132: uint32(0x7379d5b2),
- 133: uint32(0xa49b55ea),
- 134: uint32(0x07cdd343),
- 135: uint32(0xd02f531b),
- 136: uint32(0x93b0c5d5),
- 137: uint32(0x4452458d),
- 138: uint32(0xe704c324),
- 139: uint32(0x30e6437c),
- 140: uint32(0x7ad8c837),
- 141: uint32(0xad3a486f),
- 142: uint32(0x0e6ccec6),
- 143: uint32(0xd98e4e9e),
- 144: uint32(0x8953e35a),
- 145: uint32(0x5eb16302),
- 146: uint32(0xfde7e5ab),
- 147: uint32(0x2a0565f3),
- 148: uint32(0x603beeb8),
- 149: uint32(0xb7d96ee0),
- 150: uint32(0x148fe849),
- 151: uint32(0xc36d6811),
- 152: uint32(0x80f2fedf),
- 153: uint32(0x57107e87),
- 154: uint32(0xf446f82e),
- 155: uint32(0x23a47876),
- 156: uint32(0x699af33d),
- 157: uint32(0xbe787365),
- 158: uint32(0x1d2ef5cc),
- 159: uint32(0xcacc7594),
- 160: uint32(0xbc95ae44),
- 161: uint32(0x6b772e1c),
- 162: uint32(0xc821a8b5),
- 163: uint32(0x1fc328ed),
- 164: uint32(0x55fda3a6),
- 165: uint32(0x821f23fe),
- 166: uint32(0x2149a557),
- 167: uint32(0xf6ab250f),
- 168: uint32(0xb534b3c1),
- 169: uint32(0x62d63399),
- 170: uint32(0xc180b530),
- 171: uint32(0x16623568),
- 172: uint32(0x5c5cbe23),
- 173: uint32(0x8bbe3e7b),
- 174: uint32(0x28e8b8d2),
- 175: uint32(0xff0a388a),
- 176: uint32(0xafd7954e),
- 177: uint32(0x78351516),
- 178: uint32(0xdb6393bf),
- 179: uint32(0x0c8113e7),
- 180: uint32(0x46bf98ac),
- 181: uint32(0x915d18f4),
- 182: uint32(0x320b9e5d),
- 183: uint32(0xe5e91e05),
- 184: uint32(0xa67688cb),
- 185: uint32(0x71940893),
- 186: uint32(0xd2c28e3a),
- 187: uint32(0x05200e62),
- 188: uint32(0x4f1e8529),
- 189: uint32(0x98fc0571),
- 190: uint32(0x3baa83d8),
- 191: uint32(0xec480380),
- 192: uint32(0xd7193478),
- 193: uint32(0x00fbb420),
- 194: uint32(0xa3ad3289),
- 195: uint32(0x744fb2d1),
- 196: uint32(0x3e71399a),
- 197: uint32(0xe993b9c2),
- 198: uint32(0x4ac53f6b),
- 199: uint32(0x9d27bf33),
- 200: uint32(0xdeb829fd),
- 201: uint32(0x095aa9a5),
- 202: uint32(0xaa0c2f0c),
- 203: uint32(0x7deeaf54),
- 204: uint32(0x37d0241f),
- 205: uint32(0xe032a447),
- 206: uint32(0x436422ee),
- 207: uint32(0x9486a2b6),
- 208: uint32(0xc45b0f72),
- 209: uint32(0x13b98f2a),
- 210: uint32(0xb0ef0983),
- 211: uint32(0x670d89db),
- 212: uint32(0x2d330290),
- 213: uint32(0xfad182c8),
- 214: uint32(0x59870461),
- 215: uint32(0x8e658439),
- 216: uint32(0xcdfa12f7),
- 217: uint32(0x1a1892af),
- 218: uint32(0xb94e1406),
- 219: uint32(0x6eac945e),
- 220: uint32(0x24921f15),
- 221: uint32(0xf3709f4d),
- 222: uint32(0x502619e4),
- 223: uint32(0x87c499bc),
- 224: uint32(0xf19d426c),
- 225: uint32(0x267fc234),
- 226: uint32(0x8529449d),
- 227: uint32(0x52cbc4c5),
- 228: uint32(0x18f54f8e),
- 229: uint32(0xcf17cfd6),
- 230: uint32(0x6c41497f),
- 231: uint32(0xbba3c927),
- 232: uint32(0xf83c5fe9),
- 233: uint32(0x2fdedfb1),
- 234: uint32(0x8c885918),
- 235: uint32(0x5b6ad940),
- 236: uint32(0x1154520b),
- 237: uint32(0xc6b6d253),
- 238: uint32(0x65e054fa),
- 239: uint32(0xb202d4a2),
- 240: uint32(0xe2df7966),
- 241: uint32(0x353df93e),
- 242: uint32(0x966b7f97),
- 243: uint32(0x4189ffcf),
- 244: uint32(0x0bb77484),
- 245: uint32(0xdc55f4dc),
- 246: uint32(0x7f037275),
- 247: uint32(0xa8e1f22d),
- 248: uint32(0xeb7e64e3),
- 249: uint32(0x3c9ce4bb),
- 250: uint32(0x9fca6212),
- 251: uint32(0x4828e24a),
- 252: uint32(0x02166901),
- 253: uint32(0xd5f4e959),
- 254: uint32(0x76a26ff0),
- 255: uint32(0xa140efa8),
- },
- 2: {
- 1: uint32(0xef52b6e1),
- 2: uint32(0x05d46b83),
- 3: uint32(0xea86dd62),
- 4: uint32(0x0ba8d706),
- 5: uint32(0xe4fa61e7),
- 6: uint32(0x0e7cbc85),
- 7: uint32(0xe12e0a64),
- 8: uint32(0x1751ae0c),
- 9: uint32(0xf80318ed),
- 10: uint32(0x1285c58f),
- 11: uint32(0xfdd7736e),
- 12: uint32(0x1cf9790a),
- 13: uint32(0xf3abcfeb),
- 14: uint32(0x192d1289),
- 15: uint32(0xf67fa468),
- 16: uint32(0x2ea35c18),
- 17: uint32(0xc1f1eaf9),
- 18: uint32(0x2b77379b),
- 19: uint32(0xc425817a),
- 20: uint32(0x250b8b1e),
- 21: uint32(0xca593dff),
- 22: uint32(0x20dfe09d),
- 23: uint32(0xcf8d567c),
- 24: uint32(0x39f2f214),
- 25: uint32(0xd6a044f5),
- 26: uint32(0x3c269997),
- 27: uint32(0xd3742f76),
- 28: uint32(0x325a2512),
- 29: uint32(0xdd0893f3),
- 30: uint32(0x378e4e91),
- 31: uint32(0xd8dcf870),
- 32: uint32(0x5d46b830),
- 33: uint32(0xb2140ed1),
- 34: uint32(0x5892d3b3),
- 35: uint32(0xb7c06552),
- 36: uint32(0x56ee6f36),
- 37: uint32(0xb9bcd9d7),
- 38: uint32(0x533a04b5),
- 39: uint32(0xbc68b254),
- 40: uint32(0x4a17163c),
- 41: uint32(0xa545a0dd),
- 42: uint32(0x4fc37dbf),
- 43: uint32(0xa091cb5e),
- 44: uint32(0x41bfc13a),
- 45: uint32(0xaeed77db),
- 46: uint32(0x446baab9),
- 47: uint32(0xab391c58),
- 48: uint32(0x73e5e428),
- 49: uint32(0x9cb752c9),
- 50: uint32(0x76318fab),
- 51: uint32(0x9963394a),
- 52: uint32(0x784d332e),
- 53: uint32(0x971f85cf),
- 54: uint32(0x7d9958ad),
- 55: uint32(0x92cbee4c),
- 56: uint32(0x64b44a24),
- 57: uint32(0x8be6fcc5),
- 58: uint32(0x616021a7),
- 59: uint32(0x8e329746),
- 60: uint32(0x6f1c9d22),
- 61: uint32(0x804e2bc3),
- 62: uint32(0x6ac8f6a1),
- 63: uint32(0x859a4040),
- 64: uint32(0xba8d7060),
- 65: uint32(0x55dfc681),
- 66: uint32(0xbf591be3),
- 67: uint32(0x500bad02),
- 68: uint32(0xb125a766),
- 69: uint32(0x5e771187),
- 70: uint32(0xb4f1cce5),
- 71: uint32(0x5ba37a04),
- 72: uint32(0xaddcde6c),
- 73: uint32(0x428e688d),
- 74: uint32(0xa808b5ef),
- 75: uint32(0x475a030e),
- 76: uint32(0xa674096a),
- 77: uint32(0x4926bf8b),
- 78: uint32(0xa3a062e9),
- 79: uint32(0x4cf2d408),
- 80: uint32(0x942e2c78),
- 81: uint32(0x7b7c9a99),
- 82: uint32(0x91fa47fb),
- 83: uint32(0x7ea8f11a),
- 84: uint32(0x9f86fb7e),
- 85: uint32(0x70d44d9f),
- 86: uint32(0x9a5290fd),
- 87: uint32(0x7500261c),
- 88: uint32(0x837f8274),
- 89: uint32(0x6c2d3495),
- 90: uint32(0x86abe9f7),
- 91: uint32(0x69f95f16),
- 92: uint32(0x88d75572),
- 93: uint32(0x6785e393),
- 94: uint32(0x8d033ef1),
- 95: uint32(0x62518810),
- 96: uint32(0xe7cbc850),
- 97: uint32(0x08997eb1),
- 98: uint32(0xe21fa3d3),
- 99: uint32(0x0d4d1532),
- 100: uint32(0xec631f56),
- 101: uint32(0x0331a9b7),
- 102: uint32(0xe9b774d5),
- 103: uint32(0x06e5c234),
- 104: uint32(0xf09a665c),
- 105: uint32(0x1fc8d0bd),
- 106: uint32(0xf54e0ddf),
- 107: uint32(0x1a1cbb3e),
- 108: uint32(0xfb32b15a),
- 109: uint32(0x146007bb),
- 110: uint32(0xfee6dad9),
- 111: uint32(0x11b46c38),
- 112: uint32(0xc9689448),
- 113: uint32(0x263a22a9),
- 114: uint32(0xccbcffcb),
- 115: uint32(0x23ee492a),
- 116: uint32(0xc2c0434e),
- 117: uint32(0x2d92f5af),
- 118: uint32(0xc71428cd),
- 119: uint32(0x28469e2c),
- 120: uint32(0xde393a44),
- 121: uint32(0x316b8ca5),
- 122: uint32(0xdbed51c7),
- 123: uint32(0x34bfe726),
- 124: uint32(0xd591ed42),
- 125: uint32(0x3ac35ba3),
- 126: uint32(0xd04586c1),
- 127: uint32(0x3f173020),
- 128: uint32(0xae6be681),
- 129: uint32(0x41395060),
- 130: uint32(0xabbf8d02),
- 131: uint32(0x44ed3be3),
- 132: uint32(0xa5c33187),
- 133: uint32(0x4a918766),
- 134: uint32(0xa0175a04),
- 135: uint32(0x4f45ece5),
- 136: uint32(0xb93a488d),
- 137: uint32(0x5668fe6c),
- 138: uint32(0xbcee230e),
- 139: uint32(0x53bc95ef),
- 140: uint32(0xb2929f8b),
- 141: uint32(0x5dc0296a),
- 142: uint32(0xb746f408),
- 143: uint32(0x581442e9),
- 144: uint32(0x80c8ba99),
- 145: uint32(0x6f9a0c78),
- 146: uint32(0x851cd11a),
- 147: uint32(0x6a4e67fb),
- 148: uint32(0x8b606d9f),
- 149: uint32(0x6432db7e),
- 150: uint32(0x8eb4061c),
- 151: uint32(0x61e6b0fd),
- 152: uint32(0x97991495),
- 153: uint32(0x78cba274),
- 154: uint32(0x924d7f16),
- 155: uint32(0x7d1fc9f7),
- 156: uint32(0x9c31c393),
- 157: uint32(0x73637572),
- 158: uint32(0x99e5a810),
- 159: uint32(0x76b71ef1),
- 160: uint32(0xf32d5eb1),
- 161: uint32(0x1c7fe850),
- 162: uint32(0xf6f93532),
- 163: uint32(0x19ab83d3),
- 164: uint32(0xf88589b7),
- 165: uint32(0x17d73f56),
- 166: uint32(0xfd51e234),
- 167: uint32(0x120354d5),
- 168: uint32(0xe47cf0bd),
- 169: uint32(0x0b2e465c),
- 170: uint32(0xe1a89b3e),
- 171: uint32(0x0efa2ddf),
- 172: uint32(0xefd427bb),
- 173: uint32(0x0086915a),
- 174: uint32(0xea004c38),
- 175: uint32(0x0552fad9),
- 176: uint32(0xdd8e02a9),
- 177: uint32(0x32dcb448),
- 178: uint32(0xd85a692a),
- 179: uint32(0x3708dfcb),
- 180: uint32(0xd626d5af),
- 181: uint32(0x3974634e),
- 182: uint32(0xd3f2be2c),
- 183: uint32(0x3ca008cd),
- 184: uint32(0xcadfaca5),
- 185: uint32(0x258d1a44),
- 186: uint32(0xcf0bc726),
- 187: uint32(0x205971c7),
- 188: uint32(0xc1777ba3),
- 189: uint32(0x2e25cd42),
- 190: uint32(0xc4a31020),
- 191: uint32(0x2bf1a6c1),
- 192: uint32(0x14e696e1),
- 193: uint32(0xfbb42000),
- 194: uint32(0x1132fd62),
- 195: uint32(0xfe604b83),
- 196: uint32(0x1f4e41e7),
- 197: uint32(0xf01cf706),
- 198: uint32(0x1a9a2a64),
- 199: uint32(0xf5c89c85),
- 200: uint32(0x03b738ed),
- 201: uint32(0xece58e0c),
- 202: uint32(0x0663536e),
- 203: uint32(0xe931e58f),
- 204: uint32(0x081fefeb),
- 205: uint32(0xe74d590a),
- 206: uint32(0x0dcb8468),
- 207: uint32(0xe2993289),
- 208: uint32(0x3a45caf9),
- 209: uint32(0xd5177c18),
- 210: uint32(0x3f91a17a),
- 211: uint32(0xd0c3179b),
- 212: uint32(0x31ed1dff),
- 213: uint32(0xdebfab1e),
- 214: uint32(0x3439767c),
- 215: uint32(0xdb6bc09d),
- 216: uint32(0x2d1464f5),
- 217: uint32(0xc246d214),
- 218: uint32(0x28c00f76),
- 219: uint32(0xc792b997),
- 220: uint32(0x26bcb3f3),
- 221: uint32(0xc9ee0512),
- 222: uint32(0x2368d870),
- 223: uint32(0xcc3a6e91),
- 224: uint32(0x49a02ed1),
- 225: uint32(0xa6f29830),
- 226: uint32(0x4c744552),
- 227: uint32(0xa326f3b3),
- 228: uint32(0x4208f9d7),
- 229: uint32(0xad5a4f36),
- 230: uint32(0x47dc9254),
- 231: uint32(0xa88e24b5),
- 232: uint32(0x5ef180dd),
- 233: uint32(0xb1a3363c),
- 234: uint32(0x5b25eb5e),
- 235: uint32(0xb4775dbf),
- 236: uint32(0x555957db),
- 237: uint32(0xba0be13a),
- 238: uint32(0x508d3c58),
- 239: uint32(0xbfdf8ab9),
- 240: uint32(0x670372c9),
- 241: uint32(0x8851c428),
- 242: uint32(0x62d7194a),
- 243: uint32(0x8d85afab),
- 244: uint32(0x6caba5cf),
- 245: uint32(0x83f9132e),
- 246: uint32(0x697fce4c),
- 247: uint32(0x862d78ad),
- 248: uint32(0x7052dcc5),
- 249: uint32(0x9f006a24),
- 250: uint32(0x7586b746),
- 251: uint32(0x9ad401a7),
- 252: uint32(0x7bfa0bc3),
- 253: uint32(0x94a8bd22),
- 254: uint32(0x7e2e6040),
- 255: uint32(0x917cd6a1),
- },
- 3: {
- 1: uint32(0x87a6cb43),
- 2: uint32(0xd43c90c7),
- 3: uint32(0x539a5b84),
- 4: uint32(0x730827cf),
- 5: uint32(0xf4aeec8c),
- 6: uint32(0xa734b708),
- 7: uint32(0x20927c4b),
- 8: uint32(0xe6104f9e),
- 9: uint32(0x61b684dd),
- 10: uint32(0x322cdf59),
- 11: uint32(0xb58a141a),
- 12: uint32(0x95186851),
- 13: uint32(0x12bea312),
- 14: uint32(0x4124f896),
- 15: uint32(0xc68233d5),
- 16: uint32(0x1751997d),
- 17: uint32(0x90f7523e),
- 18: uint32(0xc36d09ba),
- 19: uint32(0x44cbc2f9),
- 20: uint32(0x6459beb2),
- 21: uint32(0xe3ff75f1),
- 22: uint32(0xb0652e75),
- 23: uint32(0x37c3e536),
- 24: uint32(0xf141d6e3),
- 25: uint32(0x76e71da0),
- 26: uint32(0x257d4624),
- 27: uint32(0xa2db8d67),
- 28: uint32(0x8249f12c),
- 29: uint32(0x05ef3a6f),
- 30: uint32(0x567561eb),
- 31: uint32(0xd1d3aaa8),
- 32: uint32(0x2ea332fa),
- 33: uint32(0xa905f9b9),
- 34: uint32(0xfa9fa23d),
- 35: uint32(0x7d39697e),
- 36: uint32(0x5dab1535),
- 37: uint32(0xda0dde76),
- 38: uint32(0x899785f2),
- 39: uint32(0x0e314eb1),
- 40: uint32(0xc8b37d64),
- 41: uint32(0x4f15b627),
- 42: uint32(0x1c8feda3),
- 43: uint32(0x9b2926e0),
- 44: uint32(0xbbbb5aab),
- 45: uint32(0x3c1d91e8),
- 46: uint32(0x6f87ca6c),
- 47: uint32(0xe821012f),
- 48: uint32(0x39f2ab87),
- 49: uint32(0xbe5460c4),
- 50: uint32(0xedce3b40),
- 51: uint32(0x6a68f003),
- 52: uint32(0x4afa8c48),
- 53: uint32(0xcd5c470b),
- 54: uint32(0x9ec61c8f),
- 55: uint32(0x1960d7cc),
- 56: uint32(0xdfe2e419),
- 57: uint32(0x58442f5a),
- 58: uint32(0x0bde74de),
- 59: uint32(0x8c78bf9d),
- 60: uint32(0xaceac3d6),
- 61: uint32(0x2b4c0895),
- 62: uint32(0x78d65311),
- 63: uint32(0xff709852),
- 64: uint32(0x5d4665f4),
- 65: uint32(0xdae0aeb7),
- 66: uint32(0x897af533),
- 67: uint32(0x0edc3e70),
- 68: uint32(0x2e4e423b),
- 69: uint32(0xa9e88978),
- 70: uint32(0xfa72d2fc),
- 71: uint32(0x7dd419bf),
- 72: uint32(0xbb562a6a),
- 73: uint32(0x3cf0e129),
- 74: uint32(0x6f6abaad),
- 75: uint32(0xe8cc71ee),
- 76: uint32(0xc85e0da5),
- 77: uint32(0x4ff8c6e6),
- 78: uint32(0x1c629d62),
- 79: uint32(0x9bc45621),
- 80: uint32(0x4a17fc89),
- 81: uint32(0xcdb137ca),
- 82: uint32(0x9e2b6c4e),
- 83: uint32(0x198da70d),
- 84: uint32(0x391fdb46),
- 85: uint32(0xbeb91005),
- 86: uint32(0xed234b81),
- 87: uint32(0x6a8580c2),
- 88: uint32(0xac07b317),
- 89: uint32(0x2ba17854),
- 90: uint32(0x783b23d0),
- 91: uint32(0xff9de893),
- 92: uint32(0xdf0f94d8),
- 93: uint32(0x58a95f9b),
- 94: uint32(0x0b33041f),
- 95: uint32(0x8c95cf5c),
- 96: uint32(0x73e5570e),
- 97: uint32(0xf4439c4d),
- 98: uint32(0xa7d9c7c9),
- 99: uint32(0x207f0c8a),
- 100: uint32(0x00ed70c1),
- 101: uint32(0x874bbb82),
- 102: uint32(0xd4d1e006),
- 103: uint32(0x53772b45),
- 104: uint32(0x95f51890),
- 105: uint32(0x1253d3d3),
- 106: uint32(0x41c98857),
- 107: uint32(0xc66f4314),
- 108: uint32(0xe6fd3f5f),
- 109: uint32(0x615bf41c),
- 110: uint32(0x32c1af98),
- 111: uint32(0xb56764db),
- 112: uint32(0x64b4ce73),
- 113: uint32(0xe3120530),
- 114: uint32(0xb0885eb4),
- 115: uint32(0x372e95f7),
- 116: uint32(0x17bce9bc),
- 117: uint32(0x901a22ff),
- 118: uint32(0xc380797b),
- 119: uint32(0x4426b238),
- 120: uint32(0x82a481ed),
- 121: uint32(0x05024aae),
- 122: uint32(0x5698112a),
- 123: uint32(0xd13eda69),
- 124: uint32(0xf1aca622),
- 125: uint32(0x760a6d61),
- 126: uint32(0x259036e5),
- 127: uint32(0xa236fda6),
- 128: uint32(0xba8ccbe8),
- 129: uint32(0x3d2a00ab),
- 130: uint32(0x6eb05b2f),
- 131: uint32(0xe916906c),
- 132: uint32(0xc984ec27),
- 133: uint32(0x4e222764),
- 134: uint32(0x1db87ce0),
- 135: uint32(0x9a1eb7a3),
- 136: uint32(0x5c9c8476),
- 137: uint32(0xdb3a4f35),
- 138: uint32(0x88a014b1),
- 139: uint32(0x0f06dff2),
- 140: uint32(0x2f94a3b9),
- 141: uint32(0xa83268fa),
- 142: uint32(0xfba8337e),
- 143: uint32(0x7c0ef83d),
- 144: uint32(0xaddd5295),
- 145: uint32(0x2a7b99d6),
- 146: uint32(0x79e1c252),
- 147: uint32(0xfe470911),
- 148: uint32(0xded5755a),
- 149: uint32(0x5973be19),
- 150: uint32(0x0ae9e59d),
- 151: uint32(0x8d4f2ede),
- 152: uint32(0x4bcd1d0b),
- 153: uint32(0xcc6bd648),
- 154: uint32(0x9ff18dcc),
- 155: uint32(0x1857468f),
- 156: uint32(0x38c53ac4),
- 157: uint32(0xbf63f187),
- 158: uint32(0xecf9aa03),
- 159: uint32(0x6b5f6140),
- 160: uint32(0x942ff912),
- 161: uint32(0x13893251),
- 162: uint32(0x401369d5),
- 163: uint32(0xc7b5a296),
- 164: uint32(0xe727dedd),
- 165: uint32(0x6081159e),
- 166: uint32(0x331b4e1a),
- 167: uint32(0xb4bd8559),
- 168: uint32(0x723fb68c),
- 169: uint32(0xf5997dcf),
- 170: uint32(0xa603264b),
- 171: uint32(0x21a5ed08),
- 172: uint32(0x01379143),
- 173: uint32(0x86915a00),
- 174: uint32(0xd50b0184),
- 175: uint32(0x52adcac7),
- 176: uint32(0x837e606f),
- 177: uint32(0x04d8ab2c),
- 178: uint32(0x5742f0a8),
- 179: uint32(0xd0e43beb),
- 180: uint32(0xf07647a0),
- 181: uint32(0x77d08ce3),
- 182: uint32(0x244ad767),
- 183: uint32(0xa3ec1c24),
- 184: uint32(0x656e2ff1),
- 185: uint32(0xe2c8e4b2),
- 186: uint32(0xb152bf36),
- 187: uint32(0x36f47475),
- 188: uint32(0x1666083e),
- 189: uint32(0x91c0c37d),
- 190: uint32(0xc25a98f9),
- 191: uint32(0x45fc53ba),
- 192: uint32(0xe7caae1c),
- 193: uint32(0x606c655f),
- 194: uint32(0x33f63edb),
- 195: uint32(0xb450f598),
- 196: uint32(0x94c289d3),
- 197: uint32(0x13644290),
- 198: uint32(0x40fe1914),
- 199: uint32(0xc758d257),
- 200: uint32(0x01dae182),
- 201: uint32(0x867c2ac1),
- 202: uint32(0xd5e67145),
- 203: uint32(0x5240ba06),
- 204: uint32(0x72d2c64d),
- 205: uint32(0xf5740d0e),
- 206: uint32(0xa6ee568a),
- 207: uint32(0x21489dc9),
- 208: uint32(0xf09b3761),
- 209: uint32(0x773dfc22),
- 210: uint32(0x24a7a7a6),
- 211: uint32(0xa3016ce5),
- 212: uint32(0x839310ae),
- 213: uint32(0x0435dbed),
- 214: uint32(0x57af8069),
- 215: uint32(0xd0094b2a),
- 216: uint32(0x168b78ff),
- 217: uint32(0x912db3bc),
- 218: uint32(0xc2b7e838),
- 219: uint32(0x4511237b),
- 220: uint32(0x65835f30),
- 221: uint32(0xe2259473),
- 222: uint32(0xb1bfcff7),
- 223: uint32(0x361904b4),
- 224: uint32(0xc9699ce6),
- 225: uint32(0x4ecf57a5),
- 226: uint32(0x1d550c21),
- 227: uint32(0x9af3c762),
- 228: uint32(0xba61bb29),
- 229: uint32(0x3dc7706a),
- 230: uint32(0x6e5d2bee),
- 231: uint32(0xe9fbe0ad),
- 232: uint32(0x2f79d378),
- 233: uint32(0xa8df183b),
- 234: uint32(0xfb4543bf),
- 235: uint32(0x7ce388fc),
- 236: uint32(0x5c71f4b7),
- 237: uint32(0xdbd73ff4),
- 238: uint32(0x884d6470),
- 239: uint32(0x0febaf33),
- 240: uint32(0xde38059b),
- 241: uint32(0x599eced8),
- 242: uint32(0x0a04955c),
- 243: uint32(0x8da25e1f),
- 244: uint32(0xad302254),
- 245: uint32(0x2a96e917),
- 246: uint32(0x790cb293),
- 247: uint32(0xfeaa79d0),
- 248: uint32(0x38284a05),
- 249: uint32(0xbf8e8146),
- 250: uint32(0xec14dac2),
- 251: uint32(0x6bb21181),
- 252: uint32(0x4b206dca),
- 253: uint32(0xcc86a689),
- 254: uint32(0x9f1cfd0d),
- 255: uint32(0x18ba364e),
- },
- }
- var _crc_braid_big_table = [4][256]Tz_word_t{
- 0: {
- 1: uint32(0x43cba687),
- 2: uint32(0xc7903cd4),
- 3: uint32(0x845b9a53),
- 4: uint32(0xcf270873),
- 5: uint32(0x8cecaef4),
- 6: uint32(0x08b734a7),
- 7: uint32(0x4b7c9220),
- 8: uint32(0x9e4f10e6),
- 9: uint32(0xdd84b661),
- 10: uint32(0x59df2c32),
- 11: uint32(0x1a148ab5),
- 12: uint32(0x51681895),
- 13: uint32(0x12a3be12),
- 14: uint32(0x96f82441),
- 15: uint32(0xd53382c6),
- 16: uint32(0x7d995117),
- 17: uint32(0x3e52f790),
- 18: uint32(0xba096dc3),
- 19: uint32(0xf9c2cb44),
- 20: uint32(0xb2be5964),
- 21: uint32(0xf175ffe3),
- 22: uint32(0x752e65b0),
- 23: uint32(0x36e5c337),
- 24: uint32(0xe3d641f1),
- 25: uint32(0xa01de776),
- 26: uint32(0x24467d25),
- 27: uint32(0x678ddba2),
- 28: uint32(0x2cf14982),
- 29: uint32(0x6f3aef05),
- 30: uint32(0xeb617556),
- 31: uint32(0xa8aad3d1),
- 32: uint32(0xfa32a32e),
- 33: uint32(0xb9f905a9),
- 34: uint32(0x3da29ffa),
- 35: uint32(0x7e69397d),
- 36: uint32(0x3515ab5d),
- 37: uint32(0x76de0dda),
- 38: uint32(0xf2859789),
- 39: uint32(0xb14e310e),
- 40: uint32(0x647db3c8),
- 41: uint32(0x27b6154f),
- 42: uint32(0xa3ed8f1c),
- 43: uint32(0xe026299b),
- 44: uint32(0xab5abbbb),
- 45: uint32(0xe8911d3c),
- 46: uint32(0x6cca876f),
- 47: uint32(0x2f0121e8),
- 48: uint32(0x87abf239),
- 49: uint32(0xc46054be),
- 50: uint32(0x403bceed),
- 51: uint32(0x03f0686a),
- 52: uint32(0x488cfa4a),
- 53: uint32(0x0b475ccd),
- 54: uint32(0x8f1cc69e),
- 55: uint32(0xccd76019),
- 56: uint32(0x19e4e2df),
- 57: uint32(0x5a2f4458),
- 58: uint32(0xde74de0b),
- 59: uint32(0x9dbf788c),
- 60: uint32(0xd6c3eaac),
- 61: uint32(0x95084c2b),
- 62: uint32(0x1153d678),
- 63: uint32(0x529870ff),
- 64: uint32(0xf465465d),
- 65: uint32(0xb7aee0da),
- 66: uint32(0x33f57a89),
- 67: uint32(0x703edc0e),
- 68: uint32(0x3b424e2e),
- 69: uint32(0x7889e8a9),
- 70: uint32(0xfcd272fa),
- 71: uint32(0xbf19d47d),
- 72: uint32(0x6a2a56bb),
- 73: uint32(0x29e1f03c),
- 74: uint32(0xadba6a6f),
- 75: uint32(0xee71cce8),
- 76: uint32(0xa50d5ec8),
- 77: uint32(0xe6c6f84f),
- 78: uint32(0x629d621c),
- 79: uint32(0x2156c49b),
- 80: uint32(0x89fc174a),
- 81: uint32(0xca37b1cd),
- 82: uint32(0x4e6c2b9e),
- 83: uint32(0x0da78d19),
- 84: uint32(0x46db1f39),
- 85: uint32(0x0510b9be),
- 86: uint32(0x814b23ed),
- 87: uint32(0xc280856a),
- 88: uint32(0x17b307ac),
- 89: uint32(0x5478a12b),
- 90: uint32(0xd0233b78),
- 91: uint32(0x93e89dff),
- 92: uint32(0xd8940fdf),
- 93: uint32(0x9b5fa958),
- 94: uint32(0x1f04330b),
- 95: uint32(0x5ccf958c),
- 96: uint32(0x0e57e573),
- 97: uint32(0x4d9c43f4),
- 98: uint32(0xc9c7d9a7),
- 99: uint32(0x8a0c7f20),
- 100: uint32(0xc170ed00),
- 101: uint32(0x82bb4b87),
- 102: uint32(0x06e0d1d4),
- 103: uint32(0x452b7753),
- 104: uint32(0x9018f595),
- 105: uint32(0xd3d35312),
- 106: uint32(0x5788c941),
- 107: uint32(0x14436fc6),
- 108: uint32(0x5f3ffde6),
- 109: uint32(0x1cf45b61),
- 110: uint32(0x98afc132),
- 111: uint32(0xdb6467b5),
- 112: uint32(0x73ceb464),
- 113: uint32(0x300512e3),
- 114: uint32(0xb45e88b0),
- 115: uint32(0xf7952e37),
- 116: uint32(0xbce9bc17),
- 117: uint32(0xff221a90),
- 118: uint32(0x7b7980c3),
- 119: uint32(0x38b22644),
- 120: uint32(0xed81a482),
- 121: uint32(0xae4a0205),
- 122: uint32(0x2a119856),
- 123: uint32(0x69da3ed1),
- 124: uint32(0x22a6acf1),
- 125: uint32(0x616d0a76),
- 126: uint32(0xe5369025),
- 127: uint32(0xa6fd36a2),
- 128: uint32(0xe8cb8cba),
- 129: uint32(0xab002a3d),
- 130: uint32(0x2f5bb06e),
- 131: uint32(0x6c9016e9),
- 132: uint32(0x27ec84c9),
- 133: uint32(0x6427224e),
- 134: uint32(0xe07cb81d),
- 135: uint32(0xa3b71e9a),
- 136: uint32(0x76849c5c),
- 137: uint32(0x354f3adb),
- 138: uint32(0xb114a088),
- 139: uint32(0xf2df060f),
- 140: uint32(0xb9a3942f),
- 141: uint32(0xfa6832a8),
- 142: uint32(0x7e33a8fb),
- 143: uint32(0x3df80e7c),
- 144: uint32(0x9552ddad),
- 145: uint32(0xd6997b2a),
- 146: uint32(0x52c2e179),
- 147: uint32(0x110947fe),
- 148: uint32(0x5a75d5de),
- 149: uint32(0x19be7359),
- 150: uint32(0x9de5e90a),
- 151: uint32(0xde2e4f8d),
- 152: uint32(0x0b1dcd4b),
- 153: uint32(0x48d66bcc),
- 154: uint32(0xcc8df19f),
- 155: uint32(0x8f465718),
- 156: uint32(0xc43ac538),
- 157: uint32(0x87f163bf),
- 158: uint32(0x03aaf9ec),
- 159: uint32(0x40615f6b),
- 160: uint32(0x12f92f94),
- 161: uint32(0x51328913),
- 162: uint32(0xd5691340),
- 163: uint32(0x96a2b5c7),
- 164: uint32(0xddde27e7),
- 165: uint32(0x9e158160),
- 166: uint32(0x1a4e1b33),
- 167: uint32(0x5985bdb4),
- 168: uint32(0x8cb63f72),
- 169: uint32(0xcf7d99f5),
- 170: uint32(0x4b2603a6),
- 171: uint32(0x08eda521),
- 172: uint32(0x43913701),
- 173: uint32(0x005a9186),
- 174: uint32(0x84010bd5),
- 175: uint32(0xc7caad52),
- 176: uint32(0x6f607e83),
- 177: uint32(0x2cabd804),
- 178: uint32(0xa8f04257),
- 179: uint32(0xeb3be4d0),
- 180: uint32(0xa04776f0),
- 181: uint32(0xe38cd077),
- 182: uint32(0x67d74a24),
- 183: uint32(0x241ceca3),
- 184: uint32(0xf12f6e65),
- 185: uint32(0xb2e4c8e2),
- 186: uint32(0x36bf52b1),
- 187: uint32(0x7574f436),
- 188: uint32(0x3e086616),
- 189: uint32(0x7dc3c091),
- 190: uint32(0xf9985ac2),
- 191: uint32(0xba53fc45),
- 192: uint32(0x1caecae7),
- 193: uint32(0x5f656c60),
- 194: uint32(0xdb3ef633),
- 195: uint32(0x98f550b4),
- 196: uint32(0xd389c294),
- 197: uint32(0x90426413),
- 198: uint32(0x1419fe40),
- 199: uint32(0x57d258c7),
- 200: uint32(0x82e1da01),
- 201: uint32(0xc12a7c86),
- 202: uint32(0x4571e6d5),
- 203: uint32(0x06ba4052),
- 204: uint32(0x4dc6d272),
- 205: uint32(0x0e0d74f5),
- 206: uint32(0x8a56eea6),
- 207: uint32(0xc99d4821),
- 208: uint32(0x61379bf0),
- 209: uint32(0x22fc3d77),
- 210: uint32(0xa6a7a724),
- 211: uint32(0xe56c01a3),
- 212: uint32(0xae109383),
- 213: uint32(0xeddb3504),
- 214: uint32(0x6980af57),
- 215: uint32(0x2a4b09d0),
- 216: uint32(0xff788b16),
- 217: uint32(0xbcb32d91),
- 218: uint32(0x38e8b7c2),
- 219: uint32(0x7b231145),
- 220: uint32(0x305f8365),
- 221: uint32(0x739425e2),
- 222: uint32(0xf7cfbfb1),
- 223: uint32(0xb4041936),
- 224: uint32(0xe69c69c9),
- 225: uint32(0xa557cf4e),
- 226: uint32(0x210c551d),
- 227: uint32(0x62c7f39a),
- 228: uint32(0x29bb61ba),
- 229: uint32(0x6a70c73d),
- 230: uint32(0xee2b5d6e),
- 231: uint32(0xade0fbe9),
- 232: uint32(0x78d3792f),
- 233: uint32(0x3b18dfa8),
- 234: uint32(0xbf4345fb),
- 235: uint32(0xfc88e37c),
- 236: uint32(0xb7f4715c),
- 237: uint32(0xf43fd7db),
- 238: uint32(0x70644d88),
- 239: uint32(0x33afeb0f),
- 240: uint32(0x9b0538de),
- 241: uint32(0xd8ce9e59),
- 242: uint32(0x5c95040a),
- 243: uint32(0x1f5ea28d),
- 244: uint32(0x542230ad),
- 245: uint32(0x17e9962a),
- 246: uint32(0x93b20c79),
- 247: uint32(0xd079aafe),
- 248: uint32(0x054a2838),
- 249: uint32(0x46818ebf),
- 250: uint32(0xc2da14ec),
- 251: uint32(0x8111b26b),
- 252: uint32(0xca6d204b),
- 253: uint32(0x89a686cc),
- 254: uint32(0x0dfd1c9f),
- 255: uint32(0x4e36ba18),
- },
- 1: {
- 1: uint32(0xe1b652ef),
- 2: uint32(0x836bd405),
- 3: uint32(0x62dd86ea),
- 4: uint32(0x06d7a80b),
- 5: uint32(0xe761fae4),
- 6: uint32(0x85bc7c0e),
- 7: uint32(0x640a2ee1),
- 8: uint32(0x0cae5117),
- 9: uint32(0xed1803f8),
- 10: uint32(0x8fc58512),
- 11: uint32(0x6e73d7fd),
- 12: uint32(0x0a79f91c),
- 13: uint32(0xebcfabf3),
- 14: uint32(0x89122d19),
- 15: uint32(0x68a47ff6),
- 16: uint32(0x185ca32e),
- 17: uint32(0xf9eaf1c1),
- 18: uint32(0x9b37772b),
- 19: uint32(0x7a8125c4),
- 20: uint32(0x1e8b0b25),
- 21: uint32(0xff3d59ca),
- 22: uint32(0x9de0df20),
- 23: uint32(0x7c568dcf),
- 24: uint32(0x14f2f239),
- 25: uint32(0xf544a0d6),
- 26: uint32(0x9799263c),
- 27: uint32(0x762f74d3),
- 28: uint32(0x12255a32),
- 29: uint32(0xf39308dd),
- 30: uint32(0x914e8e37),
- 31: uint32(0x70f8dcd8),
- 32: uint32(0x30b8465d),
- 33: uint32(0xd10e14b2),
- 34: uint32(0xb3d39258),
- 35: uint32(0x5265c0b7),
- 36: uint32(0x366fee56),
- 37: uint32(0xd7d9bcb9),
- 38: uint32(0xb5043a53),
- 39: uint32(0x54b268bc),
- 40: uint32(0x3c16174a),
- 41: uint32(0xdda045a5),
- 42: uint32(0xbf7dc34f),
- 43: uint32(0x5ecb91a0),
- 44: uint32(0x3ac1bf41),
- 45: uint32(0xdb77edae),
- 46: uint32(0xb9aa6b44),
- 47: uint32(0x581c39ab),
- 48: uint32(0x28e4e573),
- 49: uint32(0xc952b79c),
- 50: uint32(0xab8f3176),
- 51: uint32(0x4a396399),
- 52: uint32(0x2e334d78),
- 53: uint32(0xcf851f97),
- 54: uint32(0xad58997d),
- 55: uint32(0x4ceecb92),
- 56: uint32(0x244ab464),
- 57: uint32(0xc5fce68b),
- 58: uint32(0xa7216061),
- 59: uint32(0x4697328e),
- 60: uint32(0x229d1c6f),
- 61: uint32(0xc32b4e80),
- 62: uint32(0xa1f6c86a),
- 63: uint32(0x40409a85),
- 64: uint32(0x60708dba),
- 65: uint32(0x81c6df55),
- 66: uint32(0xe31b59bf),
- 67: uint32(0x02ad0b50),
- 68: uint32(0x66a725b1),
- 69: uint32(0x8711775e),
- 70: uint32(0xe5ccf1b4),
- 71: uint32(0x047aa35b),
- 72: uint32(0x6cdedcad),
- 73: uint32(0x8d688e42),
- 74: uint32(0xefb508a8),
- 75: uint32(0x0e035a47),
- 76: uint32(0x6a0974a6),
- 77: uint32(0x8bbf2649),
- 78: uint32(0xe962a0a3),
- 79: uint32(0x08d4f24c),
- 80: uint32(0x782c2e94),
- 81: uint32(0x999a7c7b),
- 82: uint32(0xfb47fa91),
- 83: uint32(0x1af1a87e),
- 84: uint32(0x7efb869f),
- 85: uint32(0x9f4dd470),
- 86: uint32(0xfd90529a),
- 87: uint32(0x1c260075),
- 88: uint32(0x74827f83),
- 89: uint32(0x95342d6c),
- 90: uint32(0xf7e9ab86),
- 91: uint32(0x165ff969),
- 92: uint32(0x7255d788),
- 93: uint32(0x93e38567),
- 94: uint32(0xf13e038d),
- 95: uint32(0x10885162),
- 96: uint32(0x50c8cbe7),
- 97: uint32(0xb17e9908),
- 98: uint32(0xd3a31fe2),
- 99: uint32(0x32154d0d),
- 100: uint32(0x561f63ec),
- 101: uint32(0xb7a93103),
- 102: uint32(0xd574b7e9),
- 103: uint32(0x34c2e506),
- 104: uint32(0x5c669af0),
- 105: uint32(0xbdd0c81f),
- 106: uint32(0xdf0d4ef5),
- 107: uint32(0x3ebb1c1a),
- 108: uint32(0x5ab132fb),
- 109: uint32(0xbb076014),
- 110: uint32(0xd9dae6fe),
- 111: uint32(0x386cb411),
- 112: uint32(0x489468c9),
- 113: uint32(0xa9223a26),
- 114: uint32(0xcbffbccc),
- 115: uint32(0x2a49ee23),
- 116: uint32(0x4e43c0c2),
- 117: uint32(0xaff5922d),
- 118: uint32(0xcd2814c7),
- 119: uint32(0x2c9e4628),
- 120: uint32(0x443a39de),
- 121: uint32(0xa58c6b31),
- 122: uint32(0xc751eddb),
- 123: uint32(0x26e7bf34),
- 124: uint32(0x42ed91d5),
- 125: uint32(0xa35bc33a),
- 126: uint32(0xc18645d0),
- 127: uint32(0x2030173f),
- 128: uint32(0x81e66bae),
- 129: uint32(0x60503941),
- 130: uint32(0x028dbfab),
- 131: uint32(0xe33bed44),
- 132: uint32(0x8731c3a5),
- 133: uint32(0x6687914a),
- 134: uint32(0x045a17a0),
- 135: uint32(0xe5ec454f),
- 136: uint32(0x8d483ab9),
- 137: uint32(0x6cfe6856),
- 138: uint32(0x0e23eebc),
- 139: uint32(0xef95bc53),
- 140: uint32(0x8b9f92b2),
- 141: uint32(0x6a29c05d),
- 142: uint32(0x08f446b7),
- 143: uint32(0xe9421458),
- 144: uint32(0x99bac880),
- 145: uint32(0x780c9a6f),
- 146: uint32(0x1ad11c85),
- 147: uint32(0xfb674e6a),
- 148: uint32(0x9f6d608b),
- 149: uint32(0x7edb3264),
- 150: uint32(0x1c06b48e),
- 151: uint32(0xfdb0e661),
- 152: uint32(0x95149997),
- 153: uint32(0x74a2cb78),
- 154: uint32(0x167f4d92),
- 155: uint32(0xf7c91f7d),
- 156: uint32(0x93c3319c),
- 157: uint32(0x72756373),
- 158: uint32(0x10a8e599),
- 159: uint32(0xf11eb776),
- 160: uint32(0xb15e2df3),
- 161: uint32(0x50e87f1c),
- 162: uint32(0x3235f9f6),
- 163: uint32(0xd383ab19),
- 164: uint32(0xb78985f8),
- 165: uint32(0x563fd717),
- 166: uint32(0x34e251fd),
- 167: uint32(0xd5540312),
- 168: uint32(0xbdf07ce4),
- 169: uint32(0x5c462e0b),
- 170: uint32(0x3e9ba8e1),
- 171: uint32(0xdf2dfa0e),
- 172: uint32(0xbb27d4ef),
- 173: uint32(0x5a918600),
- 174: uint32(0x384c00ea),
- 175: uint32(0xd9fa5205),
- 176: uint32(0xa9028edd),
- 177: uint32(0x48b4dc32),
- 178: uint32(0x2a695ad8),
- 179: uint32(0xcbdf0837),
- 180: uint32(0xafd526d6),
- 181: uint32(0x4e637439),
- 182: uint32(0x2cbef2d3),
- 183: uint32(0xcd08a03c),
- 184: uint32(0xa5acdfca),
- 185: uint32(0x441a8d25),
- 186: uint32(0x26c70bcf),
- 187: uint32(0xc7715920),
- 188: uint32(0xa37b77c1),
- 189: uint32(0x42cd252e),
- 190: uint32(0x2010a3c4),
- 191: uint32(0xc1a6f12b),
- 192: uint32(0xe196e614),
- 193: uint32(0x0020b4fb),
- 194: uint32(0x62fd3211),
- 195: uint32(0x834b60fe),
- 196: uint32(0xe7414e1f),
- 197: uint32(0x06f71cf0),
- 198: uint32(0x642a9a1a),
- 199: uint32(0x859cc8f5),
- 200: uint32(0xed38b703),
- 201: uint32(0x0c8ee5ec),
- 202: uint32(0x6e536306),
- 203: uint32(0x8fe531e9),
- 204: uint32(0xebef1f08),
- 205: uint32(0x0a594de7),
- 206: uint32(0x6884cb0d),
- 207: uint32(0x893299e2),
- 208: uint32(0xf9ca453a),
- 209: uint32(0x187c17d5),
- 210: uint32(0x7aa1913f),
- 211: uint32(0x9b17c3d0),
- 212: uint32(0xff1ded31),
- 213: uint32(0x1eabbfde),
- 214: uint32(0x7c763934),
- 215: uint32(0x9dc06bdb),
- 216: uint32(0xf564142d),
- 217: uint32(0x14d246c2),
- 218: uint32(0x760fc028),
- 219: uint32(0x97b992c7),
- 220: uint32(0xf3b3bc26),
- 221: uint32(0x1205eec9),
- 222: uint32(0x70d86823),
- 223: uint32(0x916e3acc),
- 224: uint32(0xd12ea049),
- 225: uint32(0x3098f2a6),
- 226: uint32(0x5245744c),
- 227: uint32(0xb3f326a3),
- 228: uint32(0xd7f90842),
- 229: uint32(0x364f5aad),
- 230: uint32(0x5492dc47),
- 231: uint32(0xb5248ea8),
- 232: uint32(0xdd80f15e),
- 233: uint32(0x3c36a3b1),
- 234: uint32(0x5eeb255b),
- 235: uint32(0xbf5d77b4),
- 236: uint32(0xdb575955),
- 237: uint32(0x3ae10bba),
- 238: uint32(0x583c8d50),
- 239: uint32(0xb98adfbf),
- 240: uint32(0xc9720367),
- 241: uint32(0x28c45188),
- 242: uint32(0x4a19d762),
- 243: uint32(0xabaf858d),
- 244: uint32(0xcfa5ab6c),
- 245: uint32(0x2e13f983),
- 246: uint32(0x4cce7f69),
- 247: uint32(0xad782d86),
- 248: uint32(0xc5dc5270),
- 249: uint32(0x246a009f),
- 250: uint32(0x46b78675),
- 251: uint32(0xa701d49a),
- 252: uint32(0xc30bfa7b),
- 253: uint32(0x22bda894),
- 254: uint32(0x40602e7e),
- 255: uint32(0xa1d67c91),
- },
- 2: {
- 1: uint32(0x5880e2d7),
- 2: uint32(0xf106b474),
- 3: uint32(0xa98656a3),
- 4: uint32(0xe20d68e9),
- 5: uint32(0xba8d8a3e),
- 6: uint32(0x130bdc9d),
- 7: uint32(0x4b8b3e4a),
- 8: uint32(0x851da109),
- 9: uint32(0xdd9d43de),
- 10: uint32(0x741b157d),
- 11: uint32(0x2c9bf7aa),
- 12: uint32(0x6710c9e0),
- 13: uint32(0x3f902b37),
- 14: uint32(0x96167d94),
- 15: uint32(0xce969f43),
- 16: uint32(0x0a3b4213),
- 17: uint32(0x52bba0c4),
- 18: uint32(0xfb3df667),
- 19: uint32(0xa3bd14b0),
- 20: uint32(0xe8362afa),
- 21: uint32(0xb0b6c82d),
- 22: uint32(0x19309e8e),
- 23: uint32(0x41b07c59),
- 24: uint32(0x8f26e31a),
- 25: uint32(0xd7a601cd),
- 26: uint32(0x7e20576e),
- 27: uint32(0x26a0b5b9),
- 28: uint32(0x6d2b8bf3),
- 29: uint32(0x35ab6924),
- 30: uint32(0x9c2d3f87),
- 31: uint32(0xc4addd50),
- 32: uint32(0x14768426),
- 33: uint32(0x4cf666f1),
- 34: uint32(0xe5703052),
- 35: uint32(0xbdf0d285),
- 36: uint32(0xf67beccf),
- 37: uint32(0xaefb0e18),
- 38: uint32(0x077d58bb),
- 39: uint32(0x5ffdba6c),
- 40: uint32(0x916b252f),
- 41: uint32(0xc9ebc7f8),
- 42: uint32(0x606d915b),
- 43: uint32(0x38ed738c),
- 44: uint32(0x73664dc6),
- 45: uint32(0x2be6af11),
- 46: uint32(0x8260f9b2),
- 47: uint32(0xdae01b65),
- 48: uint32(0x1e4dc635),
- 49: uint32(0x46cd24e2),
- 50: uint32(0xef4b7241),
- 51: uint32(0xb7cb9096),
- 52: uint32(0xfc40aedc),
- 53: uint32(0xa4c04c0b),
- 54: uint32(0x0d461aa8),
- 55: uint32(0x55c6f87f),
- 56: uint32(0x9b50673c),
- 57: uint32(0xc3d085eb),
- 58: uint32(0x6a56d348),
- 59: uint32(0x32d6319f),
- 60: uint32(0x795d0fd5),
- 61: uint32(0x21dded02),
- 62: uint32(0x885bbba1),
- 63: uint32(0xd0db5976),
- 64: uint32(0x28ec084d),
- 65: uint32(0x706cea9a),
- 66: uint32(0xd9eabc39),
- 67: uint32(0x816a5eee),
- 68: uint32(0xcae160a4),
- 69: uint32(0x92618273),
- 70: uint32(0x3be7d4d0),
- 71: uint32(0x63673607),
- 72: uint32(0xadf1a944),
- 73: uint32(0xf5714b93),
- 74: uint32(0x5cf71d30),
- 75: uint32(0x0477ffe7),
- 76: uint32(0x4ffcc1ad),
- 77: uint32(0x177c237a),
- 78: uint32(0xbefa75d9),
- 79: uint32(0xe67a970e),
- 80: uint32(0x22d74a5e),
- 81: uint32(0x7a57a889),
- 82: uint32(0xd3d1fe2a),
- 83: uint32(0x8b511cfd),
- 84: uint32(0xc0da22b7),
- 85: uint32(0x985ac060),
- 86: uint32(0x31dc96c3),
- 87: uint32(0x695c7414),
- 88: uint32(0xa7caeb57),
- 89: uint32(0xff4a0980),
- 90: uint32(0x56cc5f23),
- 91: uint32(0x0e4cbdf4),
- 92: uint32(0x45c783be),
- 93: uint32(0x1d476169),
- 94: uint32(0xb4c137ca),
- 95: uint32(0xec41d51d),
- 96: uint32(0x3c9a8c6b),
- 97: uint32(0x641a6ebc),
- 98: uint32(0xcd9c381f),
- 99: uint32(0x951cdac8),
- 100: uint32(0xde97e482),
- 101: uint32(0x86170655),
- 102: uint32(0x2f9150f6),
- 103: uint32(0x7711b221),
- 104: uint32(0xb9872d62),
- 105: uint32(0xe107cfb5),
- 106: uint32(0x48819916),
- 107: uint32(0x10017bc1),
- 108: uint32(0x5b8a458b),
- 109: uint32(0x030aa75c),
- 110: uint32(0xaa8cf1ff),
- 111: uint32(0xf20c1328),
- 112: uint32(0x36a1ce78),
- 113: uint32(0x6e212caf),
- 114: uint32(0xc7a77a0c),
- 115: uint32(0x9f2798db),
- 116: uint32(0xd4aca691),
- 117: uint32(0x8c2c4446),
- 118: uint32(0x25aa12e5),
- 119: uint32(0x7d2af032),
- 120: uint32(0xb3bc6f71),
- 121: uint32(0xeb3c8da6),
- 122: uint32(0x42badb05),
- 123: uint32(0x1a3a39d2),
- 124: uint32(0x51b10798),
- 125: uint32(0x0931e54f),
- 126: uint32(0xa0b7b3ec),
- 127: uint32(0xf837513b),
- 128: uint32(0x50d8119a),
- 129: uint32(0x0858f34d),
- 130: uint32(0xa1dea5ee),
- 131: uint32(0xf95e4739),
- 132: uint32(0xb2d57973),
- 133: uint32(0xea559ba4),
- 134: uint32(0x43d3cd07),
- 135: uint32(0x1b532fd0),
- 136: uint32(0xd5c5b093),
- 137: uint32(0x8d455244),
- 138: uint32(0x24c304e7),
- 139: uint32(0x7c43e630),
- 140: uint32(0x37c8d87a),
- 141: uint32(0x6f483aad),
- 142: uint32(0xc6ce6c0e),
- 143: uint32(0x9e4e8ed9),
- 144: uint32(0x5ae35389),
- 145: uint32(0x0263b15e),
- 146: uint32(0xabe5e7fd),
- 147: uint32(0xf365052a),
- 148: uint32(0xb8ee3b60),
- 149: uint32(0xe06ed9b7),
- 150: uint32(0x49e88f14),
- 151: uint32(0x11686dc3),
- 152: uint32(0xdffef280),
- 153: uint32(0x877e1057),
- 154: uint32(0x2ef846f4),
- 155: uint32(0x7678a423),
- 156: uint32(0x3df39a69),
- 157: uint32(0x657378be),
- 158: uint32(0xccf52e1d),
- 159: uint32(0x9475ccca),
- 160: uint32(0x44ae95bc),
- 161: uint32(0x1c2e776b),
- 162: uint32(0xb5a821c8),
- 163: uint32(0xed28c31f),
- 164: uint32(0xa6a3fd55),
- 165: uint32(0xfe231f82),
- 166: uint32(0x57a54921),
- 167: uint32(0x0f25abf6),
- 168: uint32(0xc1b334b5),
- 169: uint32(0x9933d662),
- 170: uint32(0x30b580c1),
- 171: uint32(0x68356216),
- 172: uint32(0x23be5c5c),
- 173: uint32(0x7b3ebe8b),
- 174: uint32(0xd2b8e828),
- 175: uint32(0x8a380aff),
- 176: uint32(0x4e95d7af),
- 177: uint32(0x16153578),
- 178: uint32(0xbf9363db),
- 179: uint32(0xe713810c),
- 180: uint32(0xac98bf46),
- 181: uint32(0xf4185d91),
- 182: uint32(0x5d9e0b32),
- 183: uint32(0x051ee9e5),
- 184: uint32(0xcb8876a6),
- 185: uint32(0x93089471),
- 186: uint32(0x3a8ec2d2),
- 187: uint32(0x620e2005),
- 188: uint32(0x29851e4f),
- 189: uint32(0x7105fc98),
- 190: uint32(0xd883aa3b),
- 191: uint32(0x800348ec),
- 192: uint32(0x783419d7),
- 193: uint32(0x20b4fb00),
- 194: uint32(0x8932ada3),
- 195: uint32(0xd1b24f74),
- 196: uint32(0x9a39713e),
- 197: uint32(0xc2b993e9),
- 198: uint32(0x6b3fc54a),
- 199: uint32(0x33bf279d),
- 200: uint32(0xfd29b8de),
- 201: uint32(0xa5a95a09),
- 202: uint32(0x0c2f0caa),
- 203: uint32(0x54afee7d),
- 204: uint32(0x1f24d037),
- 205: uint32(0x47a432e0),
- 206: uint32(0xee226443),
- 207: uint32(0xb6a28694),
- 208: uint32(0x720f5bc4),
- 209: uint32(0x2a8fb913),
- 210: uint32(0x8309efb0),
- 211: uint32(0xdb890d67),
- 212: uint32(0x9002332d),
- 213: uint32(0xc882d1fa),
- 214: uint32(0x61048759),
- 215: uint32(0x3984658e),
- 216: uint32(0xf712facd),
- 217: uint32(0xaf92181a),
- 218: uint32(0x06144eb9),
- 219: uint32(0x5e94ac6e),
- 220: uint32(0x151f9224),
- 221: uint32(0x4d9f70f3),
- 222: uint32(0xe4192650),
- 223: uint32(0xbc99c487),
- 224: uint32(0x6c429df1),
- 225: uint32(0x34c27f26),
- 226: uint32(0x9d442985),
- 227: uint32(0xc5c4cb52),
- 228: uint32(0x8e4ff518),
- 229: uint32(0xd6cf17cf),
- 230: uint32(0x7f49416c),
- 231: uint32(0x27c9a3bb),
- 232: uint32(0xe95f3cf8),
- 233: uint32(0xb1dfde2f),
- 234: uint32(0x1859888c),
- 235: uint32(0x40d96a5b),
- 236: uint32(0x0b525411),
- 237: uint32(0x53d2b6c6),
- 238: uint32(0xfa54e065),
- 239: uint32(0xa2d402b2),
- 240: uint32(0x6679dfe2),
- 241: uint32(0x3ef93d35),
- 242: uint32(0x977f6b96),
- 243: uint32(0xcfff8941),
- 244: uint32(0x8474b70b),
- 245: uint32(0xdcf455dc),
- 246: uint32(0x7572037f),
- 247: uint32(0x2df2e1a8),
- 248: uint32(0xe3647eeb),
- 249: uint32(0xbbe49c3c),
- 250: uint32(0x1262ca9f),
- 251: uint32(0x4ae22848),
- 252: uint32(0x01691602),
- 253: uint32(0x59e9f4d5),
- 254: uint32(0xf06fa276),
- 255: uint32(0xa8ef40a1),
- },
- 3: {
- 1: uint32(0x463b6765),
- 2: uint32(0x8c76ceca),
- 3: uint32(0xca4da9af),
- 4: uint32(0x59ebed4e),
- 5: uint32(0x1fd08a2b),
- 6: uint32(0xd59d2384),
- 7: uint32(0x93a644e1),
- 8: uint32(0xb2d6db9d),
- 9: uint32(0xf4edbcf8),
- 10: uint32(0x3ea01557),
- 11: uint32(0x789b7232),
- 12: uint32(0xeb3d36d3),
- 13: uint32(0xad0651b6),
- 14: uint32(0x674bf819),
- 15: uint32(0x21709f7c),
- 16: uint32(0x25abc6e0),
- 17: uint32(0x6390a185),
- 18: uint32(0xa9dd082a),
- 19: uint32(0xefe66f4f),
- 20: uint32(0x7c402bae),
- 21: uint32(0x3a7b4ccb),
- 22: uint32(0xf036e564),
- 23: uint32(0xb60d8201),
- 24: uint32(0x977d1d7d),
- 25: uint32(0xd1467a18),
- 26: uint32(0x1b0bd3b7),
- 27: uint32(0x5d30b4d2),
- 28: uint32(0xce96f033),
- 29: uint32(0x88ad9756),
- 30: uint32(0x42e03ef9),
- 31: uint32(0x04db599c),
- 32: uint32(0x0b50fc1a),
- 33: uint32(0x4d6b9b7f),
- 34: uint32(0x872632d0),
- 35: uint32(0xc11d55b5),
- 36: uint32(0x52bb1154),
- 37: uint32(0x14807631),
- 38: uint32(0xdecddf9e),
- 39: uint32(0x98f6b8fb),
- 40: uint32(0xb9862787),
- 41: uint32(0xffbd40e2),
- 42: uint32(0x35f0e94d),
- 43: uint32(0x73cb8e28),
- 44: uint32(0xe06dcac9),
- 45: uint32(0xa656adac),
- 46: uint32(0x6c1b0403),
- 47: uint32(0x2a206366),
- 48: uint32(0x2efb3afa),
- 49: uint32(0x68c05d9f),
- 50: uint32(0xa28df430),
- 51: uint32(0xe4b69355),
- 52: uint32(0x7710d7b4),
- 53: uint32(0x312bb0d1),
- 54: uint32(0xfb66197e),
- 55: uint32(0xbd5d7e1b),
- 56: uint32(0x9c2de167),
- 57: uint32(0xda168602),
- 58: uint32(0x105b2fad),
- 59: uint32(0x566048c8),
- 60: uint32(0xc5c60c29),
- 61: uint32(0x83fd6b4c),
- 62: uint32(0x49b0c2e3),
- 63: uint32(0x0f8ba586),
- 64: uint32(0x16a0f835),
- 65: uint32(0x509b9f50),
- 66: uint32(0x9ad636ff),
- 67: uint32(0xdced519a),
- 68: uint32(0x4f4b157b),
- 69: uint32(0x0970721e),
- 70: uint32(0xc33ddbb1),
- 71: uint32(0x8506bcd4),
- 72: uint32(0xa47623a8),
- 73: uint32(0xe24d44cd),
- 74: uint32(0x2800ed62),
- 75: uint32(0x6e3b8a07),
- 76: uint32(0xfd9dcee6),
- 77: uint32(0xbba6a983),
- 78: uint32(0x71eb002c),
- 79: uint32(0x37d06749),
- 80: uint32(0x330b3ed5),
- 81: uint32(0x753059b0),
- 82: uint32(0xbf7df01f),
- 83: uint32(0xf946977a),
- 84: uint32(0x6ae0d39b),
- 85: uint32(0x2cdbb4fe),
- 86: uint32(0xe6961d51),
- 87: uint32(0xa0ad7a34),
- 88: uint32(0x81dde548),
- 89: uint32(0xc7e6822d),
- 90: uint32(0x0dab2b82),
- 91: uint32(0x4b904ce7),
- 92: uint32(0xd8360806),
- 93: uint32(0x9e0d6f63),
- 94: uint32(0x5440c6cc),
- 95: uint32(0x127ba1a9),
- 96: uint32(0x1df0042f),
- 97: uint32(0x5bcb634a),
- 98: uint32(0x9186cae5),
- 99: uint32(0xd7bdad80),
- 100: uint32(0x441be961),
- 101: uint32(0x02208e04),
- 102: uint32(0xc86d27ab),
- 103: uint32(0x8e5640ce),
- 104: uint32(0xaf26dfb2),
- 105: uint32(0xe91db8d7),
- 106: uint32(0x23501178),
- 107: uint32(0x656b761d),
- 108: uint32(0xf6cd32fc),
- 109: uint32(0xb0f65599),
- 110: uint32(0x7abbfc36),
- 111: uint32(0x3c809b53),
- 112: uint32(0x385bc2cf),
- 113: uint32(0x7e60a5aa),
- 114: uint32(0xb42d0c05),
- 115: uint32(0xf2166b60),
- 116: uint32(0x61b02f81),
- 117: uint32(0x278b48e4),
- 118: uint32(0xedc6e14b),
- 119: uint32(0xabfd862e),
- 120: uint32(0x8a8d1952),
- 121: uint32(0xccb67e37),
- 122: uint32(0x06fbd798),
- 123: uint32(0x40c0b0fd),
- 124: uint32(0xd366f41c),
- 125: uint32(0x955d9379),
- 126: uint32(0x5f103ad6),
- 127: uint32(0x192b5db3),
- 128: uint32(0x2c40f16b),
- 129: uint32(0x6a7b960e),
- 130: uint32(0xa0363fa1),
- 131: uint32(0xe60d58c4),
- 132: uint32(0x75ab1c25),
- 133: uint32(0x33907b40),
- 134: uint32(0xf9ddd2ef),
- 135: uint32(0xbfe6b58a),
- 136: uint32(0x9e962af6),
- 137: uint32(0xd8ad4d93),
- 138: uint32(0x12e0e43c),
- 139: uint32(0x54db8359),
- 140: uint32(0xc77dc7b8),
- 141: uint32(0x8146a0dd),
- 142: uint32(0x4b0b0972),
- 143: uint32(0x0d306e17),
- 144: uint32(0x09eb378b),
- 145: uint32(0x4fd050ee),
- 146: uint32(0x859df941),
- 147: uint32(0xc3a69e24),
- 148: uint32(0x5000dac5),
- 149: uint32(0x163bbda0),
- 150: uint32(0xdc76140f),
- 151: uint32(0x9a4d736a),
- 152: uint32(0xbb3dec16),
- 153: uint32(0xfd068b73),
- 154: uint32(0x374b22dc),
- 155: uint32(0x717045b9),
- 156: uint32(0xe2d60158),
- 157: uint32(0xa4ed663d),
- 158: uint32(0x6ea0cf92),
- 159: uint32(0x289ba8f7),
- 160: uint32(0x27100d71),
- 161: uint32(0x612b6a14),
- 162: uint32(0xab66c3bb),
- 163: uint32(0xed5da4de),
- 164: uint32(0x7efbe03f),
- 165: uint32(0x38c0875a),
- 166: uint32(0xf28d2ef5),
- 167: uint32(0xb4b64990),
- 168: uint32(0x95c6d6ec),
- 169: uint32(0xd3fdb189),
- 170: uint32(0x19b01826),
- 171: uint32(0x5f8b7f43),
- 172: uint32(0xcc2d3ba2),
- 173: uint32(0x8a165cc7),
- 174: uint32(0x405bf568),
- 175: uint32(0x0660920d),
- 176: uint32(0x02bbcb91),
- 177: uint32(0x4480acf4),
- 178: uint32(0x8ecd055b),
- 179: uint32(0xc8f6623e),
- 180: uint32(0x5b5026df),
- 181: uint32(0x1d6b41ba),
- 182: uint32(0xd726e815),
- 183: uint32(0x911d8f70),
- 184: uint32(0xb06d100c),
- 185: uint32(0xf6567769),
- 186: uint32(0x3c1bdec6),
- 187: uint32(0x7a20b9a3),
- 188: uint32(0xe986fd42),
- 189: uint32(0xafbd9a27),
- 190: uint32(0x65f03388),
- 191: uint32(0x23cb54ed),
- 192: uint32(0x3ae0095e),
- 193: uint32(0x7cdb6e3b),
- 194: uint32(0xb696c794),
- 195: uint32(0xf0ada0f1),
- 196: uint32(0x630be410),
- 197: uint32(0x25308375),
- 198: uint32(0xef7d2ada),
- 199: uint32(0xa9464dbf),
- 200: uint32(0x8836d2c3),
- 201: uint32(0xce0db5a6),
- 202: uint32(0x04401c09),
- 203: uint32(0x427b7b6c),
- 204: uint32(0xd1dd3f8d),
- 205: uint32(0x97e658e8),
- 206: uint32(0x5dabf147),
- 207: uint32(0x1b909622),
- 208: uint32(0x1f4bcfbe),
- 209: uint32(0x5970a8db),
- 210: uint32(0x933d0174),
- 211: uint32(0xd5066611),
- 212: uint32(0x46a022f0),
- 213: uint32(0x009b4595),
- 214: uint32(0xcad6ec3a),
- 215: uint32(0x8ced8b5f),
- 216: uint32(0xad9d1423),
- 217: uint32(0xeba67346),
- 218: uint32(0x21ebdae9),
- 219: uint32(0x67d0bd8c),
- 220: uint32(0xf476f96d),
- 221: uint32(0xb24d9e08),
- 222: uint32(0x780037a7),
- 223: uint32(0x3e3b50c2),
- 224: uint32(0x31b0f544),
- 225: uint32(0x778b9221),
- 226: uint32(0xbdc63b8e),
- 227: uint32(0xfbfd5ceb),
- 228: uint32(0x685b180a),
- 229: uint32(0x2e607f6f),
- 230: uint32(0xe42dd6c0),
- 231: uint32(0xa216b1a5),
- 232: uint32(0x83662ed9),
- 233: uint32(0xc55d49bc),
- 234: uint32(0x0f10e013),
- 235: uint32(0x492b8776),
- 236: uint32(0xda8dc397),
- 237: uint32(0x9cb6a4f2),
- 238: uint32(0x56fb0d5d),
- 239: uint32(0x10c06a38),
- 240: uint32(0x141b33a4),
- 241: uint32(0x522054c1),
- 242: uint32(0x986dfd6e),
- 243: uint32(0xde569a0b),
- 244: uint32(0x4df0deea),
- 245: uint32(0x0bcbb98f),
- 246: uint32(0xc1861020),
- 247: uint32(0x87bd7745),
- 248: uint32(0xa6cde839),
- 249: uint32(0xe0f68f5c),
- 250: uint32(0x2abb26f3),
- 251: uint32(0x6c804196),
- 252: uint32(0xff260577),
- 253: uint32(0xb91d6212),
- 254: uint32(0x7350cbbd),
- 255: uint32(0x356bacd8),
- },
- }
- var _x2n_table = [32]Tz_crc_t{
- 0: uint32(0x40000000),
- 1: uint32(0x20000000),
- 2: uint32(0x08000000),
- 3: uint32(0x00800000),
- 4: uint32(0x00008000),
- 5: uint32(0xedb88320),
- 6: uint32(0xb1e6b092),
- 7: uint32(0xa06a2517),
- 8: uint32(0xed627dae),
- 9: uint32(0x88d14467),
- 10: uint32(0xd7bbfe6a),
- 11: uint32(0xec447f11),
- 12: uint32(0x8e7ea170),
- 13: uint32(0x6427800e),
- 14: uint32(0x4d47bae0),
- 15: uint32(0x09fe548f),
- 16: uint32(0x83852d0f),
- 17: uint32(0x30362f1a),
- 18: uint32(0x7b5a9cc3),
- 19: uint32(0x31fec169),
- 20: uint32(0x9fec022a),
- 21: uint32(0x6c8dedc4),
- 22: uint32(0x15d6874d),
- 23: uint32(0x5fde7a4e),
- 24: uint32(0xbad90e37),
- 25: uint32(0x2e4e5eef),
- 26: uint32(0x4eaba214),
- 27: uint32(0xa8a472c0),
- 28: uint32(0x429a969e),
- 29: uint32(0x148d302a),
- 30: uint32(0xc40ba6d0),
- 31: uint32(0xc4e22c3c),
- }
- /* CRC polynomial. */
- // C documentation
- //
- // /*
- // Return a(x) multiplied by b(x) modulo p(x), where p(x) is the CRC polynomial,
- // reflected. For speed, this requires that a not be zero.
- // */
- func _multmodp(tls *libc.TLS, a Tz_crc_t, b Tz_crc_t) (r Tz_crc_t) {
- var m, p Tz_crc_t
- var v2 uint32
- _, _, _ = m, p, v2
- m = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31)
- p = uint32(0)
- for {
- if a&m != 0 {
- p ^= b
- if a&(m-uint32(1)) == uint32(0) {
- break
- }
- }
- m >>= uint32(1)
- if b&uint32(1) != 0 {
- v2 = b>>libc.Int32FromInt32(1) ^ uint32(m_POLY)
- } else {
- v2 = b >> int32(1)
- }
- b = v2
- goto _1
- _1:
- }
- return p
- }
- // C documentation
- //
- // /*
- // Return x^(n * 2^k) modulo p(x). Requires that x2n_table[] has been
- // initialized.
- // */
- func _x2nmodp(tls *libc.TLS, n Toff_t, k uint32) (r Tz_crc_t) {
- var p Tz_crc_t
- _ = p
- p = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31) /* x^0 == 1 */
- for n != 0 {
- if n&int64(1) != 0 {
- p = _multmodp(tls, _x2n_table[k&uint32(31)], p)
- }
- n >>= int64(1)
- k++
- }
- return p
- }
- // C documentation
- //
- // /* =========================================================================
- // * This function can be used by asm versions of crc32(), and to force the
- // * generation of the CRC tables in a threaded application.
- // */
- func Xget_crc_table(tls *libc.TLS) (r uintptr) {
- return uintptr(unsafe.Pointer(&_crc_table))
- }
- /* =========================================================================
- * Use ARM machine instructions if available. This will compute the CRC about
- * ten times faster than the braided calculation. This code does not check for
- * the presence of the CRC instruction at run time. __ARM_FEATURE_CRC32 will
- * only be defined if the compilation specifies an ARM processor architecture
- * that has the instructions. For example, compiling with -march=armv8.1-a or
- * -march=armv8-a+crc, or -march=native if the compile machine has the crc32
- * instructions.
- */
- // C documentation
- //
- // /*
- // Return the CRC of the W bytes in the word_t data, taking the
- // least-significant byte of the word as the first byte of data, without any pre
- // or post conditioning. This is used to combine the CRCs of each braid.
- // */
- func _crc_word(tls *libc.TLS, data Tz_word_t) (r Tz_crc_t) {
- var k int32
- _ = k
- k = 0
- for {
- if !(k < int32(4)) {
- break
- }
- data = data>>libc.Int32FromInt32(8) ^ _crc_table[data&uint32(0xff)]
- goto _1
- _1:
- ;
- k++
- }
- return data
- }
- func _crc_word_big(tls *libc.TLS, data Tz_word_t) (r Tz_word_t) {
- var k int32
- _ = k
- k = 0
- for {
- if !(k < int32(4)) {
- break
- }
- data = data<<libc.Int32FromInt32(8) ^ _crc_big_table[data>>((libc.Int32FromInt32(4)-libc.Int32FromInt32(1))<<libc.Int32FromInt32(3))&uint32(0xff)]
- goto _1
- _1:
- ;
- k++
- }
- return data
- }
- // C documentation
- //
- // /* ========================================================================= */
- func Xcrc32_z(tls *libc.TLS, crc uint64, buf uintptr, len1 Tz_size_t) (r uint64) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- var blks, v2, v4 Tz_size_t
- var comb, crc01, crc11, crc21, crc31, crc41, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41 Tz_word_t
- var crc0, crc1, crc2, crc3, crc4 Tz_crc_t
- var k int32
- var words, v1, v10, v11, v12, v13, v14, v6, v7, v8, v9 uintptr
- var _ /* endian at bp+0 */ uint32
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
- /* Return initial CRC, if requested. */
- if buf == uintptr(m_Z_NULL) {
- return uint64(0)
- }
- /* Pre-condition the CRC */
- crc = ^crc & uint64(0xffffffff)
- /* If provided enough bytes, do a braided CRC calculation. */
- if len1 >= libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(4)+libc.Int32FromInt32(4)-libc.Int32FromInt32(1)) {
- /* Compute the CRC up to a z_word_t boundary. */
- for len1 != 0 && uint64(buf)&libc.Uint64FromInt32(libc.Int32FromInt32(4)-libc.Int32FromInt32(1)) != uint64(0) {
- len1--
- v1 = buf
- buf++
- crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v1))))&uint64(0xff)])
- }
- /* Compute the CRC on as many N z_word_t blocks as are available. */
- blks = len1 / libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(4))
- len1 -= blks * uint64(m_N) * uint64(4)
- words = buf
- /* Do endian check at execution time instead of compile time, since ARM
- processors can change the endianness at execution time. If the
- compiler knows what the endianness will be, it can optimize out the
- check and the unused branch. */
- *(*uint32)(unsafe.Pointer(bp)) = uint32(1)
- if *(*uint8)(unsafe.Pointer(bp)) != 0 {
- /* Initialize the CRC for each braid. */
- crc0 = uint32(crc)
- crc1 = uint32(0)
- crc2 = uint32(0)
- crc3 = uint32(0)
- crc4 = uint32(0)
- /*
- Process the first blks-1 blocks, computing the CRCs on each braid
- independently.
- */
- for {
- blks--
- v2 = blks
- if !(v2 != 0) {
- break
- }
- /* Load the word for each braid into registers. */
- word0 = crc0 ^ *(*Tz_word_t)(unsafe.Pointer(words))
- word1 = crc1 ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*4))
- word2 = crc2 ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*4))
- word3 = crc3 ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*4))
- word4 = crc4 ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*4))
- words += uintptr(m_N) * 4
- /* Compute and update the CRC for each word. The loop should
- get unrolled. */
- crc0 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word0&uint32(0xff))*4))
- crc1 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word1&uint32(0xff))*4))
- crc2 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word2&uint32(0xff))*4))
- crc3 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word3&uint32(0xff))*4))
- crc4 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word4&uint32(0xff))*4))
- k = int32(1)
- for {
- if !(k < int32(4)) {
- break
- }
- crc0 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word0>>(k<<libc.Int32FromInt32(3))&uint32(0xff))*4))
- crc1 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word1>>(k<<libc.Int32FromInt32(3))&uint32(0xff))*4))
- crc2 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word2>>(k<<libc.Int32FromInt32(3))&uint32(0xff))*4))
- crc3 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word3>>(k<<libc.Int32FromInt32(3))&uint32(0xff))*4))
- crc4 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word4>>(k<<libc.Int32FromInt32(3))&uint32(0xff))*4))
- goto _3
- _3:
- ;
- k++
- }
- }
- /*
- Process the last block, combining the CRCs of the N braids at the
- same time.
- */
- crc = uint64(_crc_word(tls, crc0^*(*Tz_word_t)(unsafe.Pointer(words))))
- crc = uint64(_crc_word(tls, uint32(uint64(crc1^*(*Tz_word_t)(unsafe.Pointer(words + 1*4)))^crc)))
- crc = uint64(_crc_word(tls, uint32(uint64(crc2^*(*Tz_word_t)(unsafe.Pointer(words + 2*4)))^crc)))
- crc = uint64(_crc_word(tls, uint32(uint64(crc3^*(*Tz_word_t)(unsafe.Pointer(words + 3*4)))^crc)))
- crc = uint64(_crc_word(tls, uint32(uint64(crc4^*(*Tz_word_t)(unsafe.Pointer(words + 4*4)))^crc)))
- words += uintptr(m_N) * 4
- } else {
- /* Initialize the CRC for each braid. */
- crc01 = _byte_swap(tls, uint32(crc))
- crc11 = uint32(0)
- crc21 = uint32(0)
- crc31 = uint32(0)
- crc41 = uint32(0)
- /*
- Process the first blks-1 blocks, computing the CRCs on each braid
- independently.
- */
- for {
- blks--
- v4 = blks
- if !(v4 != 0) {
- break
- }
- /* Load the word for each braid into registers. */
- word01 = crc01 ^ *(*Tz_word_t)(unsafe.Pointer(words))
- word11 = crc11 ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*4))
- word21 = crc21 ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*4))
- word31 = crc31 ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*4))
- word41 = crc41 ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*4))
- words += uintptr(m_N) * 4
- /* Compute and update the CRC for each word. The loop should
- get unrolled. */
- crc01 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word01&uint32(0xff))*4))
- crc11 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word11&uint32(0xff))*4))
- crc21 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word21&uint32(0xff))*4))
- crc31 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word31&uint32(0xff))*4))
- crc41 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word41&uint32(0xff))*4))
- k = int32(1)
- for {
- if !(k < int32(4)) {
- break
- }
- crc01 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*1024 + uintptr(word01>>(k<<libc.Int32FromInt32(3))&uint32(0xff))*4))
- crc11 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*1024 + uintptr(word11>>(k<<libc.Int32FromInt32(3))&uint32(0xff))*4))
- crc21 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*1024 + uintptr(word21>>(k<<libc.Int32FromInt32(3))&uint32(0xff))*4))
- crc31 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*1024 + uintptr(word31>>(k<<libc.Int32FromInt32(3))&uint32(0xff))*4))
- crc41 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*1024 + uintptr(word41>>(k<<libc.Int32FromInt32(3))&uint32(0xff))*4))
- goto _5
- _5:
- ;
- k++
- }
- }
- /*
- Process the last block, combining the CRCs of the N braids at the
- same time.
- */
- comb = _crc_word_big(tls, crc01^*(*Tz_word_t)(unsafe.Pointer(words)))
- comb = _crc_word_big(tls, crc11^*(*Tz_word_t)(unsafe.Pointer(words + 1*4))^comb)
- comb = _crc_word_big(tls, crc21^*(*Tz_word_t)(unsafe.Pointer(words + 2*4))^comb)
- comb = _crc_word_big(tls, crc31^*(*Tz_word_t)(unsafe.Pointer(words + 3*4))^comb)
- comb = _crc_word_big(tls, crc41^*(*Tz_word_t)(unsafe.Pointer(words + 4*4))^comb)
- words += uintptr(m_N) * 4
- crc = uint64(_byte_swap(tls, comb))
- }
- /*
- Update the pointer to the remaining bytes to process.
- */
- buf = words
- }
- /* Complete the computation of the CRC on any remaining bytes. */
- for len1 >= uint64(8) {
- len1 -= uint64(8)
- v6 = buf
- buf++
- crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v6))))&uint64(0xff)])
- v7 = buf
- buf++
- crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v7))))&uint64(0xff)])
- v8 = buf
- buf++
- crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v8))))&uint64(0xff)])
- v9 = buf
- buf++
- crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v9))))&uint64(0xff)])
- v10 = buf
- buf++
- crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v10))))&uint64(0xff)])
- v11 = buf
- buf++
- crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v11))))&uint64(0xff)])
- v12 = buf
- buf++
- crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v12))))&uint64(0xff)])
- v13 = buf
- buf++
- crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v13))))&uint64(0xff)])
- }
- for len1 != 0 {
- len1--
- v14 = buf
- buf++
- crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v14))))&uint64(0xff)])
- }
- /* Return the CRC, post-conditioned. */
- return crc ^ uint64(0xffffffff)
- }
- // C documentation
- //
- // /* ========================================================================= */
- func Xcrc32(tls *libc.TLS, crc uint64, buf uintptr, len1 TuInt) (r uint64) {
- return Xcrc32_z(tls, crc, buf, uint64(len1))
- }
- // C documentation
- //
- // /* ========================================================================= */
- func Xcrc32_combine64(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
- return uint64(_multmodp(tls, _x2nmodp(tls, len2, uint32(3)), uint32(crc1))) ^ crc2&uint64(0xffffffff)
- }
- // C documentation
- //
- // /* ========================================================================= */
- func Xcrc32_combine(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
- return Xcrc32_combine64(tls, crc1, crc2, len2)
- }
- // C documentation
- //
- // /* ========================================================================= */
- func Xcrc32_combine_gen64(tls *libc.TLS, len2 Toff_t) (r TuLong) {
- return uint64(_x2nmodp(tls, len2, uint32(3)))
- }
- // C documentation
- //
- // /* ========================================================================= */
- func Xcrc32_combine_gen(tls *libc.TLS, len2 Toff_t) (r TuLong) {
- return Xcrc32_combine_gen64(tls, len2)
- }
- // C documentation
- //
- // /* ========================================================================= */
- func Xcrc32_combine_op(tls *libc.TLS, crc1 TuLong, crc2 TuLong, op TuLong) (r TuLong) {
- return uint64(_multmodp(tls, uint32(op), uint32(crc1))) ^ crc2&uint64(0xffffffff)
- }
- const m_BL_CODES = 19
- const m_BUSY_STATE = 113
- const m_Buf_size = 16
- const m_COMMENT_STATE = 91
- const m_D_CODES = 30
- const m_EXTRA_STATE = 69
- const m_FINISH_STATE = 666
- const m_GZIP_STATE = 57
- const m_HCRC_STATE = 103
- const m_INIT_STATE = 42
- const m_LENGTH_CODES = 29
- const m_LITERALS = 256
- const m_LIT_BUFS = 4
- const m_MAX_BITS = 15
- const m_MAX_STORED = 65535
- const m_NAME_STATE = 73
- const m_NIL = 0
- const m_PRESET_DICT1 = 32
- const m_TOO_FAR = 4096
- const m_WIN_INIT = "MAX_MATCH"
- const m_max_insert_length = "max_lazy_match"
- type Tinternal_state = struct {
- Fstrm Tz_streamp
- Fstatus int32
- Fpending_buf uintptr
- Fpending_buf_size Tulg
- Fpending_out uintptr
- Fpending Tulg
- Fwrap int32
- Fgzhead Tgz_headerp
- Fgzindex Tulg
- Fmethod TByte
- Flast_flush int32
- Fw_size TuInt
- Fw_bits TuInt
- Fw_mask TuInt
- Fwindow uintptr
- Fwindow_size Tulg
- Fprev uintptr
- Fhead uintptr
- Fins_h TuInt
- Fhash_size TuInt
- Fhash_bits TuInt
- Fhash_mask TuInt
- Fhash_shift TuInt
- Fblock_start int64
- Fmatch_length TuInt
- Fprev_match TIPos
- Fmatch_available int32
- Fstrstart TuInt
- Fmatch_start TuInt
- Flookahead TuInt
- Fprev_length TuInt
- Fmax_chain_length TuInt
- Fmax_lazy_match TuInt
- Flevel int32
- Fstrategy int32
- Fgood_match TuInt
- Fnice_match int32
- Fdyn_ltree [573]Tct_data_s
- Fdyn_dtree [61]Tct_data_s
- Fbl_tree [39]Tct_data_s
- Fl_desc Ttree_desc_s
- Fd_desc Ttree_desc_s
- Fbl_desc Ttree_desc_s
- Fbl_count [16]Tush
- Fheap [573]int32
- Fheap_len int32
- Fheap_max int32
- Fdepth [573]Tuch
- Fsym_buf uintptr
- Flit_bufsize TuInt
- Fsym_next TuInt
- Fsym_end TuInt
- Fopt_len Tulg
- Fstatic_len Tulg
- Fmatches TuInt
- Finsert TuInt
- Fbi_buf Tush
- Fbi_valid int32
- Fhigh_water Tulg
- }
- type Tct_data = struct {
- Ffc struct {
- Fcode [0]Tush
- Ffreq Tush
- }
- Fdl struct {
- Flen1 [0]Tush
- Fdad Tush
- }
- }
- type Tct_data_s = Tct_data
- type Ttree_desc = struct {
- Fdyn_tree uintptr
- Fmax_code int32
- Fstat_desc uintptr
- }
- type Ttree_desc_s = Ttree_desc
- type TPos = uint16
- type TPosf = uint16
- type TIPos = uint32
- type Tdeflate_state = struct {
- Fstrm Tz_streamp
- Fstatus int32
- Fpending_buf uintptr
- Fpending_buf_size Tulg
- Fpending_out uintptr
- Fpending Tulg
- Fwrap int32
- Fgzhead Tgz_headerp
- Fgzindex Tulg
- Fmethod TByte
- Flast_flush int32
- Fw_size TuInt
- Fw_bits TuInt
- Fw_mask TuInt
- Fwindow uintptr
- Fwindow_size Tulg
- Fprev uintptr
- Fhead uintptr
- Fins_h TuInt
- Fhash_size TuInt
- Fhash_bits TuInt
- Fhash_mask TuInt
- Fhash_shift TuInt
- Fblock_start int64
- Fmatch_length TuInt
- Fprev_match TIPos
- Fmatch_available int32
- Fstrstart TuInt
- Fmatch_start TuInt
- Flookahead TuInt
- Fprev_length TuInt
- Fmax_chain_length TuInt
- Fmax_lazy_match TuInt
- Flevel int32
- Fstrategy int32
- Fgood_match TuInt
- Fnice_match int32
- Fdyn_ltree [573]Tct_data_s
- Fdyn_dtree [61]Tct_data_s
- Fbl_tree [39]Tct_data_s
- Fl_desc Ttree_desc_s
- Fd_desc Ttree_desc_s
- Fbl_desc Ttree_desc_s
- Fbl_count [16]Tush
- Fheap [573]int32
- Fheap_len int32
- Fheap_max int32
- Fdepth [573]Tuch
- Fsym_buf uintptr
- Flit_bufsize TuInt
- Fsym_next TuInt
- Fsym_end TuInt
- Fopt_len Tulg
- Fstatic_len Tulg
- Fmatches TuInt
- Finsert TuInt
- Fbi_buf Tush
- Fbi_valid int32
- Fhigh_water Tulg
- }
- /*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
- type Tblock_state = int32
- const _need_more = 0
- const /* block not completed, need more input or more output */
- _block_done = 1
- const /* block flush performed */
- _finish_started = 2
- const /* finish started, need only more output at next deflate */
- _finish_done = 3
- type Tcompress_func = uintptr
- /* ===========================================================================
- * Local data
- */
- /* Tail of hash chains */
- /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
- // C documentation
- //
- // /* Values for max_lazy_match, good_match and max_chain_length, depending on
- // * the desired pack level (0..9). The values given below have been tuned to
- // * exclude worst case performance for pathological files. Better values may be
- // * found for specific files.
- // */
- type Tconfig = struct {
- Fgood_length Tush
- Fmax_lazy Tush
- Fnice_length Tush
- Fmax_chain Tush
- Ffunc1 Tcompress_func
- }
- /* ===========================================================================
- * Local data
- */
- /* Tail of hash chains */
- /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
- // C documentation
- //
- // /* Values for max_lazy_match, good_match and max_chain_length, depending on
- // * the desired pack level (0..9). The values given below have been tuned to
- // * exclude worst case performance for pathological files. Better values may be
- // * found for specific files.
- // */
- type Tconfig_s = Tconfig
- var _configuration_table = [10]Tconfig{
- 0: {},
- 1: {
- Fgood_length: uint16(4),
- Fmax_lazy: uint16(4),
- Fnice_length: uint16(8),
- Fmax_chain: uint16(4),
- },
- 2: {
- Fgood_length: uint16(4),
- Fmax_lazy: uint16(5),
- Fnice_length: uint16(16),
- Fmax_chain: uint16(8),
- },
- 3: {
- Fgood_length: uint16(4),
- Fmax_lazy: uint16(6),
- Fnice_length: uint16(32),
- Fmax_chain: uint16(32),
- },
- 4: {
- Fgood_length: uint16(4),
- Fmax_lazy: uint16(4),
- Fnice_length: uint16(16),
- Fmax_chain: uint16(16),
- },
- 5: {
- Fgood_length: uint16(8),
- Fmax_lazy: uint16(16),
- Fnice_length: uint16(32),
- Fmax_chain: uint16(32),
- },
- 6: {
- Fgood_length: uint16(8),
- Fmax_lazy: uint16(16),
- Fnice_length: uint16(128),
- Fmax_chain: uint16(128),
- },
- 7: {
- Fgood_length: uint16(8),
- Fmax_lazy: uint16(32),
- Fnice_length: uint16(128),
- Fmax_chain: uint16(256),
- },
- 8: {
- Fgood_length: uint16(32),
- Fmax_lazy: uint16(128),
- Fnice_length: uint16(258),
- Fmax_chain: uint16(1024),
- },
- 9: {
- Fgood_length: uint16(32),
- Fmax_lazy: uint16(258),
- Fnice_length: uint16(258),
- Fmax_chain: uint16(4096),
- },
- }
- func init() {
- p := unsafe.Pointer(&_configuration_table)
- *(*uintptr)(unsafe.Add(p, 8)) = __ccgo_fp(_deflate_stored)
- *(*uintptr)(unsafe.Add(p, 24)) = __ccgo_fp(_deflate_fast)
- *(*uintptr)(unsafe.Add(p, 40)) = __ccgo_fp(_deflate_fast)
- *(*uintptr)(unsafe.Add(p, 56)) = __ccgo_fp(_deflate_fast)
- *(*uintptr)(unsafe.Add(p, 72)) = __ccgo_fp(_deflate_slow)
- *(*uintptr)(unsafe.Add(p, 88)) = __ccgo_fp(_deflate_slow)
- *(*uintptr)(unsafe.Add(p, 104)) = __ccgo_fp(_deflate_slow)
- *(*uintptr)(unsafe.Add(p, 120)) = __ccgo_fp(_deflate_slow)
- *(*uintptr)(unsafe.Add(p, 136)) = __ccgo_fp(_deflate_slow)
- *(*uintptr)(unsafe.Add(p, 152)) = __ccgo_fp(_deflate_slow)
- }
- /* max compression */
- /* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
- * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
- * meaning.
- */
- /* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
- /* ===========================================================================
- * Update a hash value with the given input byte
- * IN assertion: all calls to UPDATE_HASH are made with consecutive input
- * characters, so that a running hash key can be computed from the previous
- * key instead of complete recalculation each time.
- */
- /* ===========================================================================
- * Insert string str in the dictionary and set match_head to the previous head
- * of the hash chain (the most recent string with same hash key). Return
- * the previous length of the hash chain.
- * If this file is compiled with -DFASTEST, the compression level is forced
- * to 1, and no hash chains are maintained.
- * IN assertion: all calls to INSERT_STRING are made with consecutive input
- * characters and the first MIN_MATCH bytes of str are valid (except for
- * the last MIN_MATCH-1 bytes of the input file).
- */
- /* ===========================================================================
- * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
- * prev[] will be initialized on the fly.
- */
- // C documentation
- //
- // /* ===========================================================================
- // * Slide the hash table when sliding the window down (could be avoided with 32
- // * bit values at the expense of memory usage). We slide even when level == 0 to
- // * keep the hash table consistent if we switch back to level > 0 later.
- // */
- func _slide_hash(tls *libc.TLS, s uintptr) {
- var m, n, v1, v4, v5, v8 uint32
- var p, v3, v7 uintptr
- var wsize TuInt
- _, _, _, _, _, _, _, _, _, _ = m, n, p, wsize, v1, v3, v4, v5, v7, v8
- wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
- n = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size
- p = (*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr(n)*2
- for {
- p -= 2
- v3 = p
- m = uint32(*(*TPosf)(unsafe.Pointer(v3)))
- if m >= wsize {
- v4 = m - wsize
- } else {
- v4 = uint32(m_NIL)
- }
- *(*TPosf)(unsafe.Pointer(p)) = uint16(v4)
- goto _2
- _2:
- ;
- n--
- v1 = n
- if !(v1 != 0) {
- break
- }
- }
- n = wsize
- p = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(n)*2
- for {
- p -= 2
- v7 = p
- m = uint32(*(*TPosf)(unsafe.Pointer(v7)))
- if m >= wsize {
- v8 = m - wsize
- } else {
- v8 = uint32(m_NIL)
- }
- *(*TPosf)(unsafe.Pointer(p)) = uint16(v8)
- /* If n is not on any hash chain, prev[n] is garbage but
- * its value will never be used.
- */
- goto _6
- _6:
- ;
- n--
- v5 = n
- if !(v5 != 0) {
- break
- }
- }
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Read a new buffer from the current input stream, update the adler32
- // * and total number of bytes read. All deflate() input goes through
- // * this function so some applications may wish to modify it to avoid
- // * allocating a large strm->next_in buffer and copying from it.
- // * (See also flush_pending()).
- // */
- func _read_buf(tls *libc.TLS, strm Tz_streamp, buf uintptr, size uint32) (r uint32) {
- var len1 uint32
- _ = len1
- len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
- if len1 > size {
- len1 = size
- }
- if len1 == uint32(0) {
- return uint32(0)
- }
- *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
- libc.Xmemcpy(tls, buf, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(len1))
- if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(1) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
- } else {
- if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(2) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
- }
- }
- *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
- *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
- return len1
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Fill the window when the lookahead becomes insufficient.
- // * Updates strstart and lookahead.
- // *
- // * IN assertion: lookahead < MIN_LOOKAHEAD
- // * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
- // * At least one byte has been read, or avail_in == 0; reads are
- // * performed for at least two bytes (required for the zip translate_eol
- // * option -- not supported here).
- // */
- func _fill_window(tls *libc.TLS, s uintptr) {
- var curr, init1 Tulg
- var more, n uint32
- var str, wsize TuInt
- _, _, _, _, _, _ = curr, init1, more, n, str, wsize /* Amount of free space at the end of the window. */
- wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
- 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) {
- more = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
- /* Deal with !@#$% 64K limit: */
- if uint64(4) <= uint64(2) {
- if more == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
- more = wsize
- } else {
- if more == libc.Uint32FromInt32(-libc.Int32FromInt32(1)) {
- /* Very unlikely, but possible on 16 bit machine if
- * strstart == 0 && lookahead == 1 (input done a byte at time)
- */
- more--
- }
- }
- }
- /* If the window is almost full and there is insufficient lookahead,
- * move the upper half to the lower one to make room in the upper half.
- */
- 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))) {
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(wsize), uint64(wsize-more))
- *(*TuInt)(unsafe.Pointer(s + 176)) -= wsize
- *(*TuInt)(unsafe.Pointer(s + 172)) -= wsize /* we now have strstart >= MAX_DIST */
- *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32(wsize)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
- }
- _slide_hash(tls, s)
- more += wsize
- }
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) {
- break
- }
- /* If there was no sliding:
- * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
- * more == window_size - lookahead - strstart
- * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
- * => more >= window_size - 2*WSIZE + 2
- * In the BIG_MEM or MMAP case (not yet supported),
- * window_size == input_size + MIN_LOOKAHEAD &&
- * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
- * Otherwise, window_size == 2*WSIZE so more >= 2.
- * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
- */
- 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)
- *(*TuInt)(unsafe.Pointer(s + 180)) += n
- /* Initialize the hash value now that we have some input: */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert >= uint32(m_MIN_MATCH) {
- str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
- (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str))))
- (*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
- for (*Tdeflate_state)(unsafe.Pointer(s)).Finsert != 0 {
- (*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
- *(*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))
- *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
- str++
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert--
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert < uint32(m_MIN_MATCH) {
- break
- }
- }
- }
- /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
- * but this is not important since only literal bytes will be emitted.
- */
- }
- /* If the WIN_INIT bytes after the end of the current data have never been
- * written, then zero those bytes in order to avoid memory check reports of
- * the use of uninitialized (or uninitialised as Julian writes) bytes by
- * the longest match routines. Update the high water mark for the next
- * time through here. WIN_INIT is set to MAX_MATCH since the longest match
- * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
- */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size {
- curr = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr {
- /* Previous high water mark below current data -- zero WIN_INIT
- * bytes or up to end of window, whichever is less.
- */
- init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - curr
- if init1 > uint64(m_MAX_MATCH) {
- init1 = uint64(m_MAX_MATCH)
- }
- libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0, uint64(uint32(init1)))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = curr + init1
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr+uint64(m_MAX_MATCH) {
- /* High water mark at or above current data, but below current data
- * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
- * to end of window, whichever is less.
- */
- init1 = curr + uint64(m_MAX_MATCH) - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
- if init1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-(*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water {
- init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
- }
- libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water), 0, uint64(uint32(init1)))
- *(*Tulg)(unsafe.Pointer(s + 5944)) += init1
- }
- }
- }
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflateInit_(tls *libc.TLS, strm Tz_streamp, level int32, version uintptr, stream_size int32) (r int32) {
- 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)
- /* To do: ignore strm->next_in if we use it as window */
- }
- // C documentation
- //
- // /* ========================================================================= */
- 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) {
- var s uintptr
- var wrap int32
- _, _ = s, wrap
- wrap = int32(1)
- if version == uintptr(m_Z_NULL) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(version))) != libc.Int32FromUint8(_my_version[0]) || libc.Uint64FromInt32(stream_size) != uint64(112) {
- return -int32(6)
- }
- if strm == uintptr(m_Z_NULL) {
- return -int32(2)
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
- if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
- (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
- }
- if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
- }
- if level == -int32(1) {
- level = int32(6)
- }
- if windowBits < 0 { /* suppress zlib wrapper */
- wrap = 0
- if windowBits < -int32(15) {
- return -int32(2)
- }
- windowBits = -windowBits
- } else {
- if windowBits > int32(15) {
- wrap = int32(2) /* write gzip wrapper instead */
- windowBits -= int32(16)
- }
- }
- 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) {
- return -int32(2)
- }
- if windowBits == int32(8) {
- windowBits = int32(9)
- } /* until 256-byte window bug fixed */
- 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)))
- if s == uintptr(m_Z_NULL) {
- return -int32(4)
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fstate = s
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm = strm
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_INIT_STATE) /* to pass state test in deflateReset() */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
- (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead = uintptr(m_Z_NULL)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits = libc.Uint32FromInt32(windowBits)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - uint32(1)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits = libc.Uint32FromInt32(memLevel) + uint32(7)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size - uint32(1)
- (*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)
- (*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)))
- (*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)))
- (*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)))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64(0) /* nothing written to s->window yet */
- (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize = libc.Uint32FromInt32(int32(1) << (memLevel + int32(6))) /* 16K elements by default */
- /* We overlay pending_buf and sym_buf. This works since the average size
- * for length/distance pairs over any compressed block is assured to be 31
- * bits or less.
- *
- * Analysis: The longest fixed codes are a length code of 8 bits plus 5
- * extra bits, for lengths 131 to 257. The longest fixed distance codes are
- * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest
- * possible fixed-codes length/distance pair is then 31 bits total.
- *
- * sym_buf starts one-fourth of the way into pending_buf. So there are
- * three bytes in sym_buf for every four bytes in pending_buf. Each symbol
- * in sym_buf is three bytes -- two for the distance and one for the
- * literal/length. As each symbol is consumed, the pointer to the next
- * sym_buf value to read moves forward three bytes. From that symbol, up to
- * 31 bits are written to pending_buf. The closest the written pending_buf
- * bits gets to the next sym_buf symbol to read is just before the last
- * code is written. At that time, 31*(n - 2) bits have been written, just
- * after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at
- * 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1
- * symbols are written.) The closest the writing gets to what is unread is
- * then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and
- * can range from 128 to 32768.
- *
- * Therefore, at a minimum, there are 142 bits of space between what is
- * written and what is read in the overlain buffers, so the symbols cannot
- * be overwritten by the compressed data. That space is actually 139 bits,
- * due to the three-bit fixed-code block header.
- *
- * That covers the case where either Z_FIXED is specified, forcing fixed
- * codes, or when the use of fixed codes is chosen, because that choice
- * results in a smaller compressed block than dynamic codes. That latter
- * condition then assures that the above analysis also covers all dynamic
- * blocks. A dynamic-code block will only be chosen to be emitted if it has
- * fewer bits than a fixed-code block would for the same set of symbols.
- * Therefore its average symbol length is assured to be less than 31. So
- * the compressed data for a dynamic block also cannot overwrite the
- * symbols from which it is being constructed.
- */
- (*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)))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize) * uint64(4)
- 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) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(4)]
- XdeflateEnd(tls, strm)
- return -int32(4)
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end = ((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize - uint32(1)) * uint32(3)
- /* We avoid equality with lit_bufsize*3 because of wraparound at 64K
- * on 16 bit machines and because stored blocks are restricted to
- * 64K-1 bytes.
- */
- (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmethod = libc.Uint8FromInt32(method)
- return XdeflateReset(tls, strm)
- }
- var _my_version = [6]uint8{'1', '.', '3', '.', '1'}
- // C documentation
- //
- // /* =========================================================================
- // * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
- // */
- func _deflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
- var s uintptr
- _ = s
- if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
- return int32(1)
- }
- s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- 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) {
- return int32(1)
- }
- return 0
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
- var avail uint32
- var n, str, v1, v3 TuInt
- var next, s uintptr
- var wrap int32
- _, _, _, _, _, _, _, _ = avail, n, next, s, str, wrap, v1, v3
- if _deflateStateCheck(tls, strm) != 0 || dictionary == uintptr(m_Z_NULL) {
- return -int32(2)
- }
- s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- wrap = (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
- if wrap == int32(2) || wrap == int32(1) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != 0 {
- return -int32(2)
- }
- /* when using zlib wrappers, compute Adler-32 for provided dictionary */
- if wrap == int32(1) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, dictionary, dictLength)
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = 0 /* avoid computing Adler-32 in read_buf */
- /* if dictionary would fill window, just replace the history */
- if dictLength >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
- if wrap == 0 { /* already empty otherwise */
- *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
- libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
- }
- dictionary += uintptr(dictLength - (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) /* use the tail */
- dictLength = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
- }
- /* insert dictionary into window and hash */
- avail = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
- next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = dictLength
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = dictionary
- _fill_window(tls, s)
- for (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
- str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
- n = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))
- for {
- (*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
- *(*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))
- *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
- str++
- goto _2
- _2:
- ;
- n--
- v1 = n
- if !(v1 != 0) {
- break
- }
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = str
- (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
- _fill_window(tls, s)
- }
- *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
- (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
- v3 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v3
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v3
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = avail
- (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
- return m_Z_OK
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
- var len1 TuInt
- var s uintptr
- _, _ = len1, s
- if _deflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
- if len1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
- len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
- }
- if dictionary != uintptr(m_Z_NULL) && len1 != 0 {
- libc.Xmemcpy(tls, dictionary, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)-uintptr(len1), uint64(len1))
- }
- if dictLength != uintptr(m_Z_NULL) {
- *(*TuInt)(unsafe.Pointer(dictLength)) = len1
- }
- return m_Z_OK
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
- var s uintptr
- var v1 TuLong
- var v2 int32
- var v3 uint64
- _, _, _, _ = s, v1, v2, v3
- if _deflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- v1 = libc.Uint64FromInt32(0)
- (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
- (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* use zfree if we ever allocate msg dynamically */
- (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = int32(m_Z_UNKNOWN)
- s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = uint64(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap < 0 {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap /* was made negative by deflate(..., Z_FINISH); */
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
- v2 = int32(m_GZIP_STATE)
- } else {
- v2 = int32(m_INIT_STATE)
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = v2
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
- v3 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
- } else {
- v3 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v3
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(2)
- x__tr_init(tls, s)
- return m_Z_OK
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Initialize the "longest match" routines for a new zlib stream
- // */
- func _lm_init(tls *libc.TLS, s uintptr) {
- var v1 TuInt
- _ = v1
- (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size = libc.Uint64FromInt64(2) * uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
- *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
- libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
- /* Set the default configuration parameters:
- */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_lazy)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fgood_length)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fnice_length)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_chain)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
- (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
- v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v1
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v1
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
- (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(0)
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
- var ret int32
- _ = ret
- ret = XdeflateResetKeep(tls, strm)
- if ret == m_Z_OK {
- _lm_init(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
- }
- return ret
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflateSetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
- if _deflateStateCheck(tls, strm) != 0 || (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap != int32(2) {
- return -int32(2)
- }
- (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fgzhead = head
- return m_Z_OK
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflatePending(tls *libc.TLS, strm Tz_streamp, pending uintptr, bits uintptr) (r int32) {
- if _deflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- if pending != uintptr(m_Z_NULL) {
- *(*uint32)(unsafe.Pointer(pending)) = uint32((*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending)
- }
- if bits != uintptr(m_Z_NULL) {
- *(*int32)(unsafe.Pointer(bits)) = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fbi_valid
- }
- return m_Z_OK
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
- var put int32
- var s, p1 uintptr
- _, _, _ = put, s, p1
- if _deflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- 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)) {
- return -int32(5)
- }
- for cond := true; cond; cond = bits != 0 {
- put = int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid
- if put > bits {
- put = bits
- }
- p1 = s + 5936
- *(*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)))
- *(*int32)(unsafe.Pointer(s + 5940)) += put
- x__tr_flush_bits(tls, s)
- value >>= put
- bits -= put
- }
- return m_Z_OK
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflateParams(tls *libc.TLS, strm Tz_streamp, level int32, strategy int32) (r int32) {
- var err int32
- var func1 Tcompress_func
- var s uintptr
- _, _, _ = err, func1, s
- if _deflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- if level == -int32(1) {
- level = int32(6)
- }
- if level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) {
- return -int32(2)
- }
- func1 = _configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1
- if (strategy != (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy || func1 != _configuration_table[level].Ffunc1) && (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush != -int32(2) {
- /* Flush the last buffer: */
- err = Xdeflate(tls, strm, int32(m_Z_BLOCK))
- if err == -int32(2) {
- return err
- }
- 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 {
- return -int32(5)
- }
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != level {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches != uint32(0) {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches == uint32(1) {
- _slide_hash(tls, s)
- } else {
- *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
- libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(0)
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[level].Fmax_lazy)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[level].Fgood_length)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[level].Fnice_length)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[level].Fmax_chain)
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
- return m_Z_OK
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflateTune(tls *libc.TLS, strm Tz_streamp, good_length int32, max_lazy int32, nice_length int32, max_chain int32) (r int32) {
- var s uintptr
- _ = s
- if _deflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = libc.Uint32FromInt32(good_length)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = libc.Uint32FromInt32(max_lazy)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = nice_length
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = libc.Uint32FromInt32(max_chain)
- return m_Z_OK
- }
- // C documentation
- //
- // /* =========================================================================
- // * For the default windowBits of 15 and memLevel of 8, this function returns a
- // * close to exact, as well as small, upper bound on the compressed size. This
- // * is an expansion of ~0.03%, plus a small constant.
- // *
- // * For any setting other than those defaults for windowBits and memLevel, one
- // * of two worst case bounds is returned. This is at most an expansion of ~4% or
- // * ~13%, plus a small constant.
- // *
- // * Both the 0.03% and 4% derive from the overhead of stored blocks. The first
- // * one is for stored blocks of 16383 bytes (memLevel == 8), whereas the second
- // * is for stored blocks of 127 bytes (the worst case memLevel == 1). The
- // * expansion results from five bytes of header for each stored block.
- // *
- // * The larger expansion of 13% results from a window size less than or equal to
- // * the symbols buffer size (windowBits <= memLevel + 7). In that case some of
- // * the data being compressed may have slid out of the sliding window, impeding
- // * a stored block from being emitted. Then the only choice is a fixed or
- // * dynamic block, where a fixed block limits the maximum expansion to 9 bits
- // * per 8-bit byte, plus 10 bits for every block. The smallest block size for
- // * which this can occur is 255 (memLevel == 2).
- // *
- // * Shifts are used to approximate divisions, for speed.
- // */
- func XdeflateBound(tls *libc.TLS, strm Tz_streamp, sourceLen TuLong) (r TuLong) {
- var fixedlen, storelen, wraplen TuLong
- var s, str, v3, v5 uintptr
- var v1, v7 uint64
- var v2 int32
- _, _, _, _, _, _, _, _, _, _ = fixedlen, s, storelen, str, wraplen, v1, v2, v3, v5, v7
- /* upper bound for fixed blocks with 9-bit literals and length 255
- (memLevel == 2, which is the lowest that may not use stored blocks) --
- ~13% overhead plus a small constant */
- fixedlen = sourceLen + sourceLen>>libc.Int32FromInt32(3) + sourceLen>>libc.Int32FromInt32(8) + sourceLen>>libc.Int32FromInt32(9) + uint64(4)
- /* upper bound for stored blocks with length 127 (memLevel == 1) --
- ~4% overhead plus a small constant */
- storelen = sourceLen + sourceLen>>libc.Int32FromInt32(5) + sourceLen>>libc.Int32FromInt32(7) + sourceLen>>libc.Int32FromInt32(11) + uint64(7)
- /* if can't get parameters, return larger bound plus a zlib wrapper */
- if _deflateStateCheck(tls, strm) != 0 {
- if fixedlen > storelen {
- v1 = fixedlen
- } else {
- v1 = storelen
- }
- return v1 + uint64(6)
- }
- /* compute wrapper length */
- s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- switch (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap {
- case 0: /* raw deflate */
- wraplen = uint64(0)
- case int32(1): /* zlib wrapper */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != 0 {
- v2 = int32(4)
- } else {
- v2 = 0
- }
- wraplen = libc.Uint64FromInt32(int32(6) + v2)
- case int32(2): /* gzip wrapper */
- wraplen = uint64(18)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead != uintptr(m_Z_NULL) {
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
- wraplen += uint64(uint32(2) + (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len)
- }
- str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname
- if str != uintptr(m_Z_NULL) {
- for {
- wraplen++
- goto _4
- _4:
- ;
- v3 = str
- str++
- if !(*(*TBytef)(unsafe.Pointer(v3)) != 0) {
- break
- }
- }
- }
- str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment
- if str != uintptr(m_Z_NULL) {
- for {
- wraplen++
- goto _6
- _6:
- ;
- v5 = str
- str++
- if !(*(*TBytef)(unsafe.Pointer(v5)) != 0) {
- break
- }
- }
- }
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
- wraplen += uint64(2)
- }
- }
- default: /* for compiler happiness */
- wraplen = uint64(6)
- }
- /* if not default parameters, return one of the conservative bounds */
- 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)) {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits <= (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits && (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != 0 {
- v7 = fixedlen
- } else {
- v7 = storelen
- }
- return v7 + wraplen
- }
- /* default settings: return tight bound for that case -- ~0.03% overhead
- plus a small constant */
- return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13) - uint64(6) + wraplen
- }
- // C documentation
- //
- // /* =========================================================================
- // * Put a short in the pending buffer. The 16-bit value is put in MSB order.
- // * IN assertion: the stream state is correct and there is enough room in
- // * pending_buf.
- // */
- func _putShortMSB(tls *libc.TLS, s uintptr, b TuInt) {
- var v1, v3 Tulg
- var v2, v4 uintptr
- _, _, _, _ = v1, v2, v3, v4
- v2 = s + 40
- v1 = *(*Tulg)(unsafe.Pointer(v2))
- *(*Tulg)(unsafe.Pointer(v2))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = uint8(b >> libc.Int32FromInt32(8))
- v4 = s + 40
- v3 = *(*Tulg)(unsafe.Pointer(v4))
- *(*Tulg)(unsafe.Pointer(v4))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = uint8(b & libc.Uint32FromInt32(0xff))
- }
- // C documentation
- //
- // /* =========================================================================
- // * Flush as much pending output as possible. All deflate() output, except for
- // * some deflate_stored() output, goes through this function so some
- // * applications may wish to modify it to avoid allocating a large
- // * strm->next_out buffer and copying into it. (See also read_buf()).
- // */
- func _flush_pending(tls *libc.TLS, strm Tz_streamp) {
- var len1 uint32
- var s uintptr
- _, _ = len1, s
- s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- x__tr_flush_bits(tls, s)
- len1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
- if len1 > (*Tz_stream)(unsafe.Pointer(strm)).Favail_out {
- len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
- }
- if len1 == uint32(0) {
- return
- }
- libc.Xmemcpy(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out, uint64(len1))
- *(*uintptr)(unsafe.Pointer(strm + 24)) += uintptr(len1)
- *(*uintptr)(unsafe.Pointer(s + 32)) += uintptr(len1)
- *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(len1)
- *(*TuInt)(unsafe.Pointer(strm + 32)) -= len1
- *(*Tulg)(unsafe.Pointer(s + 40)) -= uint64(len1)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == uint64(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
- }
- }
- /* ===========================================================================
- * Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1].
- */
- // C documentation
- //
- // /* ========================================================================= */
- func Xdeflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
- 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
- var bstate Tblock_state
- var copy1, header, left, level_flags TuInt
- var old_flush, val, val1, v1, v2, v22, v23, v28, v29, v30, v31, v32, v43, v44, v63, v64, v65, v82 int32
- 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
- var v3 bool
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
- if _deflateStateCheck(tls, strm) != 0 || flush > int32(m_Z_BLOCK) || flush < 0 {
- return -int32(2)
- }
- s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- 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) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(2)]
- return -libc.Int32FromInt32(2)
- }
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
- return -libc.Int32FromInt32(5)
- }
- old_flush = (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = flush
- /* Flush as much pending output as possible */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
- _flush_pending(tls, strm)
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
- /* Since avail_out is 0, deflate will be called again with
- * more output space, but possibly with both pending and
- * avail_in equal to zero. There won't be anything to do,
- * but this is not an error situation so make sure we
- * return OK instead of BUF_ERROR at next call of deflate:
- */
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
- return m_Z_OK
- }
- /* Make sure there is something to do and avoid duplicate consecutive
- * flushes. For repeated and useless calls with Z_FINISH, we keep
- * returning Z_STREAM_END instead of Z_BUF_ERROR.
- */
- } else {
- if v3 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0); v3 {
- if flush > int32(4) {
- v1 = int32(9)
- } else {
- v1 = 0
- }
- if old_flush > int32(4) {
- v2 = int32(9)
- } else {
- v2 = 0
- }
- }
- if v3 && flush*int32(2)-v1 <= old_flush*int32(2)-v2 && flush != int32(m_Z_FINISH) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
- return -libc.Int32FromInt32(5)
- }
- }
- /* User must not provide more input after the first FINISH: */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
- return -libc.Int32FromInt32(5)
- }
- /* Write the header */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == 0 {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) {
- /* zlib header */
- header = (uint32(m_Z_DEFLATED) + ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits-uint32(8))<<int32(4)) << int32(8)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
- level_flags = uint32(0)
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(6) {
- level_flags = uint32(1)
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(6) {
- level_flags = uint32(2)
- } else {
- level_flags = uint32(3)
- }
- }
- }
- header |= level_flags << libc.Int32FromInt32(6)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
- header |= uint32(m_PRESET_DICT1)
- }
- header += uint32(31) - header%uint32(31)
- _putShortMSB(tls, s, header)
- /* Save the adler32 of the preset dictionary: */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
- _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
- _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
- /* Compression must start with an empty pending buffer */
- _flush_pending(tls, strm)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
- return m_Z_OK
- }
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_GZIP_STATE) {
- /* gzip header */
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
- v5 = s + 40
- v4 = *(*Tulg)(unsafe.Pointer(v5))
- *(*Tulg)(unsafe.Pointer(v5))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromInt32(31))
- v7 = s + 40
- v6 = *(*Tulg)(unsafe.Pointer(v7))
- *(*Tulg)(unsafe.Pointer(v7))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromInt32(139))
- v9 = s + 40
- v8 = *(*Tulg)(unsafe.Pointer(v9))
- *(*Tulg)(unsafe.Pointer(v9))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromInt32(8))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead == uintptr(m_Z_NULL) {
- v11 = s + 40
- v10 = *(*Tulg)(unsafe.Pointer(v11))
- *(*Tulg)(unsafe.Pointer(v11))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
- v13 = s + 40
- v12 = *(*Tulg)(unsafe.Pointer(v13))
- *(*Tulg)(unsafe.Pointer(v13))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
- v15 = s + 40
- v14 = *(*Tulg)(unsafe.Pointer(v15))
- *(*Tulg)(unsafe.Pointer(v15))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
- v17 = s + 40
- v16 = *(*Tulg)(unsafe.Pointer(v17))
- *(*Tulg)(unsafe.Pointer(v17))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
- v19 = s + 40
- v18 = *(*Tulg)(unsafe.Pointer(v19))
- *(*Tulg)(unsafe.Pointer(v19))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
- v21 = s + 40
- v20 = *(*Tulg)(unsafe.Pointer(v21))
- *(*Tulg)(unsafe.Pointer(v21))++
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
- v22 = int32(2)
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
- v23 = int32(4)
- } else {
- v23 = 0
- }
- v22 = v23
- }
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(v22)
- v25 = s + 40
- v24 = *(*Tulg)(unsafe.Pointer(v25))
- *(*Tulg)(unsafe.Pointer(v25))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromInt32(m_OS_CODE))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
- /* Compression must start with an empty pending buffer */
- _flush_pending(tls, strm)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
- return m_Z_OK
- }
- } else {
- v27 = s + 40
- v26 = *(*Tulg)(unsafe.Pointer(v27))
- *(*Tulg)(unsafe.Pointer(v27))++
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftext != 0 {
- v28 = int32(1)
- } else {
- v28 = 0
- }
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
- v29 = int32(2)
- } else {
- v29 = 0
- }
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra == uintptr(m_Z_NULL) {
- v30 = 0
- } else {
- v30 = int32(4)
- }
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname == uintptr(m_Z_NULL) {
- v31 = 0
- } else {
- v31 = int32(8)
- }
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment == uintptr(m_Z_NULL) {
- v32 = 0
- } else {
- v32 = int32(16)
- }
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(v28 + v29 + v30 + v31 + v32)
- v34 = s + 40
- v33 = *(*Tulg)(unsafe.Pointer(v34))
- *(*Tulg)(unsafe.Pointer(v34))++
- *(*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))
- v36 = s + 40
- v35 = *(*Tulg)(unsafe.Pointer(v36))
- *(*Tulg)(unsafe.Pointer(v36))++
- *(*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))
- v38 = s + 40
- v37 = *(*Tulg)(unsafe.Pointer(v38))
- *(*Tulg)(unsafe.Pointer(v38))++
- *(*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))
- v40 = s + 40
- v39 = *(*Tulg)(unsafe.Pointer(v40))
- *(*Tulg)(unsafe.Pointer(v40))++
- *(*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))
- v42 = s + 40
- v41 = *(*Tulg)(unsafe.Pointer(v42))
- *(*Tulg)(unsafe.Pointer(v42))++
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
- v43 = int32(2)
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
- v44 = int32(4)
- } else {
- v44 = 0
- }
- v43 = v44
- }
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v41))) = libc.Uint8FromInt32(v43)
- v46 = s + 40
- v45 = *(*Tulg)(unsafe.Pointer(v46))
- *(*Tulg)(unsafe.Pointer(v46))++
- *(*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))
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
- v48 = s + 40
- v47 = *(*Tulg)(unsafe.Pointer(v48))
- *(*Tulg)(unsafe.Pointer(v48))++
- *(*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))
- v50 = s + 40
- v49 = *(*Tulg)(unsafe.Pointer(v50))
- *(*Tulg)(unsafe.Pointer(v50))++
- *(*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))
- }
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
- (*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))
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_EXTRA_STATE)
- }
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_EXTRA_STATE) {
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
- beg = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending /* start of bytes to update crc */
- left = uint32(uint64((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len&libc.Uint32FromInt32(0xffff)) - (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex)
- for (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(left) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
- copy1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(copy1))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
- (*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))
- }
- *(*Tulg)(unsafe.Pointer(s + 64)) += uint64(copy1)
- _flush_pending(tls, strm)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
- return m_Z_OK
- }
- beg = uint64(0)
- left -= copy1
- }
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(left))
- *(*Tulg)(unsafe.Pointer(s + 40)) += uint64(left)
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
- (*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))
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_NAME_STATE)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_NAME_STATE) {
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname != uintptr(m_Z_NULL) {
- beg1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
- for cond := true; cond; cond = val != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
- (*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))
- }
- _flush_pending(tls, strm)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
- return m_Z_OK
- }
- beg1 = uint64(0)
- }
- v52 = s + 64
- v51 = *(*Tulg)(unsafe.Pointer(v52))
- *(*Tulg)(unsafe.Pointer(v52))++
- val = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname + uintptr(v51))))
- v54 = s + 40
- v53 = *(*Tulg)(unsafe.Pointer(v54))
- *(*Tulg)(unsafe.Pointer(v54))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v53))) = libc.Uint8FromInt32(val)
- }
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
- (*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))
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_COMMENT_STATE)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_COMMENT_STATE) {
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment != uintptr(m_Z_NULL) {
- beg2 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
- for cond := true; cond; cond = val1 != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
- (*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))
- }
- _flush_pending(tls, strm)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
- return m_Z_OK
- }
- beg2 = uint64(0)
- }
- v56 = s + 64
- v55 = *(*Tulg)(unsafe.Pointer(v56))
- *(*Tulg)(unsafe.Pointer(v56))++
- val1 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment + uintptr(v55))))
- v58 = s + 40
- v57 = *(*Tulg)(unsafe.Pointer(v58))
- *(*Tulg)(unsafe.Pointer(v58))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v57))) = libc.Uint8FromInt32(val1)
- }
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
- (*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))
- }
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_HCRC_STATE)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_HCRC_STATE) {
- if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(2) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
- _flush_pending(tls, strm)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
- return m_Z_OK
- }
- }
- v60 = s + 40
- v59 = *(*Tulg)(unsafe.Pointer(v60))
- *(*Tulg)(unsafe.Pointer(v60))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v59))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
- v62 = s + 40
- v61 = *(*Tulg)(unsafe.Pointer(v62))
- *(*Tulg)(unsafe.Pointer(v62))++
- *(*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))
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
- /* Compression must start with an empty pending buffer */
- _flush_pending(tls, strm)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
- return m_Z_OK
- }
- }
- /* Start a new block or continue the current one.
- */
- 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) {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 {
- v63 = _deflate_stored(tls, s, flush)
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_HUFFMAN_ONLY) {
- v64 = _deflate_huff(tls, s, flush)
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_RLE) {
- v65 = _deflate_rle(tls, s, flush)
- } else {
- v65 = (*(*func(*libc.TLS, uintptr, int32) Tblock_state)(unsafe.Pointer(&struct{ uintptr }{_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1})))(tls, s, flush)
- }
- v64 = v65
- }
- v63 = v64
- }
- bstate = v63
- if bstate == int32(_finish_started) || bstate == int32(_finish_done) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
- }
- if bstate == int32(_need_more) || bstate == int32(_finish_started) {
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR next call, see above */
- }
- return m_Z_OK
- /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
- * of deflate should use the same flush parameter to make sure
- * that the flush is complete. So we don't have to output an
- * empty block here, this will be done at next call. This also
- * ensures that for a very small output buffer, we emit at most
- * one empty block.
- */
- }
- if bstate == int32(_block_done) {
- if flush == int32(m_Z_PARTIAL_FLUSH) {
- x__tr_align(tls, s)
- } else {
- if flush != int32(m_Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
- x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), 0)
- /* For a full flush, this empty block will be recognized
- * as a special marker by inflate_sync().
- */
- if flush == int32(m_Z_FULL_FLUSH) {
- *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
- libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2)) /* forget history */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
- }
- }
- }
- }
- _flush_pending(tls, strm)
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR at next call, see above */
- return m_Z_OK
- }
- }
- }
- if flush != int32(m_Z_FINISH) {
- return m_Z_OK
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap <= 0 {
- return int32(m_Z_STREAM_END)
- }
- /* Write the trailer */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
- v67 = s + 40
- v66 = *(*Tulg)(unsafe.Pointer(v67))
- *(*Tulg)(unsafe.Pointer(v67))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v66))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
- v69 = s + 40
- v68 = *(*Tulg)(unsafe.Pointer(v69))
- *(*Tulg)(unsafe.Pointer(v69))++
- *(*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))
- v71 = s + 40
- v70 = *(*Tulg)(unsafe.Pointer(v71))
- *(*Tulg)(unsafe.Pointer(v71))++
- *(*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))
- v73 = s + 40
- v72 = *(*Tulg)(unsafe.Pointer(v73))
- *(*Tulg)(unsafe.Pointer(v73))++
- *(*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))
- v75 = s + 40
- v74 = *(*Tulg)(unsafe.Pointer(v75))
- *(*Tulg)(unsafe.Pointer(v75))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v74))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in & libc.Uint64FromInt32(0xff))
- v77 = s + 40
- v76 = *(*Tulg)(unsafe.Pointer(v77))
- *(*Tulg)(unsafe.Pointer(v77))++
- *(*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))
- v79 = s + 40
- v78 = *(*Tulg)(unsafe.Pointer(v79))
- *(*Tulg)(unsafe.Pointer(v79))++
- *(*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))
- v81 = s + 40
- v80 = *(*Tulg)(unsafe.Pointer(v81))
- *(*Tulg)(unsafe.Pointer(v81))++
- *(*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))
- } else {
- _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
- _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
- }
- _flush_pending(tls, strm)
- /* If avail_out is zero, the application will call deflate again
- * to flush the rest.
- */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap > 0 {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
- } /* write the trailer only once! */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
- v82 = m_Z_OK
- } else {
- v82 = int32(m_Z_STREAM_END)
- }
- return v82
- }
- // C documentation
- //
- // /* ========================================================================= */
- func XdeflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
- var status, v1 int32
- _, _ = status, v1
- if _deflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- status = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fstatus
- /* Deallocate in reverse order of allocations: */
- if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf != 0 {
- (*(*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)
- }
- if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead != 0 {
- (*(*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)
- }
- if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev != 0 {
- (*(*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)
- }
- if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow != 0 {
- (*(*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)
- }
- (*(*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)
- (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
- if status == int32(m_BUSY_STATE) {
- v1 = -int32(3)
- } else {
- v1 = m_Z_OK
- }
- return v1
- }
- // C documentation
- //
- // /* =========================================================================
- // * Copy the source state to the destination state.
- // * To simplify the source, this is not supported for 16-bit MSDOS (which
- // * doesn't have enough memory anyway to duplicate compression states).
- // */
- func XdeflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
- var ds, ss uintptr
- _, _ = ds, ss
- if _deflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
- return -int32(2)
- }
- ss = (*Tz_stream)(unsafe.Pointer(source)).Fstate
- libc.Xmemcpy(tls, dest, source, uint64(112))
- 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)))
- if ds == uintptr(m_Z_NULL) {
- return -int32(4)
- }
- (*Tz_stream)(unsafe.Pointer(dest)).Fstate = ds
- libc.Xmemcpy(tls, ds, ss, uint64(5952))
- (*Tdeflate_state)(unsafe.Pointer(ds)).Fstrm = dest
- (*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)))
- (*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)))
- (*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)))
- (*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)))
- 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) {
- XdeflateEnd(tls, dest)
- return -int32(4)
- }
- /* following zmemcpy do not work for 16-bit MSDOS */
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(ss)).Fwindow, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size*uint32(2))*uint64(1))
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev, (*Tdeflate_state)(unsafe.Pointer(ss)).Fprev, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size)*uint64(2))
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead, (*Tdeflate_state)(unsafe.Pointer(ss)).Fhead, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fhash_size)*uint64(2))
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf, (*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_buf, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize*uint32(m_LIT_BUFS)))
- (*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))
- (*Tdeflate_state)(unsafe.Pointer(ds)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize)
- (*Tdeflate_state)(unsafe.Pointer(ds)).Fl_desc.Fdyn_tree = ds + 212
- (*Tdeflate_state)(unsafe.Pointer(ds)).Fd_desc.Fdyn_tree = ds + 2504
- (*Tdeflate_state)(unsafe.Pointer(ds)).Fbl_desc.Fdyn_tree = ds + 2748
- return m_Z_OK
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Set match_start to the longest match starting at the given string and
- // * return its length. Matches shorter or equal to prev_length are discarded,
- // * in which case the result is equal to prev_length and match_start is
- // * garbage.
- // * IN assertions: cur_match is the head of the hash chain for the current
- // * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
- // * OUT assertion: the match length is not greater than s->lookahead.
- // */
- func _longest_match(tls *libc.TLS, s uintptr, cur_match TIPos) (r TuInt) {
- var best_len, len1, nice_match int32
- var chain_length, v1, v3 uint32
- var limit, v2 TIPos
- var match, prev, scan, strend, v10, v11, v13, v14, v16, v17, v19, v20, v22, v23, v25, v26, v28, v29, v6, v8, v9 uintptr
- var scan_end, scan_end1 TByte
- var wmask TuInt
- var v12, v15, v18, v21, v24, v27, v30, v4, v7 bool
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
- chain_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length /* max hash chain length */
- scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) /* length of current match */
- best_len = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length) /* best match length so far */
- nice_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match
- 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)) {
- 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)))
- } else {
- v1 = uint32(m_NIL)
- } /* stop if match long enough */
- limit = v1
- /* Stop when cur_match becomes <= limit. To simplify the code,
- * we prevent matches with the string of window index 0.
- */
- prev = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev
- wmask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask
- strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
- scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
- scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- /* Do not waste too much time if we already have a good match: */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match {
- chain_length >>= uint32(2)
- }
- /* Do not look for matches beyond the end of the input. This is necessary
- * to make deflate deterministic.
- */
- if libc.Uint32FromInt32(nice_match) > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
- nice_match = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
- }
- for {
- match = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(cur_match)
- /* Skip to next match if the match length cannot increase
- * or if the match length is less than 2. Note that the checks below
- * for insufficient lookahead only occur occasionally for performance
- * reasons. Therefore uninitialized memory will be accessed, and
- * conditional jumps will be made that depend on those values.
- * However the length of the match is limited to the lookahead, so
- * the output of deflate is not affected by the uninitialized values.
- */
- 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 {
- match++
- v6 = match
- }
- if v7 || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v6))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan + 1))) {
- goto _5
- }
- /* The check at best_len - 1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += uintptr(2)
- /* The check at best_len - 1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- match++
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart + 258.
- */
- for {
- goto _31
- _31:
- ;
- scan++
- v8 = scan
- match++
- v9 = match
- if v12 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v8))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v9))); v12 {
- scan++
- v10 = scan
- match++
- v11 = match
- }
- if v15 = v12 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v10))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v11))); v15 {
- scan++
- v13 = scan
- match++
- v14 = match
- }
- if v18 = v15 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v13))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v14))); v18 {
- scan++
- v16 = scan
- match++
- v17 = match
- }
- if v21 = v18 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v16))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v17))); v21 {
- scan++
- v19 = scan
- match++
- v20 = match
- }
- if v24 = v21 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v19))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v20))); v24 {
- scan++
- v22 = scan
- match++
- v23 = match
- }
- if v27 = v24 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v22))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v23))); v27 {
- scan++
- v25 = scan
- match++
- v26 = match
- }
- if v30 = v27 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v25))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v26))); v30 {
- scan++
- v28 = scan
- match++
- v29 = match
- }
- if !(v30 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v28))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v29))) && scan < strend) {
- break
- }
- }
- len1 = int32(m_MAX_MATCH) - int32(int64(strend)-int64(scan))
- scan = strend - uintptr(m_MAX_MATCH)
- if len1 > best_len {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start = cur_match
- best_len = len1
- if len1 >= nice_match {
- break
- }
- scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
- scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
- }
- goto _5
- _5:
- ;
- v2 = uint32(*(*TPosf)(unsafe.Pointer(prev + uintptr(cur_match&wmask)*2)))
- cur_match = v2
- if v4 = v2 > limit; v4 {
- chain_length--
- v3 = chain_length
- }
- if !(v4 && v3 != uint32(0)) {
- break
- }
- }
- if libc.Uint32FromInt32(best_len) <= (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
- return libc.Uint32FromInt32(best_len)
- }
- return (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
- }
- /* ===========================================================================
- * Flush the current block, with given end-of-file flag.
- * IN assertion: strstart is set to the end of the current match.
- */
- /* Same but force premature exit if necessary. */
- /* Maximum stored block length in deflate format (not including header). */
- /* Minimum of a and b. */
- // C documentation
- //
- // /* ===========================================================================
- // * Copy without compression as much as possible from the input stream, return
- // * the current block state.
- // *
- // * In case deflateParams() is used to later switch to a non-zero compression
- // * level, s->matches (otherwise unused when storing) keeps track of the number
- // * of hash table slides to perform. If s->matches is 1, then one hash table
- // * slide will be done when switching. If s->matches is 2, the maximum value
- // * allowed here, then the hash table will be cleared, since two or more slides
- // * is the same as a clear.
- // *
- // * deflate_stored() is written to minimize the number of times an input byte is
- // * copied. It is most efficient with large input and output buffers, which
- // * maximizes the opportunities to have a single copy from next_in to next_out.
- // */
- func _deflate_stored(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
- var have, last, left, len1, min_block, used, v3, v4, v6, v7 uint32
- var v1, v5 uint64
- var v2, v8, v9 int32
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = have, last, left, len1, min_block, used, v1, v2, v3, v4, v5, v6, v7, v8, v9
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(5) > uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
- v1 = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
- } else {
- v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(5)
- }
- /* Smallest worthy block size when not flushing or finishing. By default
- * this is 32K. This can be as small as 507 bytes for memLevel == 1. For
- * large input and output buffers, the stored block size will be larger.
- */
- min_block = uint32(v1)
- last = uint32(0)
- used = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
- for cond := true; cond; cond = last == uint32(0) {
- /* Set len to the maximum size block that we can copy directly with the
- * available input data and output space. Set left to how much of that
- * would be copied from what's left in the window.
- */
- len1 = uint32(m_MAX_STORED) /* maximum deflate stored block length */
- have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out < have { /* need room for header */
- break
- }
- /* maximum stored block length that will fit in avail_out: */
- have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out - have
- left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start) /* bytes left in window */
- if uint64(len1) > uint64(left)+uint64((*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
- len1 = left + (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
- } /* limit len to the input */
- if len1 > have {
- len1 = have
- } /* limit len to the output */
- /* If the stored block would be less than min_block in length, or if
- * unable to copy all of the available input when flushing, then try
- * copying to the window and the pending buffer instead. Also don't
- * write an empty block when flushing -- deflate() does that.
- */
- 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) {
- break
- }
- /* Make a dummy stored block in pending to get the header bytes,
- * including any pending bits. This also updates the debugging counts.
- */
- if flush == int32(m_Z_FINISH) && len1 == left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
- v2 = int32(1)
- } else {
- v2 = 0
- }
- last = libc.Uint32FromInt32(v2)
- x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), libc.Int32FromUint32(last))
- /* Replace the lengths in the dummy stored block with len. */
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(4)))) = uint8(len1)
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(3)))) = uint8(len1 >> int32(8))
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(2)))) = uint8(^len1)
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(1)))) = uint8(^len1 >> int32(8))
- /* Write the stored block header bytes. */
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- /* Copy uncompressed bytes from the window to next_out. */
- if left != 0 {
- if left > len1 {
- left = len1
- }
- libc.Xmemcpy(tls, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(left))
- *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(left)
- *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= left
- *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(left)
- *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(left)
- len1 -= left
- }
- /* Copy uncompressed bytes directly from next_in to next_out, updating
- * the check value.
- */
- if len1 != 0 {
- _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, len1)
- *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(len1)
- *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= len1
- *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(len1)
- }
- }
- /* Update the sliding window with the last s->w_size bytes of the copied
- * data, or append all of the copied data to the existing window if less
- * than s->w_size bytes were copied. Also update the number of bytes to
- * insert in the hash tables, in the event that deflateParams() switches to
- * a non-zero compression level.
- */
- used -= (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in /* number of input bytes directly copied */
- if used != 0 {
- /* If any input was used, then no unused input remains in the window,
- * therefore s->block_start == s->strstart.
- */
- if used >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size { /* supplant the previous history */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(2) /* clear hash */
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) <= uint64(used) {
- /* Slide the window down. */
- *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
- } /* add a pending slide_hash() */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
- }
- }
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr(used), uint64(used))
- *(*TuInt)(unsafe.Pointer(s + 172)) += used
- if used > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
- v3 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
- } else {
- v3 = used
- }
- *(*TuInt)(unsafe.Pointer(s + 5932)) += v3
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- }
- /* If the last block was written to next_out, then done. */
- if last != 0 {
- return int32(_finish_done)
- }
- /* If flushing and all input has been consumed, then done. */
- 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 {
- return int32(_block_done)
- }
- /* Fill the window with any remaining input. */
- have = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
- 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) {
- /* Slide the window down. */
- *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
- *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
- } /* add a pending slide_hash() */
- have += (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size /* more space now */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
- }
- }
- if have > (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
- have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
- }
- if have != 0 {
- _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), have)
- *(*TuInt)(unsafe.Pointer(s + 172)) += have
- if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
- v4 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
- } else {
- v4 = have
- }
- *(*TuInt)(unsafe.Pointer(s + 5932)) += v4
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- }
- /* There was not enough avail_out to write a complete worthy or flushed
- * stored block to next_out. Write a stored block to pending instead, if we
- * have enough input for a worthy block, or if flushing and there is enough
- * room for the remaining input as a stored block in the pending buffer.
- */
- have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
- /* maximum stored block length that will fit in pending: */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(have) > libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED)) {
- v5 = libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED))
- } else {
- v5 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(have)
- }
- have = uint32(v5)
- if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
- v6 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
- } else {
- v6 = have
- }
- min_block = v6
- left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start)
- 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 {
- if left > have {
- v7 = have
- } else {
- v7 = left
- }
- len1 = v7
- if flush == int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && len1 == left {
- v8 = int32(1)
- } else {
- v8 = 0
- }
- last = libc.Uint32FromInt32(v8)
- 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))
- *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(len1)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- }
- /* We've done all we can with the available input and output. */
- if last != 0 {
- v9 = int32(_finish_started)
- } else {
- v9 = int32(_need_more)
- }
- return v9
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Compress as much as possible from the input stream, return the current
- // * block state.
- // * This function does not perform lazy evaluation of matches and inserts
- // * new strings in the dictionary only for unmatched strings or for short
- // * matches. It is used only for the fast compression options.
- // */
- func _deflate_fast(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
- var bflush, v9 int32
- var cc, len1 Tuch
- var dist Tush
- var hash_head TIPos
- var v10, v14, v16, v18, v3, v5, v7 TuInt
- var v11, v15, v17, v19, v20, v22, v23, v4, v6, v8 uintptr
- var v13, v2 TPosf
- var v21 uint32
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
- for {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
- _fill_window(tls, s)
- 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 {
- return int32(_need_more)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
- break
- } /* flush the current block */
- }
- /* Insert the string window[strstart .. strstart + 2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- hash_head = uint32(m_NIL)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
- (*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
- v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
- *(*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
- hash_head = uint32(v2)
- *(*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)
- }
- /* Find the longest match, discarding those <= prev_length.
- * At this point we have always match_length < MIN_MATCH
- */
- 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)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
- /* longest_match() sets match_start */
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
- len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
- dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start)
- v4 = s + 5900
- v3 = *(*TuInt)(unsafe.Pointer(v4))
- *(*TuInt)(unsafe.Pointer(v4))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
- v6 = s + 5900
- v5 = *(*TuInt)(unsafe.Pointer(v6))
- *(*TuInt)(unsafe.Pointer(v6))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
- v8 = s + 5900
- v7 = *(*TuInt)(unsafe.Pointer(v8))
- *(*TuInt)(unsafe.Pointer(v8))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
- dist--
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
- if libc.Int32FromUint16(dist) < int32(256) {
- v9 = libc.Int32FromUint8(x__dist_code[dist])
- } else {
- v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
- }
- *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
- bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
- *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
- /* Insert new strings in the hash table only if the match length
- * is not too large. This saves time but degrades compression.
- */
- 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) {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length-- /* string at strstart already in table */
- for {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
- (*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
- v13 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
- *(*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
- hash_head = uint32(v13)
- *(*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)
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead.
- */
- goto _12
- _12:
- ;
- v11 = s + 160
- *(*TuInt)(unsafe.Pointer(v11))--
- v10 = *(*TuInt)(unsafe.Pointer(v11))
- if !(v10 != uint32(0)) {
- break
- }
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
- } else {
- *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))))
- (*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
- /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
- * matter since it will be recomputed at next deflate call.
- */
- }
- } else {
- /* No match, output a literal byte */
- cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
- v15 = s + 5900
- v14 = *(*TuInt)(unsafe.Pointer(v15))
- *(*TuInt)(unsafe.Pointer(v15))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v14))) = uint8(0)
- v17 = s + 5900
- v16 = *(*TuInt)(unsafe.Pointer(v17))
- *(*TuInt)(unsafe.Pointer(v17))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v16))) = uint8(0)
- v19 = s + 5900
- v18 = *(*TuInt)(unsafe.Pointer(v19))
- *(*TuInt)(unsafe.Pointer(v19))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v18))) = cc
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
- bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
- (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
- }
- if bflush != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v20 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v20 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_need_more)
- }
- }
- goto _1
- _1:
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
- v21 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
- } else {
- v21 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v21
- if flush == int32(m_Z_FINISH) {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v22 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v22 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_finish_started)
- }
- return int32(_finish_done)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v23 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_need_more)
- }
- }
- return int32(_block_done)
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Same as above, but achieves better compression. We use a lazy
- // * evaluation for matches: a match is finally adopted only if there is
- // * no better match at the next window position.
- // */
- func _deflate_slow(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
- var bflush, v9 int32
- var cc, cc1, len1 Tuch
- var dist Tush
- var hash_head TIPos
- var max_insert, v10, v13, v17, v19, v21, v24, v26, v28, v3, v5, v7 TuInt
- var v11, v14, v16, v18, v20, v22, v23, v25, v27, v29, v31, v32, v4, v6, v8 uintptr
- var v15, v2 TPosf
- var v30 uint32
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
- /* Process the input block. */
- for {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
- _fill_window(tls, s)
- 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 {
- return int32(_need_more)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
- break
- } /* flush the current block */
- }
- /* Insert the string window[strstart .. strstart + 2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- hash_head = uint32(m_NIL)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
- (*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
- v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
- *(*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
- hash_head = uint32(v2)
- *(*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)
- }
- /* Find the longest match, discarding those <= prev_length.
- */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
- /* Find the longest match, discarding those <= prev_length.
- */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
- 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)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
- /* longest_match() sets match_start */
- 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)) {
- /* If prev_match is also MIN_MATCH, match_start is garbage
- * but we will ignore the current match anyway.
- */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
- }
- }
- /* If there was a match at the previous step and the current
- * match is not better, output the previous match:
- */
- 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 {
- max_insert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - uint32(m_MIN_MATCH)
- /* Do not insert strings in hash table beyond this. */
- len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - libc.Uint32FromInt32(m_MIN_MATCH))
- dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - libc.Uint32FromInt32(1) - (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match)
- v4 = s + 5900
- v3 = *(*TuInt)(unsafe.Pointer(v4))
- *(*TuInt)(unsafe.Pointer(v4))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
- v6 = s + 5900
- v5 = *(*TuInt)(unsafe.Pointer(v6))
- *(*TuInt)(unsafe.Pointer(v6))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
- v8 = s + 5900
- v7 = *(*TuInt)(unsafe.Pointer(v8))
- *(*TuInt)(unsafe.Pointer(v8))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
- dist--
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
- if libc.Int32FromUint16(dist) < int32(256) {
- v9 = libc.Int32FromUint8(x__dist_code[dist])
- } else {
- v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
- }
- *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
- bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
- /* Insert in hash table all strings up to the end of the match.
- * strstart - 1 and strstart are already inserted. If there is not
- * enough lookahead, the last two strings are not inserted in
- * the hash table.
- */
- *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - uint32(1)
- *(*TuInt)(unsafe.Pointer(s + 184)) -= uint32(2)
- for {
- v14 = s + 172
- *(*TuInt)(unsafe.Pointer(v14))++
- v13 = *(*TuInt)(unsafe.Pointer(v14))
- if v13 <= max_insert {
- (*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
- v15 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
- *(*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
- hash_head = uint32(v15)
- *(*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)
- }
- goto _12
- _12:
- ;
- v11 = s + 184
- *(*TuInt)(unsafe.Pointer(v11))--
- v10 = *(*TuInt)(unsafe.Pointer(v11))
- if !(v10 != uint32(0)) {
- break
- }
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
- if bflush != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v16 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v16 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_need_more)
- }
- }
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
- /* If there was no match at the previous position, output a
- * single literal. If there was a match but the current match
- * is longer, truncate the previous match to a single literal.
- */
- cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
- v18 = s + 5900
- v17 = *(*TuInt)(unsafe.Pointer(v18))
- *(*TuInt)(unsafe.Pointer(v18))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v17))) = uint8(0)
- v20 = s + 5900
- v19 = *(*TuInt)(unsafe.Pointer(v20))
- *(*TuInt)(unsafe.Pointer(v20))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v19))) = uint8(0)
- v22 = s + 5900
- v21 = *(*TuInt)(unsafe.Pointer(v22))
- *(*TuInt)(unsafe.Pointer(v22))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v21))) = cc
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
- bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
- if bflush != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v23 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
- (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_need_more)
- }
- } else {
- /* There is no previous match to compare with, wait for
- * the next step to decide.
- */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = int32(1)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
- (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
- }
- }
- goto _1
- _1:
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
- cc1 = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
- v25 = s + 5900
- v24 = *(*TuInt)(unsafe.Pointer(v25))
- *(*TuInt)(unsafe.Pointer(v25))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v24))) = uint8(0)
- v27 = s + 5900
- v26 = *(*TuInt)(unsafe.Pointer(v27))
- *(*TuInt)(unsafe.Pointer(v27))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v26))) = uint8(0)
- v29 = s + 5900
- v28 = *(*TuInt)(unsafe.Pointer(v29))
- *(*TuInt)(unsafe.Pointer(v29))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v28))) = cc1
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc1)*4))++
- bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
- v30 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
- } else {
- v30 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v30
- if flush == int32(m_Z_FINISH) {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v31 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v31 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_finish_started)
- }
- return int32(_finish_done)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v32 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v32 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_need_more)
- }
- }
- return int32(_block_done)
- }
- // C documentation
- //
- // /* ===========================================================================
- // * For Z_RLE, simply look for runs of bytes, generate matches only of distance
- // * one. Do not maintain a hash table. (It will be regenerated if this run of
- // * deflate switches away from Z_RLE.)
- // */
- func _deflate_rle(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
- var bflush, v29 int32
- var cc, len1 Tuch
- var dist Tush
- var prev, v23, v25, v27, v30, v32, v34 TuInt
- var scan, strend, v10, v12, v14, v16, v18, v2, v20, v24, v26, v28, v3, v31, v33, v35, v36, v37, v38, v5, v7, v8 uintptr
- var v11, v13, v15, v17, v19, v21, v4, v6, v9 bool
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
- for {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the longest run, plus one for the unrolled loop.
- */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) {
- _fill_window(tls, s)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) && flush == m_Z_NO_FLUSH {
- return int32(_need_more)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
- break
- } /* flush the current block */
- }
- /* See how many times the previous byte repeats */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > uint32(0) {
- scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - uintptr(1)
- prev = uint32(*(*TBytef)(unsafe.Pointer(scan)))
- scan++
- v2 = scan
- if v4 = prev == uint32(*(*TBytef)(unsafe.Pointer(v2))); v4 {
- scan++
- v3 = scan
- }
- if v6 = v4 && prev == uint32(*(*TBytef)(unsafe.Pointer(v3))); v6 {
- scan++
- v5 = scan
- }
- if v6 && prev == uint32(*(*TBytef)(unsafe.Pointer(v5))) {
- strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
- for {
- goto _22
- _22:
- ;
- scan++
- v7 = scan
- if v9 = prev == uint32(*(*TBytef)(unsafe.Pointer(v7))); v9 {
- scan++
- v8 = scan
- }
- if v11 = v9 && prev == uint32(*(*TBytef)(unsafe.Pointer(v8))); v11 {
- scan++
- v10 = scan
- }
- if v13 = v11 && prev == uint32(*(*TBytef)(unsafe.Pointer(v10))); v13 {
- scan++
- v12 = scan
- }
- if v15 = v13 && prev == uint32(*(*TBytef)(unsafe.Pointer(v12))); v15 {
- scan++
- v14 = scan
- }
- if v17 = v15 && prev == uint32(*(*TBytef)(unsafe.Pointer(v14))); v17 {
- scan++
- v16 = scan
- }
- if v19 = v17 && prev == uint32(*(*TBytef)(unsafe.Pointer(v16))); v19 {
- scan++
- v18 = scan
- }
- if v21 = v19 && prev == uint32(*(*TBytef)(unsafe.Pointer(v18))); v21 {
- scan++
- v20 = scan
- }
- if !(v21 && prev == uint32(*(*TBytef)(unsafe.Pointer(v20))) && scan < strend) {
- break
- }
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(m_MAX_MATCH) - libc.Uint32FromInt64(int64(strend)-int64(scan))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
- }
- }
- }
- /* Emit match if have run of MIN_MATCH or longer, else emit literal */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
- len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
- dist = libc.Uint16FromInt32(libc.Int32FromInt32(1))
- v24 = s + 5900
- v23 = *(*TuInt)(unsafe.Pointer(v24))
- *(*TuInt)(unsafe.Pointer(v24))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v23))) = uint8(dist)
- v26 = s + 5900
- v25 = *(*TuInt)(unsafe.Pointer(v26))
- *(*TuInt)(unsafe.Pointer(v26))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v25))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
- v28 = s + 5900
- v27 = *(*TuInt)(unsafe.Pointer(v28))
- *(*TuInt)(unsafe.Pointer(v28))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v27))) = len1
- dist--
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
- if libc.Int32FromUint16(dist) < int32(256) {
- v29 = libc.Int32FromUint8(x__dist_code[dist])
- } else {
- v29 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
- }
- *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v29)*4))++
- bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
- *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
- *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
- } else {
- /* No match, output a literal byte */
- cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
- v31 = s + 5900
- v30 = *(*TuInt)(unsafe.Pointer(v31))
- *(*TuInt)(unsafe.Pointer(v31))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v30))) = uint8(0)
- v33 = s + 5900
- v32 = *(*TuInt)(unsafe.Pointer(v33))
- *(*TuInt)(unsafe.Pointer(v33))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v32))) = uint8(0)
- v35 = s + 5900
- v34 = *(*TuInt)(unsafe.Pointer(v35))
- *(*TuInt)(unsafe.Pointer(v35))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v34))) = cc
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
- bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
- (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
- }
- if bflush != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v36 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v36 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_need_more)
- }
- }
- goto _1
- _1:
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
- if flush == int32(m_Z_FINISH) {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v37 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v37 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_finish_started)
- }
- return int32(_finish_done)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v38 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v38 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_need_more)
- }
- }
- return int32(_block_done)
- }
- // C documentation
- //
- // /* ===========================================================================
- // * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.
- // * (It will be regenerated if this run of deflate switches away from Huffman.)
- // */
- func _deflate_huff(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
- var bflush int32
- var cc Tuch
- var v10, v3, v5, v7, v8, v9 uintptr
- var v2, v4, v6 TuInt
- _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, v10, v2, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
- for {
- /* Make sure that we have a literal to write. */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
- _fill_window(tls, s)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
- if flush == m_Z_NO_FLUSH {
- return int32(_need_more)
- }
- break /* flush the current block */
- }
- }
- /* Output a literal byte */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
- cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
- v3 = s + 5900
- v2 = *(*TuInt)(unsafe.Pointer(v3))
- *(*TuInt)(unsafe.Pointer(v3))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))) = uint8(0)
- v5 = s + 5900
- v4 = *(*TuInt)(unsafe.Pointer(v5))
- *(*TuInt)(unsafe.Pointer(v5))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v4))) = uint8(0)
- v7 = s + 5900
- v6 = *(*TuInt)(unsafe.Pointer(v7))
- *(*TuInt)(unsafe.Pointer(v7))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v6))) = cc
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
- bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
- (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
- if bflush != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v8 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v8 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_need_more)
- }
- }
- goto _1
- _1:
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
- if flush == int32(m_Z_FINISH) {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v9 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v9 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_finish_started)
- }
- return int32(_finish_done)
- }
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
- v10 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
- } else {
- v10 = libc.UintptrFromInt32(m_Z_NULL)
- }
- 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)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
- _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
- return int32(_need_more)
- }
- }
- return int32(_block_done)
- }
- const m_ENOUGH_DISTS = 592
- const m_ENOUGH_LENS = 852
- const m_PRESET_DICT2 = 0x20
- type Tcode = struct {
- Fop uint8
- Fbits uint8
- Fval uint16
- }
- type Tcodetype = int32
- const _CODES = 0
- const _LENS = 1
- const _DISTS = 2
- type Tinflate_mode = int32
- const _HEAD = 16180
- const _FLAGS = 16181
- const _TIME = 16182
- const _OS = 16183
- const _EXLEN = 16184
- const _EXTRA = 16185
- const _NAME = 16186
- const _COMMENT = 16187
- const _HCRC = 16188
- const _DICTID = 16189
- const _DICT = 16190
- const _TYPE = 16191
- const _TYPEDO = 16192
- const _STORED = 16193
- const _COPY_ = 16194
- const _COPY = 16195
- const _TABLE = 16196
- const _LENLENS = 16197
- const _CODELENS = 16198
- const _LEN_ = 16199
- const _LEN = 16200
- const _LENEXT = 16201
- const _DIST = 16202
- const _DISTEXT = 16203
- const _MATCH = 16204
- const _LIT = 16205
- const _CHECK = 16206
- const _LENGTH = 16207
- const _DONE = 16208
- const _BAD = 16209
- const _MEM = 16210
- const _SYNC = 16211
- type Tinflate_state = struct {
- Fstrm Tz_streamp
- Fmode Tinflate_mode
- Flast int32
- Fwrap int32
- Fhavedict int32
- Fflags int32
- Fdmax uint32
- Fcheck uint64
- Ftotal uint64
- Fhead Tgz_headerp
- Fwbits uint32
- Fwsize uint32
- Fwhave uint32
- Fwnext uint32
- Fwindow uintptr
- Fhold uint64
- Fbits uint32
- Flength uint32
- Foffset uint32
- Fextra uint32
- Flencode uintptr
- Fdistcode uintptr
- Flenbits uint32
- Fdistbits uint32
- Fncode uint32
- Fnlen uint32
- Fndist uint32
- Fhave uint32
- Fnext uintptr
- Flens [320]uint16
- Fwork [288]uint16
- Fcodes [1444]Tcode
- Fsane int32
- Fback int32
- Fwas uint32
- }
- // C documentation
- //
- // /*
- // strm provides memory allocation functions in zalloc and zfree, or
- // Z_NULL to use the library memory allocation functions.
- //
- // windowBits is in the range 8..15, and window is a user-supplied
- // window and output buffer that is 2**windowBits bytes.
- // */
- func XinflateBackInit_(tls *libc.TLS, strm Tz_streamp, windowBits int32, window uintptr, version uintptr, stream_size int32) (r int32) {
- var state uintptr
- _ = state
- if version == uintptr(m_Z_NULL) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(version))) != libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
- return -int32(6)
- }
- if strm == uintptr(m_Z_NULL) || window == uintptr(m_Z_NULL) || windowBits < int32(8) || windowBits > int32(15) {
- return -int32(2)
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
- if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
- (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
- }
- if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
- }
- 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)))
- if state == uintptr(m_Z_NULL) {
- return -int32(4)
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
- (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
- (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
- (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << windowBits
- (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = window
- (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
- return m_Z_OK
- }
- // C documentation
- //
- // /*
- // Return state with length and distance decoding tables and index sizes set to
- // fixed code decoding. Normally this returns fixed tables from inffixed.h.
- // If BUILDFIXED is defined, then instead this routine builds the tables the
- // first time it's called, and returns those tables the first time and
- // thereafter. This reduces the size of the code by about 2K bytes, in
- // exchange for a little execution time. However, BUILDFIXED should not be
- // used for threaded applications, since the rewriting of the tables and virgin
- // may not be thread-safe.
- // */
- func _fixedtables(tls *libc.TLS, state uintptr) {
- (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix))
- (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
- (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix))
- (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
- }
- var _lenfix = [512]Tcode{
- 0: {
- Fop: uint8(96),
- Fbits: uint8(7),
- },
- 1: {
- Fbits: uint8(8),
- Fval: uint16(80),
- },
- 2: {
- Fbits: uint8(8),
- Fval: uint16(16),
- },
- 3: {
- Fop: uint8(20),
- Fbits: uint8(8),
- Fval: uint16(115),
- },
- 4: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(31),
- },
- 5: {
- Fbits: uint8(8),
- Fval: uint16(112),
- },
- 6: {
- Fbits: uint8(8),
- Fval: uint16(48),
- },
- 7: {
- Fbits: uint8(9),
- Fval: uint16(192),
- },
- 8: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(10),
- },
- 9: {
- Fbits: uint8(8),
- Fval: uint16(96),
- },
- 10: {
- Fbits: uint8(8),
- Fval: uint16(32),
- },
- 11: {
- Fbits: uint8(9),
- Fval: uint16(160),
- },
- 12: {
- Fbits: uint8(8),
- },
- 13: {
- Fbits: uint8(8),
- Fval: uint16(128),
- },
- 14: {
- Fbits: uint8(8),
- Fval: uint16(64),
- },
- 15: {
- Fbits: uint8(9),
- Fval: uint16(224),
- },
- 16: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(6),
- },
- 17: {
- Fbits: uint8(8),
- Fval: uint16(88),
- },
- 18: {
- Fbits: uint8(8),
- Fval: uint16(24),
- },
- 19: {
- Fbits: uint8(9),
- Fval: uint16(144),
- },
- 20: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(59),
- },
- 21: {
- Fbits: uint8(8),
- Fval: uint16(120),
- },
- 22: {
- Fbits: uint8(8),
- Fval: uint16(56),
- },
- 23: {
- Fbits: uint8(9),
- Fval: uint16(208),
- },
- 24: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(17),
- },
- 25: {
- Fbits: uint8(8),
- Fval: uint16(104),
- },
- 26: {
- Fbits: uint8(8),
- Fval: uint16(40),
- },
- 27: {
- Fbits: uint8(9),
- Fval: uint16(176),
- },
- 28: {
- Fbits: uint8(8),
- Fval: uint16(8),
- },
- 29: {
- Fbits: uint8(8),
- Fval: uint16(136),
- },
- 30: {
- Fbits: uint8(8),
- Fval: uint16(72),
- },
- 31: {
- Fbits: uint8(9),
- Fval: uint16(240),
- },
- 32: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(4),
- },
- 33: {
- Fbits: uint8(8),
- Fval: uint16(84),
- },
- 34: {
- Fbits: uint8(8),
- Fval: uint16(20),
- },
- 35: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(227),
- },
- 36: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(43),
- },
- 37: {
- Fbits: uint8(8),
- Fval: uint16(116),
- },
- 38: {
- Fbits: uint8(8),
- Fval: uint16(52),
- },
- 39: {
- Fbits: uint8(9),
- Fval: uint16(200),
- },
- 40: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(13),
- },
- 41: {
- Fbits: uint8(8),
- Fval: uint16(100),
- },
- 42: {
- Fbits: uint8(8),
- Fval: uint16(36),
- },
- 43: {
- Fbits: uint8(9),
- Fval: uint16(168),
- },
- 44: {
- Fbits: uint8(8),
- Fval: uint16(4),
- },
- 45: {
- Fbits: uint8(8),
- Fval: uint16(132),
- },
- 46: {
- Fbits: uint8(8),
- Fval: uint16(68),
- },
- 47: {
- Fbits: uint8(9),
- Fval: uint16(232),
- },
- 48: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(8),
- },
- 49: {
- Fbits: uint8(8),
- Fval: uint16(92),
- },
- 50: {
- Fbits: uint8(8),
- Fval: uint16(28),
- },
- 51: {
- Fbits: uint8(9),
- Fval: uint16(152),
- },
- 52: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(83),
- },
- 53: {
- Fbits: uint8(8),
- Fval: uint16(124),
- },
- 54: {
- Fbits: uint8(8),
- Fval: uint16(60),
- },
- 55: {
- Fbits: uint8(9),
- Fval: uint16(216),
- },
- 56: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(23),
- },
- 57: {
- Fbits: uint8(8),
- Fval: uint16(108),
- },
- 58: {
- Fbits: uint8(8),
- Fval: uint16(44),
- },
- 59: {
- Fbits: uint8(9),
- Fval: uint16(184),
- },
- 60: {
- Fbits: uint8(8),
- Fval: uint16(12),
- },
- 61: {
- Fbits: uint8(8),
- Fval: uint16(140),
- },
- 62: {
- Fbits: uint8(8),
- Fval: uint16(76),
- },
- 63: {
- Fbits: uint8(9),
- Fval: uint16(248),
- },
- 64: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(3),
- },
- 65: {
- Fbits: uint8(8),
- Fval: uint16(82),
- },
- 66: {
- Fbits: uint8(8),
- Fval: uint16(18),
- },
- 67: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(163),
- },
- 68: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(35),
- },
- 69: {
- Fbits: uint8(8),
- Fval: uint16(114),
- },
- 70: {
- Fbits: uint8(8),
- Fval: uint16(50),
- },
- 71: {
- Fbits: uint8(9),
- Fval: uint16(196),
- },
- 72: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(11),
- },
- 73: {
- Fbits: uint8(8),
- Fval: uint16(98),
- },
- 74: {
- Fbits: uint8(8),
- Fval: uint16(34),
- },
- 75: {
- Fbits: uint8(9),
- Fval: uint16(164),
- },
- 76: {
- Fbits: uint8(8),
- Fval: uint16(2),
- },
- 77: {
- Fbits: uint8(8),
- Fval: uint16(130),
- },
- 78: {
- Fbits: uint8(8),
- Fval: uint16(66),
- },
- 79: {
- Fbits: uint8(9),
- Fval: uint16(228),
- },
- 80: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(7),
- },
- 81: {
- Fbits: uint8(8),
- Fval: uint16(90),
- },
- 82: {
- Fbits: uint8(8),
- Fval: uint16(26),
- },
- 83: {
- Fbits: uint8(9),
- Fval: uint16(148),
- },
- 84: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(67),
- },
- 85: {
- Fbits: uint8(8),
- Fval: uint16(122),
- },
- 86: {
- Fbits: uint8(8),
- Fval: uint16(58),
- },
- 87: {
- Fbits: uint8(9),
- Fval: uint16(212),
- },
- 88: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(19),
- },
- 89: {
- Fbits: uint8(8),
- Fval: uint16(106),
- },
- 90: {
- Fbits: uint8(8),
- Fval: uint16(42),
- },
- 91: {
- Fbits: uint8(9),
- Fval: uint16(180),
- },
- 92: {
- Fbits: uint8(8),
- Fval: uint16(10),
- },
- 93: {
- Fbits: uint8(8),
- Fval: uint16(138),
- },
- 94: {
- Fbits: uint8(8),
- Fval: uint16(74),
- },
- 95: {
- Fbits: uint8(9),
- Fval: uint16(244),
- },
- 96: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(5),
- },
- 97: {
- Fbits: uint8(8),
- Fval: uint16(86),
- },
- 98: {
- Fbits: uint8(8),
- Fval: uint16(22),
- },
- 99: {
- Fop: uint8(64),
- Fbits: uint8(8),
- },
- 100: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(51),
- },
- 101: {
- Fbits: uint8(8),
- Fval: uint16(118),
- },
- 102: {
- Fbits: uint8(8),
- Fval: uint16(54),
- },
- 103: {
- Fbits: uint8(9),
- Fval: uint16(204),
- },
- 104: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(15),
- },
- 105: {
- Fbits: uint8(8),
- Fval: uint16(102),
- },
- 106: {
- Fbits: uint8(8),
- Fval: uint16(38),
- },
- 107: {
- Fbits: uint8(9),
- Fval: uint16(172),
- },
- 108: {
- Fbits: uint8(8),
- Fval: uint16(6),
- },
- 109: {
- Fbits: uint8(8),
- Fval: uint16(134),
- },
- 110: {
- Fbits: uint8(8),
- Fval: uint16(70),
- },
- 111: {
- Fbits: uint8(9),
- Fval: uint16(236),
- },
- 112: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(9),
- },
- 113: {
- Fbits: uint8(8),
- Fval: uint16(94),
- },
- 114: {
- Fbits: uint8(8),
- Fval: uint16(30),
- },
- 115: {
- Fbits: uint8(9),
- Fval: uint16(156),
- },
- 116: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(99),
- },
- 117: {
- Fbits: uint8(8),
- Fval: uint16(126),
- },
- 118: {
- Fbits: uint8(8),
- Fval: uint16(62),
- },
- 119: {
- Fbits: uint8(9),
- Fval: uint16(220),
- },
- 120: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(27),
- },
- 121: {
- Fbits: uint8(8),
- Fval: uint16(110),
- },
- 122: {
- Fbits: uint8(8),
- Fval: uint16(46),
- },
- 123: {
- Fbits: uint8(9),
- Fval: uint16(188),
- },
- 124: {
- Fbits: uint8(8),
- Fval: uint16(14),
- },
- 125: {
- Fbits: uint8(8),
- Fval: uint16(142),
- },
- 126: {
- Fbits: uint8(8),
- Fval: uint16(78),
- },
- 127: {
- Fbits: uint8(9),
- Fval: uint16(252),
- },
- 128: {
- Fop: uint8(96),
- Fbits: uint8(7),
- },
- 129: {
- Fbits: uint8(8),
- Fval: uint16(81),
- },
- 130: {
- Fbits: uint8(8),
- Fval: uint16(17),
- },
- 131: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(131),
- },
- 132: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(31),
- },
- 133: {
- Fbits: uint8(8),
- Fval: uint16(113),
- },
- 134: {
- Fbits: uint8(8),
- Fval: uint16(49),
- },
- 135: {
- Fbits: uint8(9),
- Fval: uint16(194),
- },
- 136: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(10),
- },
- 137: {
- Fbits: uint8(8),
- Fval: uint16(97),
- },
- 138: {
- Fbits: uint8(8),
- Fval: uint16(33),
- },
- 139: {
- Fbits: uint8(9),
- Fval: uint16(162),
- },
- 140: {
- Fbits: uint8(8),
- Fval: uint16(1),
- },
- 141: {
- Fbits: uint8(8),
- Fval: uint16(129),
- },
- 142: {
- Fbits: uint8(8),
- Fval: uint16(65),
- },
- 143: {
- Fbits: uint8(9),
- Fval: uint16(226),
- },
- 144: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(6),
- },
- 145: {
- Fbits: uint8(8),
- Fval: uint16(89),
- },
- 146: {
- Fbits: uint8(8),
- Fval: uint16(25),
- },
- 147: {
- Fbits: uint8(9),
- Fval: uint16(146),
- },
- 148: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(59),
- },
- 149: {
- Fbits: uint8(8),
- Fval: uint16(121),
- },
- 150: {
- Fbits: uint8(8),
- Fval: uint16(57),
- },
- 151: {
- Fbits: uint8(9),
- Fval: uint16(210),
- },
- 152: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(17),
- },
- 153: {
- Fbits: uint8(8),
- Fval: uint16(105),
- },
- 154: {
- Fbits: uint8(8),
- Fval: uint16(41),
- },
- 155: {
- Fbits: uint8(9),
- Fval: uint16(178),
- },
- 156: {
- Fbits: uint8(8),
- Fval: uint16(9),
- },
- 157: {
- Fbits: uint8(8),
- Fval: uint16(137),
- },
- 158: {
- Fbits: uint8(8),
- Fval: uint16(73),
- },
- 159: {
- Fbits: uint8(9),
- Fval: uint16(242),
- },
- 160: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(4),
- },
- 161: {
- Fbits: uint8(8),
- Fval: uint16(85),
- },
- 162: {
- Fbits: uint8(8),
- Fval: uint16(21),
- },
- 163: {
- Fop: uint8(16),
- Fbits: uint8(8),
- Fval: uint16(258),
- },
- 164: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(43),
- },
- 165: {
- Fbits: uint8(8),
- Fval: uint16(117),
- },
- 166: {
- Fbits: uint8(8),
- Fval: uint16(53),
- },
- 167: {
- Fbits: uint8(9),
- Fval: uint16(202),
- },
- 168: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(13),
- },
- 169: {
- Fbits: uint8(8),
- Fval: uint16(101),
- },
- 170: {
- Fbits: uint8(8),
- Fval: uint16(37),
- },
- 171: {
- Fbits: uint8(9),
- Fval: uint16(170),
- },
- 172: {
- Fbits: uint8(8),
- Fval: uint16(5),
- },
- 173: {
- Fbits: uint8(8),
- Fval: uint16(133),
- },
- 174: {
- Fbits: uint8(8),
- Fval: uint16(69),
- },
- 175: {
- Fbits: uint8(9),
- Fval: uint16(234),
- },
- 176: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(8),
- },
- 177: {
- Fbits: uint8(8),
- Fval: uint16(93),
- },
- 178: {
- Fbits: uint8(8),
- Fval: uint16(29),
- },
- 179: {
- Fbits: uint8(9),
- Fval: uint16(154),
- },
- 180: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(83),
- },
- 181: {
- Fbits: uint8(8),
- Fval: uint16(125),
- },
- 182: {
- Fbits: uint8(8),
- Fval: uint16(61),
- },
- 183: {
- Fbits: uint8(9),
- Fval: uint16(218),
- },
- 184: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(23),
- },
- 185: {
- Fbits: uint8(8),
- Fval: uint16(109),
- },
- 186: {
- Fbits: uint8(8),
- Fval: uint16(45),
- },
- 187: {
- Fbits: uint8(9),
- Fval: uint16(186),
- },
- 188: {
- Fbits: uint8(8),
- Fval: uint16(13),
- },
- 189: {
- Fbits: uint8(8),
- Fval: uint16(141),
- },
- 190: {
- Fbits: uint8(8),
- Fval: uint16(77),
- },
- 191: {
- Fbits: uint8(9),
- Fval: uint16(250),
- },
- 192: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(3),
- },
- 193: {
- Fbits: uint8(8),
- Fval: uint16(83),
- },
- 194: {
- Fbits: uint8(8),
- Fval: uint16(19),
- },
- 195: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(195),
- },
- 196: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(35),
- },
- 197: {
- Fbits: uint8(8),
- Fval: uint16(115),
- },
- 198: {
- Fbits: uint8(8),
- Fval: uint16(51),
- },
- 199: {
- Fbits: uint8(9),
- Fval: uint16(198),
- },
- 200: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(11),
- },
- 201: {
- Fbits: uint8(8),
- Fval: uint16(99),
- },
- 202: {
- Fbits: uint8(8),
- Fval: uint16(35),
- },
- 203: {
- Fbits: uint8(9),
- Fval: uint16(166),
- },
- 204: {
- Fbits: uint8(8),
- Fval: uint16(3),
- },
- 205: {
- Fbits: uint8(8),
- Fval: uint16(131),
- },
- 206: {
- Fbits: uint8(8),
- Fval: uint16(67),
- },
- 207: {
- Fbits: uint8(9),
- Fval: uint16(230),
- },
- 208: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(7),
- },
- 209: {
- Fbits: uint8(8),
- Fval: uint16(91),
- },
- 210: {
- Fbits: uint8(8),
- Fval: uint16(27),
- },
- 211: {
- Fbits: uint8(9),
- Fval: uint16(150),
- },
- 212: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(67),
- },
- 213: {
- Fbits: uint8(8),
- Fval: uint16(123),
- },
- 214: {
- Fbits: uint8(8),
- Fval: uint16(59),
- },
- 215: {
- Fbits: uint8(9),
- Fval: uint16(214),
- },
- 216: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(19),
- },
- 217: {
- Fbits: uint8(8),
- Fval: uint16(107),
- },
- 218: {
- Fbits: uint8(8),
- Fval: uint16(43),
- },
- 219: {
- Fbits: uint8(9),
- Fval: uint16(182),
- },
- 220: {
- Fbits: uint8(8),
- Fval: uint16(11),
- },
- 221: {
- Fbits: uint8(8),
- Fval: uint16(139),
- },
- 222: {
- Fbits: uint8(8),
- Fval: uint16(75),
- },
- 223: {
- Fbits: uint8(9),
- Fval: uint16(246),
- },
- 224: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(5),
- },
- 225: {
- Fbits: uint8(8),
- Fval: uint16(87),
- },
- 226: {
- Fbits: uint8(8),
- Fval: uint16(23),
- },
- 227: {
- Fop: uint8(64),
- Fbits: uint8(8),
- },
- 228: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(51),
- },
- 229: {
- Fbits: uint8(8),
- Fval: uint16(119),
- },
- 230: {
- Fbits: uint8(8),
- Fval: uint16(55),
- },
- 231: {
- Fbits: uint8(9),
- Fval: uint16(206),
- },
- 232: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(15),
- },
- 233: {
- Fbits: uint8(8),
- Fval: uint16(103),
- },
- 234: {
- Fbits: uint8(8),
- Fval: uint16(39),
- },
- 235: {
- Fbits: uint8(9),
- Fval: uint16(174),
- },
- 236: {
- Fbits: uint8(8),
- Fval: uint16(7),
- },
- 237: {
- Fbits: uint8(8),
- Fval: uint16(135),
- },
- 238: {
- Fbits: uint8(8),
- Fval: uint16(71),
- },
- 239: {
- Fbits: uint8(9),
- Fval: uint16(238),
- },
- 240: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(9),
- },
- 241: {
- Fbits: uint8(8),
- Fval: uint16(95),
- },
- 242: {
- Fbits: uint8(8),
- Fval: uint16(31),
- },
- 243: {
- Fbits: uint8(9),
- Fval: uint16(158),
- },
- 244: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(99),
- },
- 245: {
- Fbits: uint8(8),
- Fval: uint16(127),
- },
- 246: {
- Fbits: uint8(8),
- Fval: uint16(63),
- },
- 247: {
- Fbits: uint8(9),
- Fval: uint16(222),
- },
- 248: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(27),
- },
- 249: {
- Fbits: uint8(8),
- Fval: uint16(111),
- },
- 250: {
- Fbits: uint8(8),
- Fval: uint16(47),
- },
- 251: {
- Fbits: uint8(9),
- Fval: uint16(190),
- },
- 252: {
- Fbits: uint8(8),
- Fval: uint16(15),
- },
- 253: {
- Fbits: uint8(8),
- Fval: uint16(143),
- },
- 254: {
- Fbits: uint8(8),
- Fval: uint16(79),
- },
- 255: {
- Fbits: uint8(9),
- Fval: uint16(254),
- },
- 256: {
- Fop: uint8(96),
- Fbits: uint8(7),
- },
- 257: {
- Fbits: uint8(8),
- Fval: uint16(80),
- },
- 258: {
- Fbits: uint8(8),
- Fval: uint16(16),
- },
- 259: {
- Fop: uint8(20),
- Fbits: uint8(8),
- Fval: uint16(115),
- },
- 260: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(31),
- },
- 261: {
- Fbits: uint8(8),
- Fval: uint16(112),
- },
- 262: {
- Fbits: uint8(8),
- Fval: uint16(48),
- },
- 263: {
- Fbits: uint8(9),
- Fval: uint16(193),
- },
- 264: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(10),
- },
- 265: {
- Fbits: uint8(8),
- Fval: uint16(96),
- },
- 266: {
- Fbits: uint8(8),
- Fval: uint16(32),
- },
- 267: {
- Fbits: uint8(9),
- Fval: uint16(161),
- },
- 268: {
- Fbits: uint8(8),
- },
- 269: {
- Fbits: uint8(8),
- Fval: uint16(128),
- },
- 270: {
- Fbits: uint8(8),
- Fval: uint16(64),
- },
- 271: {
- Fbits: uint8(9),
- Fval: uint16(225),
- },
- 272: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(6),
- },
- 273: {
- Fbits: uint8(8),
- Fval: uint16(88),
- },
- 274: {
- Fbits: uint8(8),
- Fval: uint16(24),
- },
- 275: {
- Fbits: uint8(9),
- Fval: uint16(145),
- },
- 276: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(59),
- },
- 277: {
- Fbits: uint8(8),
- Fval: uint16(120),
- },
- 278: {
- Fbits: uint8(8),
- Fval: uint16(56),
- },
- 279: {
- Fbits: uint8(9),
- Fval: uint16(209),
- },
- 280: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(17),
- },
- 281: {
- Fbits: uint8(8),
- Fval: uint16(104),
- },
- 282: {
- Fbits: uint8(8),
- Fval: uint16(40),
- },
- 283: {
- Fbits: uint8(9),
- Fval: uint16(177),
- },
- 284: {
- Fbits: uint8(8),
- Fval: uint16(8),
- },
- 285: {
- Fbits: uint8(8),
- Fval: uint16(136),
- },
- 286: {
- Fbits: uint8(8),
- Fval: uint16(72),
- },
- 287: {
- Fbits: uint8(9),
- Fval: uint16(241),
- },
- 288: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(4),
- },
- 289: {
- Fbits: uint8(8),
- Fval: uint16(84),
- },
- 290: {
- Fbits: uint8(8),
- Fval: uint16(20),
- },
- 291: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(227),
- },
- 292: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(43),
- },
- 293: {
- Fbits: uint8(8),
- Fval: uint16(116),
- },
- 294: {
- Fbits: uint8(8),
- Fval: uint16(52),
- },
- 295: {
- Fbits: uint8(9),
- Fval: uint16(201),
- },
- 296: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(13),
- },
- 297: {
- Fbits: uint8(8),
- Fval: uint16(100),
- },
- 298: {
- Fbits: uint8(8),
- Fval: uint16(36),
- },
- 299: {
- Fbits: uint8(9),
- Fval: uint16(169),
- },
- 300: {
- Fbits: uint8(8),
- Fval: uint16(4),
- },
- 301: {
- Fbits: uint8(8),
- Fval: uint16(132),
- },
- 302: {
- Fbits: uint8(8),
- Fval: uint16(68),
- },
- 303: {
- Fbits: uint8(9),
- Fval: uint16(233),
- },
- 304: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(8),
- },
- 305: {
- Fbits: uint8(8),
- Fval: uint16(92),
- },
- 306: {
- Fbits: uint8(8),
- Fval: uint16(28),
- },
- 307: {
- Fbits: uint8(9),
- Fval: uint16(153),
- },
- 308: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(83),
- },
- 309: {
- Fbits: uint8(8),
- Fval: uint16(124),
- },
- 310: {
- Fbits: uint8(8),
- Fval: uint16(60),
- },
- 311: {
- Fbits: uint8(9),
- Fval: uint16(217),
- },
- 312: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(23),
- },
- 313: {
- Fbits: uint8(8),
- Fval: uint16(108),
- },
- 314: {
- Fbits: uint8(8),
- Fval: uint16(44),
- },
- 315: {
- Fbits: uint8(9),
- Fval: uint16(185),
- },
- 316: {
- Fbits: uint8(8),
- Fval: uint16(12),
- },
- 317: {
- Fbits: uint8(8),
- Fval: uint16(140),
- },
- 318: {
- Fbits: uint8(8),
- Fval: uint16(76),
- },
- 319: {
- Fbits: uint8(9),
- Fval: uint16(249),
- },
- 320: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(3),
- },
- 321: {
- Fbits: uint8(8),
- Fval: uint16(82),
- },
- 322: {
- Fbits: uint8(8),
- Fval: uint16(18),
- },
- 323: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(163),
- },
- 324: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(35),
- },
- 325: {
- Fbits: uint8(8),
- Fval: uint16(114),
- },
- 326: {
- Fbits: uint8(8),
- Fval: uint16(50),
- },
- 327: {
- Fbits: uint8(9),
- Fval: uint16(197),
- },
- 328: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(11),
- },
- 329: {
- Fbits: uint8(8),
- Fval: uint16(98),
- },
- 330: {
- Fbits: uint8(8),
- Fval: uint16(34),
- },
- 331: {
- Fbits: uint8(9),
- Fval: uint16(165),
- },
- 332: {
- Fbits: uint8(8),
- Fval: uint16(2),
- },
- 333: {
- Fbits: uint8(8),
- Fval: uint16(130),
- },
- 334: {
- Fbits: uint8(8),
- Fval: uint16(66),
- },
- 335: {
- Fbits: uint8(9),
- Fval: uint16(229),
- },
- 336: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(7),
- },
- 337: {
- Fbits: uint8(8),
- Fval: uint16(90),
- },
- 338: {
- Fbits: uint8(8),
- Fval: uint16(26),
- },
- 339: {
- Fbits: uint8(9),
- Fval: uint16(149),
- },
- 340: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(67),
- },
- 341: {
- Fbits: uint8(8),
- Fval: uint16(122),
- },
- 342: {
- Fbits: uint8(8),
- Fval: uint16(58),
- },
- 343: {
- Fbits: uint8(9),
- Fval: uint16(213),
- },
- 344: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(19),
- },
- 345: {
- Fbits: uint8(8),
- Fval: uint16(106),
- },
- 346: {
- Fbits: uint8(8),
- Fval: uint16(42),
- },
- 347: {
- Fbits: uint8(9),
- Fval: uint16(181),
- },
- 348: {
- Fbits: uint8(8),
- Fval: uint16(10),
- },
- 349: {
- Fbits: uint8(8),
- Fval: uint16(138),
- },
- 350: {
- Fbits: uint8(8),
- Fval: uint16(74),
- },
- 351: {
- Fbits: uint8(9),
- Fval: uint16(245),
- },
- 352: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(5),
- },
- 353: {
- Fbits: uint8(8),
- Fval: uint16(86),
- },
- 354: {
- Fbits: uint8(8),
- Fval: uint16(22),
- },
- 355: {
- Fop: uint8(64),
- Fbits: uint8(8),
- },
- 356: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(51),
- },
- 357: {
- Fbits: uint8(8),
- Fval: uint16(118),
- },
- 358: {
- Fbits: uint8(8),
- Fval: uint16(54),
- },
- 359: {
- Fbits: uint8(9),
- Fval: uint16(205),
- },
- 360: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(15),
- },
- 361: {
- Fbits: uint8(8),
- Fval: uint16(102),
- },
- 362: {
- Fbits: uint8(8),
- Fval: uint16(38),
- },
- 363: {
- Fbits: uint8(9),
- Fval: uint16(173),
- },
- 364: {
- Fbits: uint8(8),
- Fval: uint16(6),
- },
- 365: {
- Fbits: uint8(8),
- Fval: uint16(134),
- },
- 366: {
- Fbits: uint8(8),
- Fval: uint16(70),
- },
- 367: {
- Fbits: uint8(9),
- Fval: uint16(237),
- },
- 368: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(9),
- },
- 369: {
- Fbits: uint8(8),
- Fval: uint16(94),
- },
- 370: {
- Fbits: uint8(8),
- Fval: uint16(30),
- },
- 371: {
- Fbits: uint8(9),
- Fval: uint16(157),
- },
- 372: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(99),
- },
- 373: {
- Fbits: uint8(8),
- Fval: uint16(126),
- },
- 374: {
- Fbits: uint8(8),
- Fval: uint16(62),
- },
- 375: {
- Fbits: uint8(9),
- Fval: uint16(221),
- },
- 376: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(27),
- },
- 377: {
- Fbits: uint8(8),
- Fval: uint16(110),
- },
- 378: {
- Fbits: uint8(8),
- Fval: uint16(46),
- },
- 379: {
- Fbits: uint8(9),
- Fval: uint16(189),
- },
- 380: {
- Fbits: uint8(8),
- Fval: uint16(14),
- },
- 381: {
- Fbits: uint8(8),
- Fval: uint16(142),
- },
- 382: {
- Fbits: uint8(8),
- Fval: uint16(78),
- },
- 383: {
- Fbits: uint8(9),
- Fval: uint16(253),
- },
- 384: {
- Fop: uint8(96),
- Fbits: uint8(7),
- },
- 385: {
- Fbits: uint8(8),
- Fval: uint16(81),
- },
- 386: {
- Fbits: uint8(8),
- Fval: uint16(17),
- },
- 387: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(131),
- },
- 388: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(31),
- },
- 389: {
- Fbits: uint8(8),
- Fval: uint16(113),
- },
- 390: {
- Fbits: uint8(8),
- Fval: uint16(49),
- },
- 391: {
- Fbits: uint8(9),
- Fval: uint16(195),
- },
- 392: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(10),
- },
- 393: {
- Fbits: uint8(8),
- Fval: uint16(97),
- },
- 394: {
- Fbits: uint8(8),
- Fval: uint16(33),
- },
- 395: {
- Fbits: uint8(9),
- Fval: uint16(163),
- },
- 396: {
- Fbits: uint8(8),
- Fval: uint16(1),
- },
- 397: {
- Fbits: uint8(8),
- Fval: uint16(129),
- },
- 398: {
- Fbits: uint8(8),
- Fval: uint16(65),
- },
- 399: {
- Fbits: uint8(9),
- Fval: uint16(227),
- },
- 400: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(6),
- },
- 401: {
- Fbits: uint8(8),
- Fval: uint16(89),
- },
- 402: {
- Fbits: uint8(8),
- Fval: uint16(25),
- },
- 403: {
- Fbits: uint8(9),
- Fval: uint16(147),
- },
- 404: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(59),
- },
- 405: {
- Fbits: uint8(8),
- Fval: uint16(121),
- },
- 406: {
- Fbits: uint8(8),
- Fval: uint16(57),
- },
- 407: {
- Fbits: uint8(9),
- Fval: uint16(211),
- },
- 408: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(17),
- },
- 409: {
- Fbits: uint8(8),
- Fval: uint16(105),
- },
- 410: {
- Fbits: uint8(8),
- Fval: uint16(41),
- },
- 411: {
- Fbits: uint8(9),
- Fval: uint16(179),
- },
- 412: {
- Fbits: uint8(8),
- Fval: uint16(9),
- },
- 413: {
- Fbits: uint8(8),
- Fval: uint16(137),
- },
- 414: {
- Fbits: uint8(8),
- Fval: uint16(73),
- },
- 415: {
- Fbits: uint8(9),
- Fval: uint16(243),
- },
- 416: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(4),
- },
- 417: {
- Fbits: uint8(8),
- Fval: uint16(85),
- },
- 418: {
- Fbits: uint8(8),
- Fval: uint16(21),
- },
- 419: {
- Fop: uint8(16),
- Fbits: uint8(8),
- Fval: uint16(258),
- },
- 420: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(43),
- },
- 421: {
- Fbits: uint8(8),
- Fval: uint16(117),
- },
- 422: {
- Fbits: uint8(8),
- Fval: uint16(53),
- },
- 423: {
- Fbits: uint8(9),
- Fval: uint16(203),
- },
- 424: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(13),
- },
- 425: {
- Fbits: uint8(8),
- Fval: uint16(101),
- },
- 426: {
- Fbits: uint8(8),
- Fval: uint16(37),
- },
- 427: {
- Fbits: uint8(9),
- Fval: uint16(171),
- },
- 428: {
- Fbits: uint8(8),
- Fval: uint16(5),
- },
- 429: {
- Fbits: uint8(8),
- Fval: uint16(133),
- },
- 430: {
- Fbits: uint8(8),
- Fval: uint16(69),
- },
- 431: {
- Fbits: uint8(9),
- Fval: uint16(235),
- },
- 432: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(8),
- },
- 433: {
- Fbits: uint8(8),
- Fval: uint16(93),
- },
- 434: {
- Fbits: uint8(8),
- Fval: uint16(29),
- },
- 435: {
- Fbits: uint8(9),
- Fval: uint16(155),
- },
- 436: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(83),
- },
- 437: {
- Fbits: uint8(8),
- Fval: uint16(125),
- },
- 438: {
- Fbits: uint8(8),
- Fval: uint16(61),
- },
- 439: {
- Fbits: uint8(9),
- Fval: uint16(219),
- },
- 440: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(23),
- },
- 441: {
- Fbits: uint8(8),
- Fval: uint16(109),
- },
- 442: {
- Fbits: uint8(8),
- Fval: uint16(45),
- },
- 443: {
- Fbits: uint8(9),
- Fval: uint16(187),
- },
- 444: {
- Fbits: uint8(8),
- Fval: uint16(13),
- },
- 445: {
- Fbits: uint8(8),
- Fval: uint16(141),
- },
- 446: {
- Fbits: uint8(8),
- Fval: uint16(77),
- },
- 447: {
- Fbits: uint8(9),
- Fval: uint16(251),
- },
- 448: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(3),
- },
- 449: {
- Fbits: uint8(8),
- Fval: uint16(83),
- },
- 450: {
- Fbits: uint8(8),
- Fval: uint16(19),
- },
- 451: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(195),
- },
- 452: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(35),
- },
- 453: {
- Fbits: uint8(8),
- Fval: uint16(115),
- },
- 454: {
- Fbits: uint8(8),
- Fval: uint16(51),
- },
- 455: {
- Fbits: uint8(9),
- Fval: uint16(199),
- },
- 456: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(11),
- },
- 457: {
- Fbits: uint8(8),
- Fval: uint16(99),
- },
- 458: {
- Fbits: uint8(8),
- Fval: uint16(35),
- },
- 459: {
- Fbits: uint8(9),
- Fval: uint16(167),
- },
- 460: {
- Fbits: uint8(8),
- Fval: uint16(3),
- },
- 461: {
- Fbits: uint8(8),
- Fval: uint16(131),
- },
- 462: {
- Fbits: uint8(8),
- Fval: uint16(67),
- },
- 463: {
- Fbits: uint8(9),
- Fval: uint16(231),
- },
- 464: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(7),
- },
- 465: {
- Fbits: uint8(8),
- Fval: uint16(91),
- },
- 466: {
- Fbits: uint8(8),
- Fval: uint16(27),
- },
- 467: {
- Fbits: uint8(9),
- Fval: uint16(151),
- },
- 468: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(67),
- },
- 469: {
- Fbits: uint8(8),
- Fval: uint16(123),
- },
- 470: {
- Fbits: uint8(8),
- Fval: uint16(59),
- },
- 471: {
- Fbits: uint8(9),
- Fval: uint16(215),
- },
- 472: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(19),
- },
- 473: {
- Fbits: uint8(8),
- Fval: uint16(107),
- },
- 474: {
- Fbits: uint8(8),
- Fval: uint16(43),
- },
- 475: {
- Fbits: uint8(9),
- Fval: uint16(183),
- },
- 476: {
- Fbits: uint8(8),
- Fval: uint16(11),
- },
- 477: {
- Fbits: uint8(8),
- Fval: uint16(139),
- },
- 478: {
- Fbits: uint8(8),
- Fval: uint16(75),
- },
- 479: {
- Fbits: uint8(9),
- Fval: uint16(247),
- },
- 480: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(5),
- },
- 481: {
- Fbits: uint8(8),
- Fval: uint16(87),
- },
- 482: {
- Fbits: uint8(8),
- Fval: uint16(23),
- },
- 483: {
- Fop: uint8(64),
- Fbits: uint8(8),
- },
- 484: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(51),
- },
- 485: {
- Fbits: uint8(8),
- Fval: uint16(119),
- },
- 486: {
- Fbits: uint8(8),
- Fval: uint16(55),
- },
- 487: {
- Fbits: uint8(9),
- Fval: uint16(207),
- },
- 488: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(15),
- },
- 489: {
- Fbits: uint8(8),
- Fval: uint16(103),
- },
- 490: {
- Fbits: uint8(8),
- Fval: uint16(39),
- },
- 491: {
- Fbits: uint8(9),
- Fval: uint16(175),
- },
- 492: {
- Fbits: uint8(8),
- Fval: uint16(7),
- },
- 493: {
- Fbits: uint8(8),
- Fval: uint16(135),
- },
- 494: {
- Fbits: uint8(8),
- Fval: uint16(71),
- },
- 495: {
- Fbits: uint8(9),
- Fval: uint16(239),
- },
- 496: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(9),
- },
- 497: {
- Fbits: uint8(8),
- Fval: uint16(95),
- },
- 498: {
- Fbits: uint8(8),
- Fval: uint16(31),
- },
- 499: {
- Fbits: uint8(9),
- Fval: uint16(159),
- },
- 500: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(99),
- },
- 501: {
- Fbits: uint8(8),
- Fval: uint16(127),
- },
- 502: {
- Fbits: uint8(8),
- Fval: uint16(63),
- },
- 503: {
- Fbits: uint8(9),
- Fval: uint16(223),
- },
- 504: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(27),
- },
- 505: {
- Fbits: uint8(8),
- Fval: uint16(111),
- },
- 506: {
- Fbits: uint8(8),
- Fval: uint16(47),
- },
- 507: {
- Fbits: uint8(9),
- Fval: uint16(191),
- },
- 508: {
- Fbits: uint8(8),
- Fval: uint16(15),
- },
- 509: {
- Fbits: uint8(8),
- Fval: uint16(143),
- },
- 510: {
- Fbits: uint8(8),
- Fval: uint16(79),
- },
- 511: {
- Fbits: uint8(9),
- Fval: uint16(255),
- },
- }
- var _distfix = [32]Tcode{
- 0: {
- Fop: uint8(16),
- Fbits: uint8(5),
- Fval: uint16(1),
- },
- 1: {
- Fop: uint8(23),
- Fbits: uint8(5),
- Fval: uint16(257),
- },
- 2: {
- Fop: uint8(19),
- Fbits: uint8(5),
- Fval: uint16(17),
- },
- 3: {
- Fop: uint8(27),
- Fbits: uint8(5),
- Fval: uint16(4097),
- },
- 4: {
- Fop: uint8(17),
- Fbits: uint8(5),
- Fval: uint16(5),
- },
- 5: {
- Fop: uint8(25),
- Fbits: uint8(5),
- Fval: uint16(1025),
- },
- 6: {
- Fop: uint8(21),
- Fbits: uint8(5),
- Fval: uint16(65),
- },
- 7: {
- Fop: uint8(29),
- Fbits: uint8(5),
- Fval: uint16(16385),
- },
- 8: {
- Fop: uint8(16),
- Fbits: uint8(5),
- Fval: uint16(3),
- },
- 9: {
- Fop: uint8(24),
- Fbits: uint8(5),
- Fval: uint16(513),
- },
- 10: {
- Fop: uint8(20),
- Fbits: uint8(5),
- Fval: uint16(33),
- },
- 11: {
- Fop: uint8(28),
- Fbits: uint8(5),
- Fval: uint16(8193),
- },
- 12: {
- Fop: uint8(18),
- Fbits: uint8(5),
- Fval: uint16(9),
- },
- 13: {
- Fop: uint8(26),
- Fbits: uint8(5),
- Fval: uint16(2049),
- },
- 14: {
- Fop: uint8(22),
- Fbits: uint8(5),
- Fval: uint16(129),
- },
- 15: {
- Fop: uint8(64),
- Fbits: uint8(5),
- },
- 16: {
- Fop: uint8(16),
- Fbits: uint8(5),
- Fval: uint16(2),
- },
- 17: {
- Fop: uint8(23),
- Fbits: uint8(5),
- Fval: uint16(385),
- },
- 18: {
- Fop: uint8(19),
- Fbits: uint8(5),
- Fval: uint16(25),
- },
- 19: {
- Fop: uint8(27),
- Fbits: uint8(5),
- Fval: uint16(6145),
- },
- 20: {
- Fop: uint8(17),
- Fbits: uint8(5),
- Fval: uint16(7),
- },
- 21: {
- Fop: uint8(25),
- Fbits: uint8(5),
- Fval: uint16(1537),
- },
- 22: {
- Fop: uint8(21),
- Fbits: uint8(5),
- Fval: uint16(97),
- },
- 23: {
- Fop: uint8(29),
- Fbits: uint8(5),
- Fval: uint16(24577),
- },
- 24: {
- Fop: uint8(16),
- Fbits: uint8(5),
- Fval: uint16(4),
- },
- 25: {
- Fop: uint8(24),
- Fbits: uint8(5),
- Fval: uint16(769),
- },
- 26: {
- Fop: uint8(20),
- Fbits: uint8(5),
- Fval: uint16(49),
- },
- 27: {
- Fop: uint8(28),
- Fbits: uint8(5),
- Fval: uint16(12289),
- },
- 28: {
- Fop: uint8(18),
- Fbits: uint8(5),
- Fval: uint16(13),
- },
- 29: {
- Fop: uint8(26),
- Fbits: uint8(5),
- Fval: uint16(3073),
- },
- 30: {
- Fop: uint8(22),
- Fbits: uint8(5),
- Fval: uint16(193),
- },
- 31: {
- Fop: uint8(64),
- Fbits: uint8(5),
- },
- }
- /* Macros for inflateBack(): */
- /* Load returned state from inflate_fast() */
- /* Set state from registers for inflate_fast() */
- /* Clear the input bit accumulator */
- /* Assure that some input is available. If input is requested, but denied,
- then return a Z_BUF_ERROR from inflateBack(). */
- /* Get a byte of input into the bit accumulator, or return from inflateBack()
- with an error if there is no input available. */
- /* Assure that there are at least n bits in the bit accumulator. If there is
- not enough available input to do that, then return from inflateBack() with
- an error. */
- /* Return the low n bits of the bit accumulator (n < 16) */
- /* Remove n bits from the bit accumulator */
- /* Remove zero to seven bits as needed to go to a byte boundary */
- /* Assure that some output space is available, by writing out the window
- if it's full. If the write fails, return from inflateBack() with a
- Z_BUF_ERROR. */
- // C documentation
- //
- // /*
- // strm provides the memory allocation functions and window buffer on input,
- // and provides information on the unused input on return. For Z_DATA_ERROR
- // returns, strm will also provide an error message.
- //
- // in() and out() are the call-back input and output functions. When
- // inflateBack() needs more input, it calls in(). When inflateBack() has
- // filled the window with output, or when it completes with data in the
- // window, it calls out() to write out the data. The application must not
- // change the provided input until in() is called again or inflateBack()
- // returns. The application must not change the window/output buffer until
- // inflateBack() returns.
- //
- // in() and out() are called with a descriptor parameter provided in the
- // inflateBack() call. This parameter can be a structure that provides the
- // information required to do the read or write, as well as accumulated
- // information on the input and output such as totals and check values.
- //
- // in() should return zero on failure. out() should return non-zero on
- // failure. If either in() or out() fails, than inflateBack() returns a
- // Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
- // was in() or out() that caused in the error. Otherwise, inflateBack()
- // returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
- // error, or Z_MEM_ERROR if it could not allocate memory for the state.
- // inflateBack() can also return Z_STREAM_ERROR if the input parameters
- // are not correct, i.e. strm is Z_NULL or the state was not initialized.
- // */
- func XinflateBack(tls *libc.TLS, strm Tz_streamp, in Tin_func, in_desc uintptr, out Tout_func, out_desc uintptr) (r int32) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- var bits, copy1, have, left, len1, v1, v18, v20, v24, v29, v30, v43, v44 uint32
- 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
- var here, last Tcode
- var hold uint64
- var ret int32
- var _ /* next at bp+0 */ uintptr
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
- /* Check that the strm exists and that the state was initialized */
- if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- /* Reset the state */
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
- (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
- (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
- *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
- if *(*uintptr)(unsafe.Pointer(bp)) != uintptr(m_Z_NULL) {
- v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
- } else {
- v1 = uint32(0)
- }
- have = v1
- hold = uint64(0)
- bits = uint32(0)
- put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
- left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
- /* Inflate until end of block marked as last */
- for {
- switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
- case int32(_TYPE):
- goto _3
- case int32(_STORED):
- goto _4
- case int32(_TABLE):
- goto _5
- case int32(_LEN):
- goto _6
- case int32(_DONE):
- goto _7
- case int32(_BAD):
- goto _8
- default:
- goto _9
- }
- goto _10
- _3:
- ;
- /* determine and dispatch block type */
- if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
- hold >>= uint64(bits & uint32(7))
- bits -= bits & uint32(7)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
- goto _10
- }
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v11 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v11))) << bits
- bits += uint32(8)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
- switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
- case uint32(0): /* stored block */
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
- case uint32(1): /* fixed block */
- _fixedtables(tls, state)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN) /* decode codes */
- case uint32(2): /* dynamic block */
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
- case uint32(3):
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- }
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
- goto _10
- _4:
- ;
- /* get and verify stored block length */
- _14:
- ;
- hold >>= uint64(bits & uint32(7))
- bits -= bits & uint32(7)
- goto _13
- _13:
- ;
- if 0 != 0 {
- goto _14
- }
- goto _12
- _12:
- ; /* go to byte boundary */
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v15 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v15))) << bits
- bits += uint32(8)
- }
- if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _10
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
- hold = uint64(0)
- bits = uint32(0)
- /* copy stored block from input to output */
- for (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
- copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- if left == uint32(0) {
- put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
- left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
- (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
- if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
- ret = -int32(5)
- goto inf_leave
- }
- }
- if copy1 > have {
- copy1 = have
- }
- if copy1 > left {
- copy1 = left
- }
- libc.Xmemcpy(tls, put, *(*uintptr)(unsafe.Pointer(bp)), uint64(copy1))
- have -= copy1
- *(*uintptr)(unsafe.Pointer(bp)) += uintptr(copy1)
- left -= copy1
- put += uintptr(copy1)
- *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
- goto _10
- _5:
- ;
- /* get dynamic table entries descriptor */
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v16 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v16))) << bits
- bits += uint32(8)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
- (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
- (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
- if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _10
- }
- /* get code length code lengths (not a typo) */
- (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
- for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v17 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v17))) << bits
- bits += uint32(8)
- }
- v19 = state + 140
- v18 = *(*uint32)(unsafe.Pointer(v19))
- *(*uint32)(unsafe.Pointer(v19))++
- *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v18])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
- }
- for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
- v21 = state + 140
- v20 = *(*uint32)(unsafe.Pointer(v21))
- *(*uint32)(unsafe.Pointer(v21))++
- *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v20])*2)) = uint16(0)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
- (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
- (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
- ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
- if ret != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _10
- }
- /* get length and distance code code lengths */
- (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
- for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
- for {
- 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))
- if uint32(here.Fbits) <= bits {
- break
- }
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v23 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v23))) << bits
- bits += uint32(8)
- goto _22
- _22:
- }
- if libc.Int32FromUint16(here.Fval) < int32(16) {
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- v25 = state + 140
- v24 = *(*uint32)(unsafe.Pointer(v25))
- *(*uint32)(unsafe.Pointer(v25))++
- *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v24)*2)) = here.Fval
- } else {
- if libc.Int32FromUint16(here.Fval) == int32(16) {
- for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v26 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v26))) << bits
- bits += uint32(8)
- }
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- break
- }
- len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
- copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
- } else {
- if libc.Int32FromUint16(here.Fval) == int32(17) {
- for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v27 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v27))) << bits
- bits += uint32(8)
- }
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- len1 = uint32(0)
- copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
- } else {
- for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v28 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v28))) << bits
- bits += uint32(8)
- }
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- len1 = uint32(0)
- copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
- }
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- break
- }
- for {
- v29 = copy1
- copy1--
- if !(v29 != 0) {
- break
- }
- v31 = state + 140
- v30 = *(*uint32)(unsafe.Pointer(v31))
- *(*uint32)(unsafe.Pointer(v31))++
- *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v30)*2)) = uint16(len1)
- }
- }
- }
- /* handle error breaks in while */
- if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
- goto _10
- }
- /* check for end-of-block code (better have one) */
- if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _10
- }
- /* build code tables -- note: do not change the lenbits or distbits
- values here (9 and 6) without reading the comments in inftrees.h
- concerning the ENOUGH constants, which depend on those values */
- (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
- (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
- (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
- ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
- if ret != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _10
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
- (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
- 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)
- if ret != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _10
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
- /* fallthrough */
- _6:
- ;
- /* use inflate_fast() if we have enough input and output */
- if have >= uint32(6) && left >= uint32(258) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
- (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
- (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
- (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - left
- }
- Xinflate_fast(tls, strm, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize)
- put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
- left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
- *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
- have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
- hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
- bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
- goto _10
- }
- /* get a literal, length, or end-of-block code */
- for {
- 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))
- if uint32(here.Fbits) <= bits {
- break
- }
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v33 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v33))) << bits
- bits += uint32(8)
- goto _32
- _32:
- }
- if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
- last = here
- for {
- 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))
- if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
- break
- }
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v35 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v35))) << bits
- bits += uint32(8)
- goto _34
- _34:
- }
- hold >>= uint64(last.Fbits)
- bits -= uint32(last.Fbits)
- }
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
- /* process literal */
- if libc.Int32FromUint8(here.Fop) == 0 {
- if left == uint32(0) {
- put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
- left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
- (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
- if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
- ret = -int32(5)
- goto inf_leave
- }
- }
- v36 = put
- put++
- *(*uint8)(unsafe.Pointer(v36)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
- left--
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
- goto _10
- }
- /* process end of block */
- if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
- goto _10
- }
- /* invalid code */
- if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _10
- }
- /* length code -- get extra bits, if any */
- (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
- for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v37 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v37))) << bits
- bits += uint32(8)
- }
- *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
- hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
- bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
- }
- /* get distance code */
- for {
- 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))
- if uint32(here.Fbits) <= bits {
- break
- }
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v39 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v39))) << bits
- bits += uint32(8)
- goto _38
- _38:
- }
- if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
- last = here
- for {
- 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))
- if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
- break
- }
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v41 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v41))) << bits
- bits += uint32(8)
- goto _40
- _40:
- }
- hold >>= uint64(last.Fbits)
- bits -= uint32(last.Fbits)
- }
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _10
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
- /* get distance extra bits, if any */
- (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
- for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
- if have == uint32(0) {
- have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
- if have == uint32(0) {
- *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
- ret = -int32(5)
- goto inf_leave
- }
- }
- have--
- v42 = *(*uintptr)(unsafe.Pointer(bp))
- *(*uintptr)(unsafe.Pointer(bp))++
- hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
- bits += uint32(8)
- }
- *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
- hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
- bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
- v43 = left
- } else {
- v43 = uint32(0)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-v43 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _10
- }
- /* copy match from window to output */
- for cond := true; cond; cond = (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
- if left == uint32(0) {
- put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
- left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
- (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
- if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
- ret = -int32(5)
- goto inf_leave
- }
- }
- copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Foffset
- if copy1 < left {
- from = put + uintptr(copy1)
- copy1 = left - copy1
- } else {
- from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
- copy1 = left
- }
- if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
- copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
- }
- *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
- left -= copy1
- for {
- v46 = put
- put++
- v47 = from
- from++
- *(*uint8)(unsafe.Pointer(v46)) = *(*uint8)(unsafe.Pointer(v47))
- goto _45
- _45:
- ;
- copy1--
- v44 = copy1
- if !(v44 != 0) {
- break
- }
- }
- }
- goto _10
- _7:
- ;
- /* inflate stream terminated properly */
- ret = int32(m_Z_STREAM_END)
- goto inf_leave
- _8:
- ;
- ret = -int32(3)
- goto inf_leave
- _9:
- ;
- /* can't happen, but makes compilers happy */
- ret = -int32(2)
- goto inf_leave
- _10:
- ;
- goto _2
- _2:
- }
- /* Write leftover output and return unused input */
- goto inf_leave
- inf_leave:
- ;
- if left < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
- 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) {
- ret = -int32(5)
- }
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
- return ret
- }
- var _order = [19]uint16{
- 0: uint16(16),
- 1: uint16(17),
- 2: uint16(18),
- 4: uint16(8),
- 5: uint16(7),
- 6: uint16(9),
- 7: uint16(6),
- 8: uint16(10),
- 9: uint16(5),
- 10: uint16(11),
- 11: uint16(4),
- 12: uint16(12),
- 13: uint16(3),
- 14: uint16(13),
- 15: uint16(2),
- 16: uint16(14),
- 17: uint16(1),
- 18: uint16(15),
- }
- func XinflateBackEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
- 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) {
- return -int32(2)
- }
- (*(*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)
- (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
- return m_Z_OK
- }
- // C documentation
- //
- // /*
- // Decode literal, length, and distance codes and write out the resulting
- // literal and match bytes until either not enough input or output is
- // available, an end-of-block is encountered, or a data error is encountered.
- // When large enough input and output buffers are supplied to inflate(), for
- // example, a 16K input buffer and a 64K output buffer, more than 95% of the
- // inflate execution time is spent in this routine.
- //
- // Entry assumptions:
- //
- // state->mode == LEN
- // strm->avail_in >= 6
- // strm->avail_out >= 258
- // start >= strm->avail_out
- // state->bits < 8
- //
- // On return, state->mode is one of:
- //
- // LEN -- ran out of enough output space or enough available input
- // TYPE -- reached end of block code, inflate() to interpret next block
- // BAD -- error in block data
- //
- // Notes:
- //
- // - The maximum input bits used by a length/distance pair is 15 bits for the
- // length code, 5 bits for the length extra, 15 bits for the distance code,
- // and 13 bits for the distance extra. This totals 48 bits, or six bytes.
- // Therefore if strm->avail_in >= 6, then there is enough input to avoid
- // checking for available input while decoding.
- //
- // - The maximum bytes that a single length/distance pair can output is 258
- // bytes, which is the maximum length that can be coded. inflate_fast()
- // requires strm->avail_out >= 258 for each loop to avoid checking for
- // output space.
- // */
- func Xinflate_fast(tls *libc.TLS, strm Tz_streamp, start uint32) {
- 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
- var bits, dist, dmask, len1, lmask, op, whave, wnext, wsize, v13, v17, v21, v9 uint32
- var hold uint64
- var v45, v46 int64
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
- /* copy state to local variables */
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- in = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
- last = in + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in-libc.Uint32FromInt32(5))
- out = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
- beg = out - uintptr(start-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out)
- end = out + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_out-libc.Uint32FromInt32(257))
- wsize = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
- whave = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
- wnext = (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
- window = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
- hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
- bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
- lcode = (*Tinflate_state)(unsafe.Pointer(state)).Flencode
- dcode = (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode
- lmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits - uint32(1)
- dmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits - uint32(1)
- /* decode literals and length/distances until end-of-block or not enough
- input data or output space */
- for cond := true; cond; cond = in < last && out < end {
- if bits < uint32(15) {
- v1 = in
- in++
- hold += uint64(*(*uint8)(unsafe.Pointer(v1))) << bits
- bits += uint32(8)
- v2 = in
- in++
- hold += uint64(*(*uint8)(unsafe.Pointer(v2))) << bits
- bits += uint32(8)
- }
- here = lcode + uintptr(hold&uint64(lmask))*4
- goto dolen
- dolen:
- ;
- op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
- hold >>= uint64(op)
- bits -= op
- op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
- if op == uint32(0) { /* literal */
- v3 = out
- out++
- *(*uint8)(unsafe.Pointer(v3)) = uint8((*Tcode)(unsafe.Pointer(here)).Fval)
- } else {
- if op&uint32(16) != 0 { /* length base */
- len1 = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
- op &= uint32(15) /* number of extra bits */
- if op != 0 {
- if bits < op {
- v4 = in
- in++
- hold += uint64(*(*uint8)(unsafe.Pointer(v4))) << bits
- bits += uint32(8)
- }
- len1 += uint32(hold) & (uint32(1)<<op - uint32(1))
- hold >>= uint64(op)
- bits -= op
- }
- if bits < uint32(15) {
- v5 = in
- in++
- hold += uint64(*(*uint8)(unsafe.Pointer(v5))) << bits
- bits += uint32(8)
- v6 = in
- in++
- hold += uint64(*(*uint8)(unsafe.Pointer(v6))) << bits
- bits += uint32(8)
- }
- here = dcode + uintptr(hold&uint64(dmask))*4
- goto dodist
- dodist:
- ;
- op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
- hold >>= uint64(op)
- bits -= op
- op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
- if op&uint32(16) != 0 { /* distance base */
- dist = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
- op &= uint32(15) /* number of extra bits */
- if bits < op {
- v7 = in
- in++
- hold += uint64(*(*uint8)(unsafe.Pointer(v7))) << bits
- bits += uint32(8)
- if bits < op {
- v8 = in
- in++
- hold += uint64(*(*uint8)(unsafe.Pointer(v8))) << bits
- bits += uint32(8)
- }
- }
- dist += uint32(hold) & (uint32(1)<<op - uint32(1))
- hold >>= uint64(op)
- bits -= op
- op = libc.Uint32FromInt64(int64(out) - int64(beg)) /* max distance in output */
- if dist > op { /* see if copy from window */
- op = dist - op /* distance back in window */
- if op > whave {
- if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- break
- }
- }
- from = window
- if wnext == uint32(0) { /* very common case */
- from += uintptr(wsize - op)
- if op < len1 { /* some from window */
- len1 -= op
- for {
- v11 = out
- out++
- v12 = from
- from++
- *(*uint8)(unsafe.Pointer(v11)) = *(*uint8)(unsafe.Pointer(v12))
- goto _10
- _10:
- ;
- op--
- v9 = op
- if !(v9 != 0) {
- break
- }
- }
- from = out - uintptr(dist) /* rest from output */
- }
- } else {
- if wnext < op { /* wrap around window */
- from += uintptr(wsize + wnext - op)
- op -= wnext
- if op < len1 { /* some from end of window */
- len1 -= op
- for {
- v15 = out
- out++
- v16 = from
- from++
- *(*uint8)(unsafe.Pointer(v15)) = *(*uint8)(unsafe.Pointer(v16))
- goto _14
- _14:
- ;
- op--
- v13 = op
- if !(v13 != 0) {
- break
- }
- }
- from = window
- if wnext < len1 { /* some from start of window */
- op = wnext
- len1 -= op
- for {
- v19 = out
- out++
- v20 = from
- from++
- *(*uint8)(unsafe.Pointer(v19)) = *(*uint8)(unsafe.Pointer(v20))
- goto _18
- _18:
- ;
- op--
- v17 = op
- if !(v17 != 0) {
- break
- }
- }
- from = out - uintptr(dist) /* rest from output */
- }
- }
- } else { /* contiguous in window */
- from += uintptr(wnext - op)
- if op < len1 { /* some from window */
- len1 -= op
- for {
- v23 = out
- out++
- v24 = from
- from++
- *(*uint8)(unsafe.Pointer(v23)) = *(*uint8)(unsafe.Pointer(v24))
- goto _22
- _22:
- ;
- op--
- v21 = op
- if !(v21 != 0) {
- break
- }
- }
- from = out - uintptr(dist) /* rest from output */
- }
- }
- }
- for len1 > uint32(2) {
- v25 = out
- out++
- v26 = from
- from++
- *(*uint8)(unsafe.Pointer(v25)) = *(*uint8)(unsafe.Pointer(v26))
- v27 = out
- out++
- v28 = from
- from++
- *(*uint8)(unsafe.Pointer(v27)) = *(*uint8)(unsafe.Pointer(v28))
- v29 = out
- out++
- v30 = from
- from++
- *(*uint8)(unsafe.Pointer(v29)) = *(*uint8)(unsafe.Pointer(v30))
- len1 -= uint32(3)
- }
- if len1 != 0 {
- v31 = out
- out++
- v32 = from
- from++
- *(*uint8)(unsafe.Pointer(v31)) = *(*uint8)(unsafe.Pointer(v32))
- if len1 > uint32(1) {
- v33 = out
- out++
- v34 = from
- from++
- *(*uint8)(unsafe.Pointer(v33)) = *(*uint8)(unsafe.Pointer(v34))
- }
- }
- } else {
- from = out - uintptr(dist) /* copy direct from output */
- for cond := true; cond; cond = len1 > uint32(2) { /* minimum length is three */
- v35 = out
- out++
- v36 = from
- from++
- *(*uint8)(unsafe.Pointer(v35)) = *(*uint8)(unsafe.Pointer(v36))
- v37 = out
- out++
- v38 = from
- from++
- *(*uint8)(unsafe.Pointer(v37)) = *(*uint8)(unsafe.Pointer(v38))
- v39 = out
- out++
- v40 = from
- from++
- *(*uint8)(unsafe.Pointer(v39)) = *(*uint8)(unsafe.Pointer(v40))
- len1 -= uint32(3)
- }
- if len1 != 0 {
- v41 = out
- out++
- v42 = from
- from++
- *(*uint8)(unsafe.Pointer(v41)) = *(*uint8)(unsafe.Pointer(v42))
- if len1 > uint32(1) {
- v43 = out
- out++
- v44 = from
- from++
- *(*uint8)(unsafe.Pointer(v43)) = *(*uint8)(unsafe.Pointer(v44))
- }
- }
- }
- } else {
- if op&uint32(64) == uint32(0) { /* 2nd level distance code */
- here = dcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
- goto dodist
- } else {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- break
- }
- }
- } else {
- if op&uint32(64) == uint32(0) { /* 2nd level length code */
- here = lcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
- goto dolen
- } else {
- if op&uint32(32) != 0 { /* end-of-block */
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
- break
- } else {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- break
- }
- }
- }
- }
- }
- /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
- len1 = bits >> int32(3)
- in -= uintptr(len1)
- bits -= len1 << int32(3)
- hold &= uint64(uint32(1)<<bits - uint32(1))
- /* update state and return */
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = in
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = out
- if in < last {
- v45 = int64(5) + (int64(last) - int64(in))
- } else {
- v45 = int64(5) - (int64(in) - int64(last))
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = libc.Uint32FromInt64(v45)
- if out < end {
- v46 = int64(257) + (int64(end) - int64(out))
- } else {
- v46 = int64(257) - (int64(out) - int64(end))
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = libc.Uint32FromInt64(v46)
- (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
- (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
- return
- }
- func _inflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
- var state uintptr
- _ = state
- if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
- return int32(1)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- 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) {
- return int32(1)
- }
- return 0
- }
- func XinflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
- var state, v3, v4 uintptr
- var v1 TuLong
- var v2 uint64
- _, _, _, _, _ = state, v1, v2, v3, v4
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- v2 = libc.Uint64FromInt32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Ftotal = v2
- v1 = v2
- (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
- (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 { /* to support ill-conceived Java test suite */
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = libc.Uint64FromInt32((*Tinflate_state)(unsafe.Pointer(state)).Fwrap & int32(1))
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD)
- (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
- (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = 0
- (*Tinflate_state)(unsafe.Pointer(state)).Fflags = -int32(1)
- (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
- (*Tinflate_state)(unsafe.Pointer(state)).Fhead = uintptr(m_Z_NULL)
- (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
- v4 = state + 1368
- (*Tinflate_state)(unsafe.Pointer(state)).Fnext = v4
- v3 = v4
- (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = v3
- (*Tinflate_state)(unsafe.Pointer(state)).Flencode = v3
- (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
- (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
- return m_Z_OK
- }
- func XinflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
- var state uintptr
- _ = state
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
- return XinflateResetKeep(tls, strm)
- }
- func XinflateReset2(tls *libc.TLS, strm Tz_streamp, windowBits int32) (r int32) {
- var state uintptr
- var wrap int32
- _, _ = state, wrap
- /* get the state */
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- /* extract wrap request from windowBits parameter */
- if windowBits < 0 {
- if windowBits < -int32(15) {
- return -int32(2)
- }
- wrap = 0
- windowBits = -windowBits
- } else {
- wrap = windowBits>>int32(4) + int32(5)
- if windowBits < int32(48) {
- windowBits &= int32(15)
- }
- }
- /* set number of window bits, free window if different */
- if windowBits != 0 && (windowBits < int32(8) || windowBits > int32(15)) {
- return -int32(2)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Fwbits != libc.Uint32FromInt32(windowBits) {
- (*(*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)
- (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
- }
- /* update state and reset the rest of it */
- (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = wrap
- (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
- return XinflateReset(tls, strm)
- }
- func XinflateInit2_(tls *libc.TLS, strm Tz_streamp, windowBits int32, version uintptr, stream_size int32) (r int32) {
- var ret int32
- var state uintptr
- _, _ = ret, state
- if version == uintptr(m_Z_NULL) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(version))) != libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
- return -int32(6)
- }
- if strm == uintptr(m_Z_NULL) {
- return -int32(2)
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
- if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
- (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
- }
- if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
- }
- 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)))
- if state == uintptr(m_Z_NULL) {
- return -int32(4)
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
- (*Tinflate_state)(unsafe.Pointer(state)).Fstrm = strm
- (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD) /* to pass state test in inflateReset2() */
- ret = XinflateReset2(tls, strm, windowBits)
- if ret != m_Z_OK {
- (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, state)
- (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
- }
- return ret
- }
- func XinflateInit_(tls *libc.TLS, strm Tz_streamp, version uintptr, stream_size int32) (r int32) {
- return XinflateInit2_(tls, strm, int32(m_MAX_WBITS), version, stream_size)
- }
- func XinflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
- var state uintptr
- _ = state
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- if bits == 0 {
- return m_Z_OK
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- if bits < 0 {
- (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
- return m_Z_OK
- }
- if bits > int32(16) || (*Tinflate_state)(unsafe.Pointer(state)).Fbits+libc.Uint32FromInt32(bits) > uint32(32) {
- return -int32(2)
- }
- value = int32(int64(value) & (libc.Int64FromInt64(1)<<bits - libc.Int64FromInt32(1)))
- *(*uint64)(unsafe.Pointer(state + 80)) += uint64(libc.Uint32FromInt32(value) << (*Tinflate_state)(unsafe.Pointer(state)).Fbits)
- *(*uint32)(unsafe.Pointer(state + 88)) += libc.Uint32FromInt32(bits)
- return m_Z_OK
- }
- // C documentation
- //
- // /*
- // Return state with length and distance decoding tables and index sizes set to
- // fixed code decoding. Normally this returns fixed tables from inffixed.h.
- // If BUILDFIXED is defined, then instead this routine builds the tables the
- // first time it's called, and returns those tables the first time and
- // thereafter. This reduces the size of the code by about 2K bytes, in
- // exchange for a little execution time. However, BUILDFIXED should not be
- // used for threaded applications, since the rewriting of the tables and virgin
- // may not be thread-safe.
- // */
- func _fixedtables1(tls *libc.TLS, state uintptr) {
- (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix1))
- (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
- (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix1))
- (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
- }
- var _lenfix1 = [512]Tcode{
- 0: {
- Fop: uint8(96),
- Fbits: uint8(7),
- },
- 1: {
- Fbits: uint8(8),
- Fval: uint16(80),
- },
- 2: {
- Fbits: uint8(8),
- Fval: uint16(16),
- },
- 3: {
- Fop: uint8(20),
- Fbits: uint8(8),
- Fval: uint16(115),
- },
- 4: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(31),
- },
- 5: {
- Fbits: uint8(8),
- Fval: uint16(112),
- },
- 6: {
- Fbits: uint8(8),
- Fval: uint16(48),
- },
- 7: {
- Fbits: uint8(9),
- Fval: uint16(192),
- },
- 8: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(10),
- },
- 9: {
- Fbits: uint8(8),
- Fval: uint16(96),
- },
- 10: {
- Fbits: uint8(8),
- Fval: uint16(32),
- },
- 11: {
- Fbits: uint8(9),
- Fval: uint16(160),
- },
- 12: {
- Fbits: uint8(8),
- },
- 13: {
- Fbits: uint8(8),
- Fval: uint16(128),
- },
- 14: {
- Fbits: uint8(8),
- Fval: uint16(64),
- },
- 15: {
- Fbits: uint8(9),
- Fval: uint16(224),
- },
- 16: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(6),
- },
- 17: {
- Fbits: uint8(8),
- Fval: uint16(88),
- },
- 18: {
- Fbits: uint8(8),
- Fval: uint16(24),
- },
- 19: {
- Fbits: uint8(9),
- Fval: uint16(144),
- },
- 20: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(59),
- },
- 21: {
- Fbits: uint8(8),
- Fval: uint16(120),
- },
- 22: {
- Fbits: uint8(8),
- Fval: uint16(56),
- },
- 23: {
- Fbits: uint8(9),
- Fval: uint16(208),
- },
- 24: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(17),
- },
- 25: {
- Fbits: uint8(8),
- Fval: uint16(104),
- },
- 26: {
- Fbits: uint8(8),
- Fval: uint16(40),
- },
- 27: {
- Fbits: uint8(9),
- Fval: uint16(176),
- },
- 28: {
- Fbits: uint8(8),
- Fval: uint16(8),
- },
- 29: {
- Fbits: uint8(8),
- Fval: uint16(136),
- },
- 30: {
- Fbits: uint8(8),
- Fval: uint16(72),
- },
- 31: {
- Fbits: uint8(9),
- Fval: uint16(240),
- },
- 32: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(4),
- },
- 33: {
- Fbits: uint8(8),
- Fval: uint16(84),
- },
- 34: {
- Fbits: uint8(8),
- Fval: uint16(20),
- },
- 35: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(227),
- },
- 36: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(43),
- },
- 37: {
- Fbits: uint8(8),
- Fval: uint16(116),
- },
- 38: {
- Fbits: uint8(8),
- Fval: uint16(52),
- },
- 39: {
- Fbits: uint8(9),
- Fval: uint16(200),
- },
- 40: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(13),
- },
- 41: {
- Fbits: uint8(8),
- Fval: uint16(100),
- },
- 42: {
- Fbits: uint8(8),
- Fval: uint16(36),
- },
- 43: {
- Fbits: uint8(9),
- Fval: uint16(168),
- },
- 44: {
- Fbits: uint8(8),
- Fval: uint16(4),
- },
- 45: {
- Fbits: uint8(8),
- Fval: uint16(132),
- },
- 46: {
- Fbits: uint8(8),
- Fval: uint16(68),
- },
- 47: {
- Fbits: uint8(9),
- Fval: uint16(232),
- },
- 48: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(8),
- },
- 49: {
- Fbits: uint8(8),
- Fval: uint16(92),
- },
- 50: {
- Fbits: uint8(8),
- Fval: uint16(28),
- },
- 51: {
- Fbits: uint8(9),
- Fval: uint16(152),
- },
- 52: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(83),
- },
- 53: {
- Fbits: uint8(8),
- Fval: uint16(124),
- },
- 54: {
- Fbits: uint8(8),
- Fval: uint16(60),
- },
- 55: {
- Fbits: uint8(9),
- Fval: uint16(216),
- },
- 56: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(23),
- },
- 57: {
- Fbits: uint8(8),
- Fval: uint16(108),
- },
- 58: {
- Fbits: uint8(8),
- Fval: uint16(44),
- },
- 59: {
- Fbits: uint8(9),
- Fval: uint16(184),
- },
- 60: {
- Fbits: uint8(8),
- Fval: uint16(12),
- },
- 61: {
- Fbits: uint8(8),
- Fval: uint16(140),
- },
- 62: {
- Fbits: uint8(8),
- Fval: uint16(76),
- },
- 63: {
- Fbits: uint8(9),
- Fval: uint16(248),
- },
- 64: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(3),
- },
- 65: {
- Fbits: uint8(8),
- Fval: uint16(82),
- },
- 66: {
- Fbits: uint8(8),
- Fval: uint16(18),
- },
- 67: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(163),
- },
- 68: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(35),
- },
- 69: {
- Fbits: uint8(8),
- Fval: uint16(114),
- },
- 70: {
- Fbits: uint8(8),
- Fval: uint16(50),
- },
- 71: {
- Fbits: uint8(9),
- Fval: uint16(196),
- },
- 72: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(11),
- },
- 73: {
- Fbits: uint8(8),
- Fval: uint16(98),
- },
- 74: {
- Fbits: uint8(8),
- Fval: uint16(34),
- },
- 75: {
- Fbits: uint8(9),
- Fval: uint16(164),
- },
- 76: {
- Fbits: uint8(8),
- Fval: uint16(2),
- },
- 77: {
- Fbits: uint8(8),
- Fval: uint16(130),
- },
- 78: {
- Fbits: uint8(8),
- Fval: uint16(66),
- },
- 79: {
- Fbits: uint8(9),
- Fval: uint16(228),
- },
- 80: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(7),
- },
- 81: {
- Fbits: uint8(8),
- Fval: uint16(90),
- },
- 82: {
- Fbits: uint8(8),
- Fval: uint16(26),
- },
- 83: {
- Fbits: uint8(9),
- Fval: uint16(148),
- },
- 84: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(67),
- },
- 85: {
- Fbits: uint8(8),
- Fval: uint16(122),
- },
- 86: {
- Fbits: uint8(8),
- Fval: uint16(58),
- },
- 87: {
- Fbits: uint8(9),
- Fval: uint16(212),
- },
- 88: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(19),
- },
- 89: {
- Fbits: uint8(8),
- Fval: uint16(106),
- },
- 90: {
- Fbits: uint8(8),
- Fval: uint16(42),
- },
- 91: {
- Fbits: uint8(9),
- Fval: uint16(180),
- },
- 92: {
- Fbits: uint8(8),
- Fval: uint16(10),
- },
- 93: {
- Fbits: uint8(8),
- Fval: uint16(138),
- },
- 94: {
- Fbits: uint8(8),
- Fval: uint16(74),
- },
- 95: {
- Fbits: uint8(9),
- Fval: uint16(244),
- },
- 96: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(5),
- },
- 97: {
- Fbits: uint8(8),
- Fval: uint16(86),
- },
- 98: {
- Fbits: uint8(8),
- Fval: uint16(22),
- },
- 99: {
- Fop: uint8(64),
- Fbits: uint8(8),
- },
- 100: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(51),
- },
- 101: {
- Fbits: uint8(8),
- Fval: uint16(118),
- },
- 102: {
- Fbits: uint8(8),
- Fval: uint16(54),
- },
- 103: {
- Fbits: uint8(9),
- Fval: uint16(204),
- },
- 104: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(15),
- },
- 105: {
- Fbits: uint8(8),
- Fval: uint16(102),
- },
- 106: {
- Fbits: uint8(8),
- Fval: uint16(38),
- },
- 107: {
- Fbits: uint8(9),
- Fval: uint16(172),
- },
- 108: {
- Fbits: uint8(8),
- Fval: uint16(6),
- },
- 109: {
- Fbits: uint8(8),
- Fval: uint16(134),
- },
- 110: {
- Fbits: uint8(8),
- Fval: uint16(70),
- },
- 111: {
- Fbits: uint8(9),
- Fval: uint16(236),
- },
- 112: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(9),
- },
- 113: {
- Fbits: uint8(8),
- Fval: uint16(94),
- },
- 114: {
- Fbits: uint8(8),
- Fval: uint16(30),
- },
- 115: {
- Fbits: uint8(9),
- Fval: uint16(156),
- },
- 116: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(99),
- },
- 117: {
- Fbits: uint8(8),
- Fval: uint16(126),
- },
- 118: {
- Fbits: uint8(8),
- Fval: uint16(62),
- },
- 119: {
- Fbits: uint8(9),
- Fval: uint16(220),
- },
- 120: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(27),
- },
- 121: {
- Fbits: uint8(8),
- Fval: uint16(110),
- },
- 122: {
- Fbits: uint8(8),
- Fval: uint16(46),
- },
- 123: {
- Fbits: uint8(9),
- Fval: uint16(188),
- },
- 124: {
- Fbits: uint8(8),
- Fval: uint16(14),
- },
- 125: {
- Fbits: uint8(8),
- Fval: uint16(142),
- },
- 126: {
- Fbits: uint8(8),
- Fval: uint16(78),
- },
- 127: {
- Fbits: uint8(9),
- Fval: uint16(252),
- },
- 128: {
- Fop: uint8(96),
- Fbits: uint8(7),
- },
- 129: {
- Fbits: uint8(8),
- Fval: uint16(81),
- },
- 130: {
- Fbits: uint8(8),
- Fval: uint16(17),
- },
- 131: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(131),
- },
- 132: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(31),
- },
- 133: {
- Fbits: uint8(8),
- Fval: uint16(113),
- },
- 134: {
- Fbits: uint8(8),
- Fval: uint16(49),
- },
- 135: {
- Fbits: uint8(9),
- Fval: uint16(194),
- },
- 136: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(10),
- },
- 137: {
- Fbits: uint8(8),
- Fval: uint16(97),
- },
- 138: {
- Fbits: uint8(8),
- Fval: uint16(33),
- },
- 139: {
- Fbits: uint8(9),
- Fval: uint16(162),
- },
- 140: {
- Fbits: uint8(8),
- Fval: uint16(1),
- },
- 141: {
- Fbits: uint8(8),
- Fval: uint16(129),
- },
- 142: {
- Fbits: uint8(8),
- Fval: uint16(65),
- },
- 143: {
- Fbits: uint8(9),
- Fval: uint16(226),
- },
- 144: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(6),
- },
- 145: {
- Fbits: uint8(8),
- Fval: uint16(89),
- },
- 146: {
- Fbits: uint8(8),
- Fval: uint16(25),
- },
- 147: {
- Fbits: uint8(9),
- Fval: uint16(146),
- },
- 148: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(59),
- },
- 149: {
- Fbits: uint8(8),
- Fval: uint16(121),
- },
- 150: {
- Fbits: uint8(8),
- Fval: uint16(57),
- },
- 151: {
- Fbits: uint8(9),
- Fval: uint16(210),
- },
- 152: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(17),
- },
- 153: {
- Fbits: uint8(8),
- Fval: uint16(105),
- },
- 154: {
- Fbits: uint8(8),
- Fval: uint16(41),
- },
- 155: {
- Fbits: uint8(9),
- Fval: uint16(178),
- },
- 156: {
- Fbits: uint8(8),
- Fval: uint16(9),
- },
- 157: {
- Fbits: uint8(8),
- Fval: uint16(137),
- },
- 158: {
- Fbits: uint8(8),
- Fval: uint16(73),
- },
- 159: {
- Fbits: uint8(9),
- Fval: uint16(242),
- },
- 160: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(4),
- },
- 161: {
- Fbits: uint8(8),
- Fval: uint16(85),
- },
- 162: {
- Fbits: uint8(8),
- Fval: uint16(21),
- },
- 163: {
- Fop: uint8(16),
- Fbits: uint8(8),
- Fval: uint16(258),
- },
- 164: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(43),
- },
- 165: {
- Fbits: uint8(8),
- Fval: uint16(117),
- },
- 166: {
- Fbits: uint8(8),
- Fval: uint16(53),
- },
- 167: {
- Fbits: uint8(9),
- Fval: uint16(202),
- },
- 168: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(13),
- },
- 169: {
- Fbits: uint8(8),
- Fval: uint16(101),
- },
- 170: {
- Fbits: uint8(8),
- Fval: uint16(37),
- },
- 171: {
- Fbits: uint8(9),
- Fval: uint16(170),
- },
- 172: {
- Fbits: uint8(8),
- Fval: uint16(5),
- },
- 173: {
- Fbits: uint8(8),
- Fval: uint16(133),
- },
- 174: {
- Fbits: uint8(8),
- Fval: uint16(69),
- },
- 175: {
- Fbits: uint8(9),
- Fval: uint16(234),
- },
- 176: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(8),
- },
- 177: {
- Fbits: uint8(8),
- Fval: uint16(93),
- },
- 178: {
- Fbits: uint8(8),
- Fval: uint16(29),
- },
- 179: {
- Fbits: uint8(9),
- Fval: uint16(154),
- },
- 180: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(83),
- },
- 181: {
- Fbits: uint8(8),
- Fval: uint16(125),
- },
- 182: {
- Fbits: uint8(8),
- Fval: uint16(61),
- },
- 183: {
- Fbits: uint8(9),
- Fval: uint16(218),
- },
- 184: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(23),
- },
- 185: {
- Fbits: uint8(8),
- Fval: uint16(109),
- },
- 186: {
- Fbits: uint8(8),
- Fval: uint16(45),
- },
- 187: {
- Fbits: uint8(9),
- Fval: uint16(186),
- },
- 188: {
- Fbits: uint8(8),
- Fval: uint16(13),
- },
- 189: {
- Fbits: uint8(8),
- Fval: uint16(141),
- },
- 190: {
- Fbits: uint8(8),
- Fval: uint16(77),
- },
- 191: {
- Fbits: uint8(9),
- Fval: uint16(250),
- },
- 192: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(3),
- },
- 193: {
- Fbits: uint8(8),
- Fval: uint16(83),
- },
- 194: {
- Fbits: uint8(8),
- Fval: uint16(19),
- },
- 195: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(195),
- },
- 196: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(35),
- },
- 197: {
- Fbits: uint8(8),
- Fval: uint16(115),
- },
- 198: {
- Fbits: uint8(8),
- Fval: uint16(51),
- },
- 199: {
- Fbits: uint8(9),
- Fval: uint16(198),
- },
- 200: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(11),
- },
- 201: {
- Fbits: uint8(8),
- Fval: uint16(99),
- },
- 202: {
- Fbits: uint8(8),
- Fval: uint16(35),
- },
- 203: {
- Fbits: uint8(9),
- Fval: uint16(166),
- },
- 204: {
- Fbits: uint8(8),
- Fval: uint16(3),
- },
- 205: {
- Fbits: uint8(8),
- Fval: uint16(131),
- },
- 206: {
- Fbits: uint8(8),
- Fval: uint16(67),
- },
- 207: {
- Fbits: uint8(9),
- Fval: uint16(230),
- },
- 208: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(7),
- },
- 209: {
- Fbits: uint8(8),
- Fval: uint16(91),
- },
- 210: {
- Fbits: uint8(8),
- Fval: uint16(27),
- },
- 211: {
- Fbits: uint8(9),
- Fval: uint16(150),
- },
- 212: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(67),
- },
- 213: {
- Fbits: uint8(8),
- Fval: uint16(123),
- },
- 214: {
- Fbits: uint8(8),
- Fval: uint16(59),
- },
- 215: {
- Fbits: uint8(9),
- Fval: uint16(214),
- },
- 216: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(19),
- },
- 217: {
- Fbits: uint8(8),
- Fval: uint16(107),
- },
- 218: {
- Fbits: uint8(8),
- Fval: uint16(43),
- },
- 219: {
- Fbits: uint8(9),
- Fval: uint16(182),
- },
- 220: {
- Fbits: uint8(8),
- Fval: uint16(11),
- },
- 221: {
- Fbits: uint8(8),
- Fval: uint16(139),
- },
- 222: {
- Fbits: uint8(8),
- Fval: uint16(75),
- },
- 223: {
- Fbits: uint8(9),
- Fval: uint16(246),
- },
- 224: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(5),
- },
- 225: {
- Fbits: uint8(8),
- Fval: uint16(87),
- },
- 226: {
- Fbits: uint8(8),
- Fval: uint16(23),
- },
- 227: {
- Fop: uint8(64),
- Fbits: uint8(8),
- },
- 228: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(51),
- },
- 229: {
- Fbits: uint8(8),
- Fval: uint16(119),
- },
- 230: {
- Fbits: uint8(8),
- Fval: uint16(55),
- },
- 231: {
- Fbits: uint8(9),
- Fval: uint16(206),
- },
- 232: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(15),
- },
- 233: {
- Fbits: uint8(8),
- Fval: uint16(103),
- },
- 234: {
- Fbits: uint8(8),
- Fval: uint16(39),
- },
- 235: {
- Fbits: uint8(9),
- Fval: uint16(174),
- },
- 236: {
- Fbits: uint8(8),
- Fval: uint16(7),
- },
- 237: {
- Fbits: uint8(8),
- Fval: uint16(135),
- },
- 238: {
- Fbits: uint8(8),
- Fval: uint16(71),
- },
- 239: {
- Fbits: uint8(9),
- Fval: uint16(238),
- },
- 240: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(9),
- },
- 241: {
- Fbits: uint8(8),
- Fval: uint16(95),
- },
- 242: {
- Fbits: uint8(8),
- Fval: uint16(31),
- },
- 243: {
- Fbits: uint8(9),
- Fval: uint16(158),
- },
- 244: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(99),
- },
- 245: {
- Fbits: uint8(8),
- Fval: uint16(127),
- },
- 246: {
- Fbits: uint8(8),
- Fval: uint16(63),
- },
- 247: {
- Fbits: uint8(9),
- Fval: uint16(222),
- },
- 248: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(27),
- },
- 249: {
- Fbits: uint8(8),
- Fval: uint16(111),
- },
- 250: {
- Fbits: uint8(8),
- Fval: uint16(47),
- },
- 251: {
- Fbits: uint8(9),
- Fval: uint16(190),
- },
- 252: {
- Fbits: uint8(8),
- Fval: uint16(15),
- },
- 253: {
- Fbits: uint8(8),
- Fval: uint16(143),
- },
- 254: {
- Fbits: uint8(8),
- Fval: uint16(79),
- },
- 255: {
- Fbits: uint8(9),
- Fval: uint16(254),
- },
- 256: {
- Fop: uint8(96),
- Fbits: uint8(7),
- },
- 257: {
- Fbits: uint8(8),
- Fval: uint16(80),
- },
- 258: {
- Fbits: uint8(8),
- Fval: uint16(16),
- },
- 259: {
- Fop: uint8(20),
- Fbits: uint8(8),
- Fval: uint16(115),
- },
- 260: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(31),
- },
- 261: {
- Fbits: uint8(8),
- Fval: uint16(112),
- },
- 262: {
- Fbits: uint8(8),
- Fval: uint16(48),
- },
- 263: {
- Fbits: uint8(9),
- Fval: uint16(193),
- },
- 264: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(10),
- },
- 265: {
- Fbits: uint8(8),
- Fval: uint16(96),
- },
- 266: {
- Fbits: uint8(8),
- Fval: uint16(32),
- },
- 267: {
- Fbits: uint8(9),
- Fval: uint16(161),
- },
- 268: {
- Fbits: uint8(8),
- },
- 269: {
- Fbits: uint8(8),
- Fval: uint16(128),
- },
- 270: {
- Fbits: uint8(8),
- Fval: uint16(64),
- },
- 271: {
- Fbits: uint8(9),
- Fval: uint16(225),
- },
- 272: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(6),
- },
- 273: {
- Fbits: uint8(8),
- Fval: uint16(88),
- },
- 274: {
- Fbits: uint8(8),
- Fval: uint16(24),
- },
- 275: {
- Fbits: uint8(9),
- Fval: uint16(145),
- },
- 276: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(59),
- },
- 277: {
- Fbits: uint8(8),
- Fval: uint16(120),
- },
- 278: {
- Fbits: uint8(8),
- Fval: uint16(56),
- },
- 279: {
- Fbits: uint8(9),
- Fval: uint16(209),
- },
- 280: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(17),
- },
- 281: {
- Fbits: uint8(8),
- Fval: uint16(104),
- },
- 282: {
- Fbits: uint8(8),
- Fval: uint16(40),
- },
- 283: {
- Fbits: uint8(9),
- Fval: uint16(177),
- },
- 284: {
- Fbits: uint8(8),
- Fval: uint16(8),
- },
- 285: {
- Fbits: uint8(8),
- Fval: uint16(136),
- },
- 286: {
- Fbits: uint8(8),
- Fval: uint16(72),
- },
- 287: {
- Fbits: uint8(9),
- Fval: uint16(241),
- },
- 288: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(4),
- },
- 289: {
- Fbits: uint8(8),
- Fval: uint16(84),
- },
- 290: {
- Fbits: uint8(8),
- Fval: uint16(20),
- },
- 291: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(227),
- },
- 292: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(43),
- },
- 293: {
- Fbits: uint8(8),
- Fval: uint16(116),
- },
- 294: {
- Fbits: uint8(8),
- Fval: uint16(52),
- },
- 295: {
- Fbits: uint8(9),
- Fval: uint16(201),
- },
- 296: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(13),
- },
- 297: {
- Fbits: uint8(8),
- Fval: uint16(100),
- },
- 298: {
- Fbits: uint8(8),
- Fval: uint16(36),
- },
- 299: {
- Fbits: uint8(9),
- Fval: uint16(169),
- },
- 300: {
- Fbits: uint8(8),
- Fval: uint16(4),
- },
- 301: {
- Fbits: uint8(8),
- Fval: uint16(132),
- },
- 302: {
- Fbits: uint8(8),
- Fval: uint16(68),
- },
- 303: {
- Fbits: uint8(9),
- Fval: uint16(233),
- },
- 304: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(8),
- },
- 305: {
- Fbits: uint8(8),
- Fval: uint16(92),
- },
- 306: {
- Fbits: uint8(8),
- Fval: uint16(28),
- },
- 307: {
- Fbits: uint8(9),
- Fval: uint16(153),
- },
- 308: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(83),
- },
- 309: {
- Fbits: uint8(8),
- Fval: uint16(124),
- },
- 310: {
- Fbits: uint8(8),
- Fval: uint16(60),
- },
- 311: {
- Fbits: uint8(9),
- Fval: uint16(217),
- },
- 312: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(23),
- },
- 313: {
- Fbits: uint8(8),
- Fval: uint16(108),
- },
- 314: {
- Fbits: uint8(8),
- Fval: uint16(44),
- },
- 315: {
- Fbits: uint8(9),
- Fval: uint16(185),
- },
- 316: {
- Fbits: uint8(8),
- Fval: uint16(12),
- },
- 317: {
- Fbits: uint8(8),
- Fval: uint16(140),
- },
- 318: {
- Fbits: uint8(8),
- Fval: uint16(76),
- },
- 319: {
- Fbits: uint8(9),
- Fval: uint16(249),
- },
- 320: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(3),
- },
- 321: {
- Fbits: uint8(8),
- Fval: uint16(82),
- },
- 322: {
- Fbits: uint8(8),
- Fval: uint16(18),
- },
- 323: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(163),
- },
- 324: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(35),
- },
- 325: {
- Fbits: uint8(8),
- Fval: uint16(114),
- },
- 326: {
- Fbits: uint8(8),
- Fval: uint16(50),
- },
- 327: {
- Fbits: uint8(9),
- Fval: uint16(197),
- },
- 328: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(11),
- },
- 329: {
- Fbits: uint8(8),
- Fval: uint16(98),
- },
- 330: {
- Fbits: uint8(8),
- Fval: uint16(34),
- },
- 331: {
- Fbits: uint8(9),
- Fval: uint16(165),
- },
- 332: {
- Fbits: uint8(8),
- Fval: uint16(2),
- },
- 333: {
- Fbits: uint8(8),
- Fval: uint16(130),
- },
- 334: {
- Fbits: uint8(8),
- Fval: uint16(66),
- },
- 335: {
- Fbits: uint8(9),
- Fval: uint16(229),
- },
- 336: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(7),
- },
- 337: {
- Fbits: uint8(8),
- Fval: uint16(90),
- },
- 338: {
- Fbits: uint8(8),
- Fval: uint16(26),
- },
- 339: {
- Fbits: uint8(9),
- Fval: uint16(149),
- },
- 340: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(67),
- },
- 341: {
- Fbits: uint8(8),
- Fval: uint16(122),
- },
- 342: {
- Fbits: uint8(8),
- Fval: uint16(58),
- },
- 343: {
- Fbits: uint8(9),
- Fval: uint16(213),
- },
- 344: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(19),
- },
- 345: {
- Fbits: uint8(8),
- Fval: uint16(106),
- },
- 346: {
- Fbits: uint8(8),
- Fval: uint16(42),
- },
- 347: {
- Fbits: uint8(9),
- Fval: uint16(181),
- },
- 348: {
- Fbits: uint8(8),
- Fval: uint16(10),
- },
- 349: {
- Fbits: uint8(8),
- Fval: uint16(138),
- },
- 350: {
- Fbits: uint8(8),
- Fval: uint16(74),
- },
- 351: {
- Fbits: uint8(9),
- Fval: uint16(245),
- },
- 352: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(5),
- },
- 353: {
- Fbits: uint8(8),
- Fval: uint16(86),
- },
- 354: {
- Fbits: uint8(8),
- Fval: uint16(22),
- },
- 355: {
- Fop: uint8(64),
- Fbits: uint8(8),
- },
- 356: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(51),
- },
- 357: {
- Fbits: uint8(8),
- Fval: uint16(118),
- },
- 358: {
- Fbits: uint8(8),
- Fval: uint16(54),
- },
- 359: {
- Fbits: uint8(9),
- Fval: uint16(205),
- },
- 360: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(15),
- },
- 361: {
- Fbits: uint8(8),
- Fval: uint16(102),
- },
- 362: {
- Fbits: uint8(8),
- Fval: uint16(38),
- },
- 363: {
- Fbits: uint8(9),
- Fval: uint16(173),
- },
- 364: {
- Fbits: uint8(8),
- Fval: uint16(6),
- },
- 365: {
- Fbits: uint8(8),
- Fval: uint16(134),
- },
- 366: {
- Fbits: uint8(8),
- Fval: uint16(70),
- },
- 367: {
- Fbits: uint8(9),
- Fval: uint16(237),
- },
- 368: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(9),
- },
- 369: {
- Fbits: uint8(8),
- Fval: uint16(94),
- },
- 370: {
- Fbits: uint8(8),
- Fval: uint16(30),
- },
- 371: {
- Fbits: uint8(9),
- Fval: uint16(157),
- },
- 372: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(99),
- },
- 373: {
- Fbits: uint8(8),
- Fval: uint16(126),
- },
- 374: {
- Fbits: uint8(8),
- Fval: uint16(62),
- },
- 375: {
- Fbits: uint8(9),
- Fval: uint16(221),
- },
- 376: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(27),
- },
- 377: {
- Fbits: uint8(8),
- Fval: uint16(110),
- },
- 378: {
- Fbits: uint8(8),
- Fval: uint16(46),
- },
- 379: {
- Fbits: uint8(9),
- Fval: uint16(189),
- },
- 380: {
- Fbits: uint8(8),
- Fval: uint16(14),
- },
- 381: {
- Fbits: uint8(8),
- Fval: uint16(142),
- },
- 382: {
- Fbits: uint8(8),
- Fval: uint16(78),
- },
- 383: {
- Fbits: uint8(9),
- Fval: uint16(253),
- },
- 384: {
- Fop: uint8(96),
- Fbits: uint8(7),
- },
- 385: {
- Fbits: uint8(8),
- Fval: uint16(81),
- },
- 386: {
- Fbits: uint8(8),
- Fval: uint16(17),
- },
- 387: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(131),
- },
- 388: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(31),
- },
- 389: {
- Fbits: uint8(8),
- Fval: uint16(113),
- },
- 390: {
- Fbits: uint8(8),
- Fval: uint16(49),
- },
- 391: {
- Fbits: uint8(9),
- Fval: uint16(195),
- },
- 392: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(10),
- },
- 393: {
- Fbits: uint8(8),
- Fval: uint16(97),
- },
- 394: {
- Fbits: uint8(8),
- Fval: uint16(33),
- },
- 395: {
- Fbits: uint8(9),
- Fval: uint16(163),
- },
- 396: {
- Fbits: uint8(8),
- Fval: uint16(1),
- },
- 397: {
- Fbits: uint8(8),
- Fval: uint16(129),
- },
- 398: {
- Fbits: uint8(8),
- Fval: uint16(65),
- },
- 399: {
- Fbits: uint8(9),
- Fval: uint16(227),
- },
- 400: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(6),
- },
- 401: {
- Fbits: uint8(8),
- Fval: uint16(89),
- },
- 402: {
- Fbits: uint8(8),
- Fval: uint16(25),
- },
- 403: {
- Fbits: uint8(9),
- Fval: uint16(147),
- },
- 404: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(59),
- },
- 405: {
- Fbits: uint8(8),
- Fval: uint16(121),
- },
- 406: {
- Fbits: uint8(8),
- Fval: uint16(57),
- },
- 407: {
- Fbits: uint8(9),
- Fval: uint16(211),
- },
- 408: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(17),
- },
- 409: {
- Fbits: uint8(8),
- Fval: uint16(105),
- },
- 410: {
- Fbits: uint8(8),
- Fval: uint16(41),
- },
- 411: {
- Fbits: uint8(9),
- Fval: uint16(179),
- },
- 412: {
- Fbits: uint8(8),
- Fval: uint16(9),
- },
- 413: {
- Fbits: uint8(8),
- Fval: uint16(137),
- },
- 414: {
- Fbits: uint8(8),
- Fval: uint16(73),
- },
- 415: {
- Fbits: uint8(9),
- Fval: uint16(243),
- },
- 416: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(4),
- },
- 417: {
- Fbits: uint8(8),
- Fval: uint16(85),
- },
- 418: {
- Fbits: uint8(8),
- Fval: uint16(21),
- },
- 419: {
- Fop: uint8(16),
- Fbits: uint8(8),
- Fval: uint16(258),
- },
- 420: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(43),
- },
- 421: {
- Fbits: uint8(8),
- Fval: uint16(117),
- },
- 422: {
- Fbits: uint8(8),
- Fval: uint16(53),
- },
- 423: {
- Fbits: uint8(9),
- Fval: uint16(203),
- },
- 424: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(13),
- },
- 425: {
- Fbits: uint8(8),
- Fval: uint16(101),
- },
- 426: {
- Fbits: uint8(8),
- Fval: uint16(37),
- },
- 427: {
- Fbits: uint8(9),
- Fval: uint16(171),
- },
- 428: {
- Fbits: uint8(8),
- Fval: uint16(5),
- },
- 429: {
- Fbits: uint8(8),
- Fval: uint16(133),
- },
- 430: {
- Fbits: uint8(8),
- Fval: uint16(69),
- },
- 431: {
- Fbits: uint8(9),
- Fval: uint16(235),
- },
- 432: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(8),
- },
- 433: {
- Fbits: uint8(8),
- Fval: uint16(93),
- },
- 434: {
- Fbits: uint8(8),
- Fval: uint16(29),
- },
- 435: {
- Fbits: uint8(9),
- Fval: uint16(155),
- },
- 436: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(83),
- },
- 437: {
- Fbits: uint8(8),
- Fval: uint16(125),
- },
- 438: {
- Fbits: uint8(8),
- Fval: uint16(61),
- },
- 439: {
- Fbits: uint8(9),
- Fval: uint16(219),
- },
- 440: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(23),
- },
- 441: {
- Fbits: uint8(8),
- Fval: uint16(109),
- },
- 442: {
- Fbits: uint8(8),
- Fval: uint16(45),
- },
- 443: {
- Fbits: uint8(9),
- Fval: uint16(187),
- },
- 444: {
- Fbits: uint8(8),
- Fval: uint16(13),
- },
- 445: {
- Fbits: uint8(8),
- Fval: uint16(141),
- },
- 446: {
- Fbits: uint8(8),
- Fval: uint16(77),
- },
- 447: {
- Fbits: uint8(9),
- Fval: uint16(251),
- },
- 448: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(3),
- },
- 449: {
- Fbits: uint8(8),
- Fval: uint16(83),
- },
- 450: {
- Fbits: uint8(8),
- Fval: uint16(19),
- },
- 451: {
- Fop: uint8(21),
- Fbits: uint8(8),
- Fval: uint16(195),
- },
- 452: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(35),
- },
- 453: {
- Fbits: uint8(8),
- Fval: uint16(115),
- },
- 454: {
- Fbits: uint8(8),
- Fval: uint16(51),
- },
- 455: {
- Fbits: uint8(9),
- Fval: uint16(199),
- },
- 456: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(11),
- },
- 457: {
- Fbits: uint8(8),
- Fval: uint16(99),
- },
- 458: {
- Fbits: uint8(8),
- Fval: uint16(35),
- },
- 459: {
- Fbits: uint8(9),
- Fval: uint16(167),
- },
- 460: {
- Fbits: uint8(8),
- Fval: uint16(3),
- },
- 461: {
- Fbits: uint8(8),
- Fval: uint16(131),
- },
- 462: {
- Fbits: uint8(8),
- Fval: uint16(67),
- },
- 463: {
- Fbits: uint8(9),
- Fval: uint16(231),
- },
- 464: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(7),
- },
- 465: {
- Fbits: uint8(8),
- Fval: uint16(91),
- },
- 466: {
- Fbits: uint8(8),
- Fval: uint16(27),
- },
- 467: {
- Fbits: uint8(9),
- Fval: uint16(151),
- },
- 468: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(67),
- },
- 469: {
- Fbits: uint8(8),
- Fval: uint16(123),
- },
- 470: {
- Fbits: uint8(8),
- Fval: uint16(59),
- },
- 471: {
- Fbits: uint8(9),
- Fval: uint16(215),
- },
- 472: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(19),
- },
- 473: {
- Fbits: uint8(8),
- Fval: uint16(107),
- },
- 474: {
- Fbits: uint8(8),
- Fval: uint16(43),
- },
- 475: {
- Fbits: uint8(9),
- Fval: uint16(183),
- },
- 476: {
- Fbits: uint8(8),
- Fval: uint16(11),
- },
- 477: {
- Fbits: uint8(8),
- Fval: uint16(139),
- },
- 478: {
- Fbits: uint8(8),
- Fval: uint16(75),
- },
- 479: {
- Fbits: uint8(9),
- Fval: uint16(247),
- },
- 480: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(5),
- },
- 481: {
- Fbits: uint8(8),
- Fval: uint16(87),
- },
- 482: {
- Fbits: uint8(8),
- Fval: uint16(23),
- },
- 483: {
- Fop: uint8(64),
- Fbits: uint8(8),
- },
- 484: {
- Fop: uint8(19),
- Fbits: uint8(7),
- Fval: uint16(51),
- },
- 485: {
- Fbits: uint8(8),
- Fval: uint16(119),
- },
- 486: {
- Fbits: uint8(8),
- Fval: uint16(55),
- },
- 487: {
- Fbits: uint8(9),
- Fval: uint16(207),
- },
- 488: {
- Fop: uint8(17),
- Fbits: uint8(7),
- Fval: uint16(15),
- },
- 489: {
- Fbits: uint8(8),
- Fval: uint16(103),
- },
- 490: {
- Fbits: uint8(8),
- Fval: uint16(39),
- },
- 491: {
- Fbits: uint8(9),
- Fval: uint16(175),
- },
- 492: {
- Fbits: uint8(8),
- Fval: uint16(7),
- },
- 493: {
- Fbits: uint8(8),
- Fval: uint16(135),
- },
- 494: {
- Fbits: uint8(8),
- Fval: uint16(71),
- },
- 495: {
- Fbits: uint8(9),
- Fval: uint16(239),
- },
- 496: {
- Fop: uint8(16),
- Fbits: uint8(7),
- Fval: uint16(9),
- },
- 497: {
- Fbits: uint8(8),
- Fval: uint16(95),
- },
- 498: {
- Fbits: uint8(8),
- Fval: uint16(31),
- },
- 499: {
- Fbits: uint8(9),
- Fval: uint16(159),
- },
- 500: {
- Fop: uint8(20),
- Fbits: uint8(7),
- Fval: uint16(99),
- },
- 501: {
- Fbits: uint8(8),
- Fval: uint16(127),
- },
- 502: {
- Fbits: uint8(8),
- Fval: uint16(63),
- },
- 503: {
- Fbits: uint8(9),
- Fval: uint16(223),
- },
- 504: {
- Fop: uint8(18),
- Fbits: uint8(7),
- Fval: uint16(27),
- },
- 505: {
- Fbits: uint8(8),
- Fval: uint16(111),
- },
- 506: {
- Fbits: uint8(8),
- Fval: uint16(47),
- },
- 507: {
- Fbits: uint8(9),
- Fval: uint16(191),
- },
- 508: {
- Fbits: uint8(8),
- Fval: uint16(15),
- },
- 509: {
- Fbits: uint8(8),
- Fval: uint16(143),
- },
- 510: {
- Fbits: uint8(8),
- Fval: uint16(79),
- },
- 511: {
- Fbits: uint8(9),
- Fval: uint16(255),
- },
- }
- var _distfix1 = [32]Tcode{
- 0: {
- Fop: uint8(16),
- Fbits: uint8(5),
- Fval: uint16(1),
- },
- 1: {
- Fop: uint8(23),
- Fbits: uint8(5),
- Fval: uint16(257),
- },
- 2: {
- Fop: uint8(19),
- Fbits: uint8(5),
- Fval: uint16(17),
- },
- 3: {
- Fop: uint8(27),
- Fbits: uint8(5),
- Fval: uint16(4097),
- },
- 4: {
- Fop: uint8(17),
- Fbits: uint8(5),
- Fval: uint16(5),
- },
- 5: {
- Fop: uint8(25),
- Fbits: uint8(5),
- Fval: uint16(1025),
- },
- 6: {
- Fop: uint8(21),
- Fbits: uint8(5),
- Fval: uint16(65),
- },
- 7: {
- Fop: uint8(29),
- Fbits: uint8(5),
- Fval: uint16(16385),
- },
- 8: {
- Fop: uint8(16),
- Fbits: uint8(5),
- Fval: uint16(3),
- },
- 9: {
- Fop: uint8(24),
- Fbits: uint8(5),
- Fval: uint16(513),
- },
- 10: {
- Fop: uint8(20),
- Fbits: uint8(5),
- Fval: uint16(33),
- },
- 11: {
- Fop: uint8(28),
- Fbits: uint8(5),
- Fval: uint16(8193),
- },
- 12: {
- Fop: uint8(18),
- Fbits: uint8(5),
- Fval: uint16(9),
- },
- 13: {
- Fop: uint8(26),
- Fbits: uint8(5),
- Fval: uint16(2049),
- },
- 14: {
- Fop: uint8(22),
- Fbits: uint8(5),
- Fval: uint16(129),
- },
- 15: {
- Fop: uint8(64),
- Fbits: uint8(5),
- },
- 16: {
- Fop: uint8(16),
- Fbits: uint8(5),
- Fval: uint16(2),
- },
- 17: {
- Fop: uint8(23),
- Fbits: uint8(5),
- Fval: uint16(385),
- },
- 18: {
- Fop: uint8(19),
- Fbits: uint8(5),
- Fval: uint16(25),
- },
- 19: {
- Fop: uint8(27),
- Fbits: uint8(5),
- Fval: uint16(6145),
- },
- 20: {
- Fop: uint8(17),
- Fbits: uint8(5),
- Fval: uint16(7),
- },
- 21: {
- Fop: uint8(25),
- Fbits: uint8(5),
- Fval: uint16(1537),
- },
- 22: {
- Fop: uint8(21),
- Fbits: uint8(5),
- Fval: uint16(97),
- },
- 23: {
- Fop: uint8(29),
- Fbits: uint8(5),
- Fval: uint16(24577),
- },
- 24: {
- Fop: uint8(16),
- Fbits: uint8(5),
- Fval: uint16(4),
- },
- 25: {
- Fop: uint8(24),
- Fbits: uint8(5),
- Fval: uint16(769),
- },
- 26: {
- Fop: uint8(20),
- Fbits: uint8(5),
- Fval: uint16(49),
- },
- 27: {
- Fop: uint8(28),
- Fbits: uint8(5),
- Fval: uint16(12289),
- },
- 28: {
- Fop: uint8(18),
- Fbits: uint8(5),
- Fval: uint16(13),
- },
- 29: {
- Fop: uint8(26),
- Fbits: uint8(5),
- Fval: uint16(3073),
- },
- 30: {
- Fop: uint8(22),
- Fbits: uint8(5),
- Fval: uint16(193),
- },
- 31: {
- Fop: uint8(64),
- Fbits: uint8(5),
- },
- }
- // C documentation
- //
- // /*
- // Update the window with the last wsize (normally 32K) bytes written before
- // returning. If window does not exist yet, create it. This is only called
- // when a window is already in use, or when output has been written during this
- // inflate call, but the end of the deflate stream has not been reached yet.
- // It is also called to create a window for dictionary data when a dictionary
- // is loaded.
- //
- // Providing output buffers larger than 32K to inflate() should provide a speed
- // advantage, since only the last 32K of output is copied to the sliding window
- // upon return from inflate(), and since all distances after the first 32K of
- // output will fall in the output data, making match copies simpler and faster.
- // The advantage may be dependent on the size of the processor's data caches.
- // */
- func _updatewindow(tls *libc.TLS, strm Tz_streamp, end uintptr, copy1 uint32) (r int32) {
- var dist uint32
- var state uintptr
- _, _ = dist, state
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- /* if it hasn't been done already, allocate space for the window */
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
- (*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)))
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
- return int32(1)
- }
- }
- /* if window not in use yet, initialize */
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize == uint32(0) {
- (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
- (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
- }
- /* copy state->wsize or less output bytes into the circular window */
- if copy1 >= (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
- libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwsize))
- (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
- } else {
- dist = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
- if dist > copy1 {
- dist = copy1
- }
- libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), end-uintptr(copy1), uint64(dist))
- copy1 -= dist
- if copy1 != 0 {
- libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr(copy1), uint64(copy1))
- (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = copy1
- (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
- } else {
- *(*uint32)(unsafe.Pointer(state + 68)) += dist
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwnext == (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
- (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
- *(*uint32)(unsafe.Pointer(state + 64)) += dist
- }
- }
- }
- return 0
- }
- /* Macros for inflate(): */
- /* check function to use adler32() for zlib or crc32() for gzip */
- /* check macros for header crc */
- /* Load registers with state in inflate() for speed */
- /* Restore state from registers in inflate() */
- /* Clear the input bit accumulator */
- /* Get a byte of input into the bit accumulator, or return from inflate()
- if there is no input available. */
- /* Assure that there are at least n bits in the bit accumulator. If there is
- not enough available input to do that, then return from inflate(). */
- /* Return the low n bits of the bit accumulator (n < 16) */
- /* Remove n bits from the bit accumulator */
- /* Remove zero to seven bits as needed to go to a byte boundary */
- /*
- inflate() uses a state machine to process as much input data and generate as
- much output data as possible before returning. The state machine is
- structured roughly as follows:
- for (;;) switch (state) {
- ...
- case STATEn:
- if (not enough input data or output space to make progress)
- return;
- ... make progress ...
- state = STATEm;
- break;
- ...
- }
- so when inflate() is called again, the same case is attempted again, and
- if the appropriate resources are provided, the machine proceeds to the
- next state. The NEEDBITS() macro is usually the way the state evaluates
- whether it can proceed or should return. NEEDBITS() does the return if
- the requested bits are not available. The typical use of the BITS macros
- is:
- NEEDBITS(n);
- ... do something with BITS(n) ...
- DROPBITS(n);
- where NEEDBITS(n) either returns from inflate() if there isn't enough
- input left to load n bits into the accumulator, or it continues. BITS(n)
- gives the low n bits in the accumulator. When done, DROPBITS(n) drops
- the low n bits off the accumulator. INITBITS() clears the accumulator
- and sets the number of available bits to zero. BYTEBITS() discards just
- enough bits to put the accumulator on a byte boundary. After BYTEBITS()
- and a NEEDBITS(8), then BITS(8) would return the next byte in the stream.
- NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return
- if there is no input available. The decoding of variable length codes uses
- PULLBYTE() directly in order to pull just enough bytes to decode the next
- code, and no more.
- Some states loop until they get enough input, making sure that enough
- state information is maintained to continue the loop where it left off
- if NEEDBITS() returns in the loop. For example, want, need, and keep
- would all have to actually be part of the saved state in case NEEDBITS()
- returns:
- case STATEw:
- while (want < need) {
- NEEDBITS(n);
- keep[want++] = BITS(n);
- DROPBITS(n);
- }
- state = STATEx;
- case STATEx:
- As shown above, if the next state is also the next case, then the break
- is omitted.
- A state may also return if there is not enough output space available to
- complete that state. Those states are copying stored data, writing a
- literal byte, and copying a matching string.
- When returning, a "goto inf_leave" is used to update the total counters,
- update the check value, and determine whether any progress has been made
- during that inflate() call in order to return the proper return code.
- Progress is defined as a change in either strm->avail_in or strm->avail_out.
- When there is a window, goto inf_leave will update the window with the last
- output written. If a goto inf_leave occurs in the middle of decompression
- and there is no window currently, goto inf_leave will create one and copy
- output to the window for the next call of inflate().
- In this implementation, the flush parameter of inflate() only affects the
- return code (per zlib.h). inflate() always writes as much as possible to
- strm->next_out, given the space available and the provided input--the effect
- documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers
- the allocation of and copying into a sliding window until necessary, which
- provides the effect documented in zlib.h for Z_FINISH when the entire input
- stream available. So the only thing the flush parameter actually does is:
- when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it
- will return Z_BUF_ERROR if it has not reached the end of the stream.
- */
- func Xinflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- var bits, copy1, have, in, left, len1, out, v46, v48, v49, v50, v52, v53, v64, v66, v70, v75, v76, v90 uint32
- 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
- var here, last Tcode
- var hold, v101, v102, v37, v56, v58, v59, v96, v97, v98 uint64
- var ret, v103, v104, v105, v38 int32
- var v47, v99 bool
- var _ /* hbuf at bp+0 */ [4]uint8
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
- 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) {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
- } /* skip check */
- put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
- left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
- next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
- have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
- hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
- bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
- in = have
- out = left
- ret = m_Z_OK
- for {
- switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
- case int32(_HEAD):
- goto _2
- case int32(_FLAGS):
- goto _3
- case int32(_TIME):
- goto _4
- case int32(_OS):
- goto _5
- case int32(_EXLEN):
- goto _6
- case int32(_EXTRA):
- goto _7
- case int32(_NAME):
- goto _8
- case int32(_COMMENT):
- goto _9
- case int32(_HCRC):
- goto _10
- case int32(_DICTID):
- goto _11
- case int32(_DICT):
- goto _12
- case int32(_TYPE):
- goto _13
- case int32(_TYPEDO):
- goto _14
- case int32(_STORED):
- goto _15
- case int32(_COPY_):
- goto _16
- case int32(_COPY):
- goto _17
- case int32(_TABLE):
- goto _18
- case int32(_LENLENS):
- goto _19
- case int32(_CODELENS):
- goto _20
- case int32(_LEN_):
- goto _21
- case int32(_LEN):
- goto _22
- case int32(_LENEXT):
- goto _23
- case int32(_DIST):
- goto _24
- case int32(_DISTEXT):
- goto _25
- case int32(_MATCH):
- goto _26
- case int32(_LIT):
- goto _27
- case int32(_CHECK):
- goto _28
- case int32(_LENGTH):
- goto _29
- case int32(_DONE):
- goto _30
- case int32(_BAD):
- goto _31
- case int32(_MEM):
- goto _32
- default:
- goto _33
- case int32(_SYNC):
- goto _34
- }
- goto _35
- _2:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap == 0 {
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
- goto _35
- }
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v36 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v36))) << bits
- bits += uint32(8)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) != 0 && hold == uint64(0x8b1f) { /* gzip header */
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
- (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = uint32(15)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
- (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
- (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
- hold = uint64(0)
- bits = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_FLAGS)
- goto _35
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
- (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = -int32(1)
- }
- 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 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 308
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- if uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) != uint32(m_Z_DEFLATED) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
- len1 = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(8)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
- (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = len1
- }
- if len1 > uint32(15) || len1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwbits {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 358
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(1) << len1
- (*Tinflate_state)(unsafe.Pointer(state)).Fflags = 0 /* indicate zlib header */
- v37 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v37
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v37
- if hold&uint64(0x200) != 0 {
- v38 = int32(_DICTID)
- } else {
- v38 = int32(_TYPE)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = v38
- hold = uint64(0)
- bits = uint32(0)
- goto _35
- _3:
- ;
- _41:
- ;
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v42 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
- bits += uint32(8)
- }
- goto _40
- _40:
- ;
- if 0 != 0 {
- goto _41
- }
- goto _39
- _39:
- ;
- (*Tinflate_state)(unsafe.Pointer(state)).Fflags = libc.Int32FromUint64(hold)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xff) != int32(m_Z_DEFLATED) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xe000) != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 378
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
- (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftext = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(1))
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
- (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
- (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
- }
- hold = uint64(0)
- bits = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TIME)
- /* fallthrough */
- _4:
- ;
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v43 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v43))) << bits
- bits += uint32(8)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
- (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftime = hold
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
- (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
- (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
- (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(2)] = uint8(hold >> libc.Int32FromInt32(16))
- (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(3)] = uint8(hold >> libc.Int32FromInt32(24))
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(4))
- }
- hold = uint64(0)
- bits = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_OS)
- /* fallthrough */
- _5:
- ;
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v44 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v44))) << bits
- bits += uint32(8)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
- (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fxflags = libc.Int32FromUint64(hold & libc.Uint64FromInt32(0xff))
- (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fos = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8))
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
- (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
- (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
- }
- hold = uint64(0)
- bits = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXLEN)
- /* fallthrough */
- _6:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v45 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v45))) << bits
- bits += uint32(8)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
- (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len = uint32(hold)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
- (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
- (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
- }
- hold = uint64(0)
- bits = uint32(0)
- } else {
- if (*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)
- }
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXTRA)
- /* fallthrough */
- _7:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
- copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
- if copy1 > have {
- copy1 = have
- }
- if copy1 != 0 {
- 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 {
- v46 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len - (*Tinflate_state)(unsafe.Pointer(state)).Flength
- len1 = v46
- }
- if v47 && v46 < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
- if len1+copy1 > (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
- v48 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max - len1
- } else {
- v48 = copy1
- }
- libc.Xmemcpy(tls, (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len1), next, uint64(v48))
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
- }
- have -= copy1
- next += uintptr(copy1)
- *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Flength != 0 {
- goto inf_leave
- }
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_NAME)
- /* fallthrough */
- _8:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0800) != 0 {
- if have == uint32(0) {
- goto inf_leave
- }
- copy1 = uint32(0)
- for cond := true; cond; cond = len1 != 0 && copy1 < have {
- v49 = copy1
- copy1++
- len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v49))))
- 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 {
- v51 = state + 92
- v50 = *(*uint32)(unsafe.Pointer(v51))
- *(*uint32)(unsafe.Pointer(v51))++
- *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname + uintptr(v50))) = uint8(len1)
- }
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
- }
- have -= copy1
- next += uintptr(copy1)
- if len1 != 0 {
- goto inf_leave
- }
- } else {
- 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 = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COMMENT)
- /* fallthrough */
- _9:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x1000) != 0 {
- if have == uint32(0) {
- goto inf_leave
- }
- copy1 = uint32(0)
- for cond := true; cond; cond = len1 != 0 && copy1 < have {
- v52 = copy1
- copy1++
- len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v52))))
- 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 {
- v54 = state + 92
- v53 = *(*uint32)(unsafe.Pointer(v54))
- *(*uint32)(unsafe.Pointer(v54))++
- *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment + uintptr(v53))) = uint8(len1)
- }
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
- }
- have -= copy1
- next += uintptr(copy1)
- if len1 != 0 {
- goto inf_leave
- }
- } else {
- 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)).Fmode = int32(_HCRC)
- /* fallthrough */
- _10:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 {
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v55 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v55))) << bits
- bits += uint32(8)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck&uint64(0xffff) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 403
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- hold = uint64(0)
- bits = uint32(0)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
- (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fhcrc = (*Tinflate_state)(unsafe.Pointer(state)).Fflags >> libc.Int32FromInt32(9) & libc.Int32FromInt32(1)
- (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = int32(1)
- }
- v56 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v56
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v56
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
- goto _35
- _11:
- ;
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v57 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v57))) << bits
- bits += uint32(8)
- }
- 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)
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v58
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v58
- hold = uint64(0)
- bits = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DICT)
- /* fallthrough */
- _12:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict == 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
- (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
- (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
- return int32(m_Z_NEED_DICT)
- }
- v59 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v59
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v59
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
- /* fallthrough */
- _13:
- ;
- if flush == int32(m_Z_BLOCK) || flush == int32(m_Z_TREES) {
- goto inf_leave
- }
- /* fallthrough */
- _14:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
- hold >>= uint64(bits & uint32(7))
- bits -= bits & uint32(7)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CHECK)
- goto _35
- }
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v60 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v60))) << bits
- bits += uint32(8)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
- switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
- case uint32(0): /* stored block */
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
- case uint32(1): /* fixed block */
- _fixedtables1(tls, state)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_) /* decode codes */
- if flush == int32(m_Z_TREES) {
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
- goto inf_leave
- }
- case uint32(2): /* dynamic block */
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
- case uint32(3):
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- }
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
- goto _35
- _15:
- ;
- hold >>= uint64(bits & uint32(7))
- bits -= bits & uint32(7) /* go to byte boundary */
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v61 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v61))) << bits
- bits += uint32(8)
- }
- if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
- hold = uint64(0)
- bits = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY_)
- if flush == int32(m_Z_TREES) {
- goto inf_leave
- }
- /* fallthrough */
- _16:
- ;
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY)
- /* fallthrough */
- _17:
- ;
- copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
- if copy1 != 0 {
- if copy1 > have {
- copy1 = have
- }
- if copy1 > left {
- copy1 = left
- }
- if copy1 == uint32(0) {
- goto inf_leave
- }
- libc.Xmemcpy(tls, put, next, uint64(copy1))
- have -= copy1
- next += uintptr(copy1)
- left -= copy1
- put += uintptr(copy1)
- *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
- goto _35
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
- goto _35
- _18:
- ;
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v62 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v62))) << bits
- bits += uint32(8)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
- (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
- (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
- if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENLENS)
- /* fallthrough */
- _19:
- ;
- for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v63 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v63))) << bits
- bits += uint32(8)
- }
- v65 = state + 140
- v64 = *(*uint32)(unsafe.Pointer(v65))
- *(*uint32)(unsafe.Pointer(v65))++
- *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v64])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
- }
- for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
- v67 = state + 140
- v66 = *(*uint32)(unsafe.Pointer(v67))
- *(*uint32)(unsafe.Pointer(v67))++
- *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v66])*2)) = uint16(0)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
- (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
- (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
- ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
- if ret != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CODELENS)
- /* fallthrough */
- _20:
- ;
- for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
- for {
- 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))
- if uint32(here.Fbits) <= bits {
- break
- }
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v69 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v69))) << bits
- bits += uint32(8)
- goto _68
- _68:
- }
- if libc.Int32FromUint16(here.Fval) < int32(16) {
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- v71 = state + 140
- v70 = *(*uint32)(unsafe.Pointer(v71))
- *(*uint32)(unsafe.Pointer(v71))++
- *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v70)*2)) = here.Fval
- } else {
- if libc.Int32FromUint16(here.Fval) == int32(16) {
- for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v72 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v72))) << bits
- bits += uint32(8)
- }
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- break
- }
- len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
- copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
- } else {
- if libc.Int32FromUint16(here.Fval) == int32(17) {
- for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v73 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v73))) << bits
- bits += uint32(8)
- }
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- len1 = uint32(0)
- copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
- } else {
- for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v74 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v74))) << bits
- bits += uint32(8)
- }
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- len1 = uint32(0)
- copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
- hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
- bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
- }
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- break
- }
- for {
- v75 = copy1
- copy1--
- if !(v75 != 0) {
- break
- }
- v77 = state + 140
- v76 = *(*uint32)(unsafe.Pointer(v77))
- *(*uint32)(unsafe.Pointer(v77))++
- *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v76)*2)) = uint16(len1)
- }
- }
- }
- /* handle error breaks in while */
- if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
- goto _35
- }
- /* check for end-of-block code (better have one) */
- if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- /* build code tables -- note: do not change the lenbits or distbits
- values here (9 and 6) without reading the comments in inftrees.h
- concerning the ENOUGH constants, which depend on those values */
- (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
- (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
- (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
- ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
- if ret != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
- (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
- 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)
- if ret != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_)
- if flush == int32(m_Z_TREES) {
- goto inf_leave
- }
- /* fallthrough */
- _21:
- ;
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
- /* fallthrough */
- _22:
- ;
- if have >= uint32(6) && left >= uint32(258) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
- (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
- (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
- Xinflate_fast(tls, strm, out)
- put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
- left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
- next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
- have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
- hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
- bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
- if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
- (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
- }
- goto _35
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fback = 0
- for {
- 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))
- if uint32(here.Fbits) <= bits {
- break
- }
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v79 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v79))) << bits
- bits += uint32(8)
- goto _78
- _78:
- }
- if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
- last = here
- for {
- 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))
- if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
- break
- }
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v81 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v81))) << bits
- bits += uint32(8)
- goto _80
- _80:
- }
- hold >>= uint64(last.Fbits)
- bits -= uint32(last.Fbits)
- *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
- }
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
- (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
- if libc.Int32FromUint8(here.Fop) == 0 {
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LIT)
- goto _35
- }
- if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
- (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
- goto _35
- }
- if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENEXT)
- /* fallthrough */
- _23:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
- for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v82 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v82))) << bits
- bits += uint32(8)
- }
- *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
- hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
- bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
- p83 = state + 7148
- *(*int32)(unsafe.Pointer(p83)) = int32(uint32(*(*int32)(unsafe.Pointer(p83))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fwas = (*Tinflate_state)(unsafe.Pointer(state)).Flength
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DIST)
- /* fallthrough */
- _24:
- ;
- for {
- 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))
- if uint32(here.Fbits) <= bits {
- break
- }
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v85 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v85))) << bits
- bits += uint32(8)
- goto _84
- _84:
- }
- if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
- last = here
- for {
- 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))
- if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
- break
- }
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v87 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v87))) << bits
- bits += uint32(8)
- goto _86
- _86:
- }
- hold >>= uint64(last.Fbits)
- bits -= uint32(last.Fbits)
- *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
- }
- hold >>= uint64(here.Fbits)
- bits -= uint32(here.Fbits)
- *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
- if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
- (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DISTEXT)
- /* fallthrough */
- _25:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
- for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v88 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v88))) << bits
- bits += uint32(8)
- }
- *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
- hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
- bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
- p89 = state + 7148
- *(*int32)(unsafe.Pointer(p89)) = int32(uint32(*(*int32)(unsafe.Pointer(p89))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MATCH)
- /* fallthrough */
- _26:
- ;
- if left == uint32(0) {
- goto inf_leave
- }
- copy1 = out - left
- if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > copy1 { /* copy from window */
- copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Foffset - copy1
- if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwhave {
- if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- }
- if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwnext {
- copy1 -= (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
- from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize-copy1)
- } else {
- from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext-copy1)
- }
- if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
- copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
- }
- } else { /* copy from output */
- from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
- copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
- }
- if copy1 > left {
- copy1 = left
- }
- left -= copy1
- *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
- for {
- v92 = put
- put++
- v93 = from
- from++
- *(*uint8)(unsafe.Pointer(v92)) = *(*uint8)(unsafe.Pointer(v93))
- goto _91
- _91:
- ;
- copy1--
- v90 = copy1
- if !(v90 != 0) {
- break
- }
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Flength == uint32(0) {
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
- }
- goto _35
- _27:
- ;
- if left == uint32(0) {
- goto inf_leave
- }
- v94 = put
- put++
- *(*uint8)(unsafe.Pointer(v94)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
- left--
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
- goto _35
- _28:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v95 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v95))) << bits
- bits += uint32(8)
- }
- out -= left
- *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
- *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
- v97 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
- } else {
- v97 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
- }
- v96 = v97
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v96
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v96
- }
- out = left
- if v99 = (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0; v99 {
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
- v98 = hold
- } else {
- v98 = hold>>int32(24)&uint64(0xff) + hold>>int32(8)&uint64(0xff00) + hold&uint64(0xff00)<<int32(8) + hold&uint64(0xff)<<int32(24)
- }
- }
- if v99 && v98 != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 423
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- hold = uint64(0)
- bits = uint32(0)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENGTH)
- /* fallthrough */
- _29:
- ;
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
- for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
- if have == uint32(0) {
- goto inf_leave
- }
- have--
- v100 = next
- next++
- hold += uint64(*(*uint8)(unsafe.Pointer(v100))) << bits
- bits += uint32(8)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Ftotal&uint64(0xffffffff) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 444
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
- goto _35
- }
- hold = uint64(0)
- bits = uint32(0)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
- /* fallthrough */
- _30:
- ;
- ret = int32(m_Z_STREAM_END)
- goto inf_leave
- _31:
- ;
- ret = -int32(3)
- goto inf_leave
- _32:
- ;
- return -int32(4)
- _34:
- ;
- /* fallthrough */
- _33:
- ;
- return -int32(2)
- _35:
- ;
- goto _1
- _1:
- }
- /*
- Return from inflate(), updating the total counts and the check value.
- If there was no progress during the inflate() call, return a buffer
- error. Call updatewindow() to create and/or update the window state.
- Note: a memory error from inflate() is non-recoverable.
- */
- goto inf_leave
- inf_leave:
- ;
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
- (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
- (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
- 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)) {
- if _updatewindow(tls, strm, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, out-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out) != 0 {
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
- return -int32(4)
- }
- }
- in -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
- out -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
- *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(in)
- *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
- *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
- v102 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
- } else {
- v102 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
- }
- v101 = v102
- (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v101
- (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v101
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
- v103 = int32(64)
- } else {
- v103 = 0
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
- v104 = int32(128)
- } else {
- v104 = 0
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_LEN_) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY_) {
- v105 = int32(256)
- } else {
- v105 = 0
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = libc.Int32FromUint32((*Tinflate_state)(unsafe.Pointer(state)).Fbits) + v103 + v104 + v105
- if (in == uint32(0) && out == uint32(0) || flush == int32(m_Z_FINISH)) && ret == m_Z_OK {
- ret = -int32(5)
- }
- return ret
- }
- var _order1 = [19]uint16{
- 0: uint16(16),
- 1: uint16(17),
- 2: uint16(18),
- 4: uint16(8),
- 5: uint16(7),
- 6: uint16(9),
- 7: uint16(6),
- 8: uint16(10),
- 9: uint16(5),
- 10: uint16(11),
- 11: uint16(4),
- 12: uint16(12),
- 13: uint16(3),
- 14: uint16(13),
- 15: uint16(2),
- 16: uint16(14),
- 17: uint16(1),
- 18: uint16(15),
- }
- func XinflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
- var state uintptr
- _ = state
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
- (*(*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)
- }
- (*(*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)
- (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
- return m_Z_OK
- }
- func XinflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
- var state uintptr
- _ = state
- /* check state */
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- /* copy dictionary */
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave != 0 && dictionary != uintptr(m_Z_NULL) {
- libc.Xmemcpy(tls, dictionary, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwhave-(*Tinflate_state)(unsafe.Pointer(state)).Fwnext))
- libc.Xmemcpy(tls, dictionary+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwhave)-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwnext))
- }
- if dictLength != uintptr(m_Z_NULL) {
- *(*TuInt)(unsafe.Pointer(dictLength)) = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
- }
- return m_Z_OK
- }
- func XinflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
- var dictid uint64
- var ret int32
- var state uintptr
- _, _, _ = dictid, ret, state
- /* check state */
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_DICT) {
- return -int32(2)
- }
- /* check for correct dictionary identifier */
- if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_DICT) {
- dictid = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
- dictid = Xadler32(tls, dictid, dictionary, dictLength)
- if dictid != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
- return -int32(3)
- }
- }
- /* copy dictionary to window using updatewindow(), which will amend the
- existing dictionary if appropriate */
- ret = _updatewindow(tls, strm, dictionary+uintptr(dictLength), dictLength)
- if ret != 0 {
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
- return -int32(4)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = int32(1)
- return m_Z_OK
- }
- func XinflateGetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
- var state uintptr
- _ = state
- /* check state */
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) == 0 {
- return -int32(2)
- }
- /* save header structure */
- (*Tinflate_state)(unsafe.Pointer(state)).Fhead = head
- (*Tgz_header)(unsafe.Pointer(head)).Fdone = 0
- return m_Z_OK
- }
- // C documentation
- //
- // /*
- // Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found
- // or when out of input. When called, *have is the number of pattern bytes
- // found in order so far, in 0..3. On return *have is updated to the new
- // state. If on return *have equals four, then the pattern was found and the
- // return value is how many bytes were read including the last byte of the
- // pattern. If *have is less than four, then the pattern has not been found
- // yet and the return value is len. In the latter case, syncsearch() can be
- // called again with more data and the *have state. *have is initialized to
- // zero for the first call.
- // */
- func _syncsearch(tls *libc.TLS, have uintptr, buf uintptr, len1 uint32) (r uint32) {
- var got, next uint32
- var v1 int32
- _, _, _ = got, next, v1
- got = *(*uint32)(unsafe.Pointer(have))
- next = uint32(0)
- for next < len1 && got < uint32(4) {
- if got < uint32(2) {
- v1 = 0
- } else {
- v1 = int32(0xff)
- }
- if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(buf + uintptr(next)))) == v1 {
- got++
- } else {
- if *(*uint8)(unsafe.Pointer(buf + uintptr(next))) != 0 {
- got = uint32(0)
- } else {
- got = uint32(4) - got
- }
- }
- next++
- }
- *(*uint32)(unsafe.Pointer(have)) = got
- return next
- }
- func XinflateSync(tls *libc.TLS, strm Tz_streamp) (r int32) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- var flags int32
- var in, out uint64
- var len1, v1 uint32
- var state uintptr
- var _ /* buf at bp+0 */ [4]uint8
- _, _, _, _, _, _ = flags, in, len1, out, state, v1
- /* check parameters */
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits < uint32(8) {
- return -int32(5)
- }
- /* if first time, start search in bit buffer */
- if (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_SYNC) {
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_SYNC)
- *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7))
- *(*uint32)(unsafe.Pointer(state + 88)) -= (*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7)
- len1 = uint32(0)
- for (*Tinflate_state)(unsafe.Pointer(state)).Fbits >= uint32(8) {
- v1 = len1
- len1++
- (*(*[4]uint8)(unsafe.Pointer(bp)))[v1] = uint8((*Tinflate_state)(unsafe.Pointer(state)).Fhold)
- *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64(8)
- *(*uint32)(unsafe.Pointer(state + 88)) -= uint32(8)
- }
- (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
- _syncsearch(tls, state+140, bp, len1)
- }
- /* search available input */
- len1 = _syncsearch(tls, state+140, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, (*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
- *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
- *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
- *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
- /* return no joy or set up to restart inflate() on a new block */
- if (*Tinflate_state)(unsafe.Pointer(state)).Fhave != uint32(4) {
- return -int32(3)
- }
- if (*Tinflate_state)(unsafe.Pointer(state)).Fflags == -int32(1) {
- (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = 0
- } else {
- *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
- } /* no point in computing a check value now */
- flags = (*Tinflate_state)(unsafe.Pointer(state)).Fflags
- in = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in
- out = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out
- XinflateReset(tls, strm)
- (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = in
- (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = out
- (*Tinflate_state)(unsafe.Pointer(state)).Fflags = flags
- (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
- return m_Z_OK
- }
- // C documentation
- //
- // /*
- // Returns true if inflate is currently at the end of a block generated by
- // Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
- // implementation to provide an additional safety check. PPP uses
- // Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored
- // block. When decompressing, PPP checks that at the end of input packet,
- // inflate is waiting for these length bytes.
- // */
- func XinflateSyncPoint(tls *libc.TLS, strm Tz_streamp) (r int32) {
- var state uintptr
- _ = state
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- return libc.BoolInt32((*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_STORED) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits == uint32(0))
- }
- func XinflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
- var copy1, state, window uintptr
- var wsize uint32
- _, _, _, _ = copy1, state, window, wsize
- /* check input */
- if _inflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(source)).Fstate
- /* allocate space */
- 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)))
- if copy1 == uintptr(m_Z_NULL) {
- return -int32(4)
- }
- window = uintptr(m_Z_NULL)
- if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
- 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)))
- if window == uintptr(m_Z_NULL) {
- (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, copy1)
- return -int32(4)
- }
- }
- /* copy state */
- libc.Xmemcpy(tls, dest, source, uint64(112))
- libc.Xmemcpy(tls, copy1, state, uint64(7160))
- (*Tinflate_state)(unsafe.Pointer(copy1)).Fstrm = dest
- 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 {
- (*Tinflate_state)(unsafe.Pointer(copy1)).Flencode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Flencode)-t__predefined_ptrdiff_t(state+1368))/4)*4
- (*Tinflate_state)(unsafe.Pointer(copy1)).Fdistcode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode)-t__predefined_ptrdiff_t(state+1368))/4)*4
- }
- (*Tinflate_state)(unsafe.Pointer(copy1)).Fnext = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext)-t__predefined_ptrdiff_t(state+1368))/4)*4
- if window != uintptr(m_Z_NULL) {
- wsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
- libc.Xmemcpy(tls, window, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64(wsize))
- }
- (*Tinflate_state)(unsafe.Pointer(copy1)).Fwindow = window
- (*Tz_stream)(unsafe.Pointer(dest)).Fstate = copy1
- return m_Z_OK
- }
- func XinflateUndermine(tls *libc.TLS, strm Tz_streamp, subvert int32) (r int32) {
- var state uintptr
- _ = state
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- _ = subvert
- (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
- return -int32(3)
- }
- func XinflateValidate(tls *libc.TLS, strm Tz_streamp, check int32) (r int32) {
- var state uintptr
- _ = state
- if _inflateStateCheck(tls, strm) != 0 {
- return -int32(2)
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- if check != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
- *(*int32)(unsafe.Pointer(state + 16)) |= int32(4)
- } else {
- *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
- }
- return m_Z_OK
- }
- func XinflateMark(tls *libc.TLS, strm Tz_streamp) (r int64) {
- var state uintptr
- var v1, v2 uint32
- _, _, _ = state, v1, v2
- if _inflateStateCheck(tls, strm) != 0 {
- return -(libc.Int64FromInt64(1) << libc.Int32FromInt32(16))
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY) {
- v1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
- } else {
- if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_MATCH) {
- v2 = (*Tinflate_state)(unsafe.Pointer(state)).Fwas - (*Tinflate_state)(unsafe.Pointer(state)).Flength
- } else {
- v2 = uint32(0)
- }
- v1 = v2
- }
- return libc.Int64FromUint64(libc.Uint64FromInt64(int64((*Tinflate_state)(unsafe.Pointer(state)).Fback))<<libc.Int32FromInt32(16)) + libc.Int64FromUint32(v1)
- }
- func XinflateCodesUsed(tls *libc.TLS, strm Tz_streamp) (r uint64) {
- var state uintptr
- _ = state
- if _inflateStateCheck(tls, strm) != 0 {
- return libc.Uint64FromInt32(-libc.Int32FromInt32(1))
- }
- state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
- return libc.Uint64FromInt64((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext) - t__predefined_ptrdiff_t(state+1368)) / 4)
- }
- const m_MAXBITS = 15
- /*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
- // C documentation
- //
- // /*
- // Build a set of tables to decode the provided canonical Huffman code.
- // The code lengths are lens[0..codes-1]. The result starts at *table,
- // whose indices are 0..2^bits-1. work is a writable array of at least
- // lens shorts, which is used as a work area. type is the type of code
- // to be generated, CODES, LENS, or DISTS. On return, zero is success,
- // -1 is an invalid code, and +1 means that ENOUGH isn't enough. table
- // on return points to the next available entry's address. bits is the
- // requested root table index bits, and on return it is the actual root
- // table index bits. It will differ if the request is greater than the
- // longest code or if it is less than the shortest code.
- // */
- func Xinflate_table(tls *libc.TLS, type1 Tcodetype, lens uintptr, codes uint32, table uintptr, bits uintptr, work uintptr) (r int32) {
- bp := tls.Alloc(64)
- defer tls.Free(64)
- var base, extra, next, v13, v14, v17, v4, v5, v6, v7 uintptr
- var curr, drop, fill, huff, incr, len1, low, mask, match, max, min, root, sym, used uint32
- var here Tcode
- var left int32
- var v12, v16 uint16
- var _ /* count at bp+0 */ [16]uint16
- var _ /* offs at bp+32 */ [16]uint16
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
- /*
- Process a set of code lengths to create a canonical Huffman code. The
- code lengths are lens[0..codes-1]. Each length corresponds to the
- symbols 0..codes-1. The Huffman code is generated by first sorting the
- symbols by length from short to long, and retaining the symbol order
- for codes with equal lengths. Then the code starts with all zero bits
- for the first code of the shortest length, and the codes are integer
- increments for the same length, and zeros are appended as the length
- increases. For the deflate format, these bits are stored backwards
- from their more natural integer increment ordering, and so when the
- decoding tables are built in the large loop below, the integer codes
- are incremented backwards.
- This routine assumes, but does not check, that all of the entries in
- lens[] are in the range 0..MAXBITS. The caller must assure this.
- 1..MAXBITS is interpreted as that code length. zero means that that
- symbol does not occur in this code.
- The codes are sorted by computing a count of codes for each length,
- creating from that a table of starting indices for each length in the
- sorted table, and then entering the symbols in order in the sorted
- table. The sorted table is work[], with that space being provided by
- the caller.
- The length counts are used for other purposes as well, i.e. finding
- the minimum and maximum length codes, determining if there are any
- codes at all, checking for a valid set of lengths, and looking ahead
- at length counts to determine sub-table sizes when building the
- decoding tables.
- */
- /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
- len1 = uint32(0)
- for {
- if !(len1 <= uint32(m_MAXBITS)) {
- break
- }
- (*(*[16]uint16)(unsafe.Pointer(bp)))[len1] = uint16(0)
- goto _1
- _1:
- ;
- len1++
- }
- sym = uint32(0)
- for {
- if !(sym < codes) {
- break
- }
- (*(*[16]uint16)(unsafe.Pointer(bp)))[*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))]++
- goto _2
- _2:
- ;
- sym++
- }
- /* bound code lengths, force root to be within code lengths */
- root = *(*uint32)(unsafe.Pointer(bits))
- max = uint32(m_MAXBITS)
- for {
- if !(max >= uint32(1)) {
- break
- }
- if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[max]) != 0 {
- break
- }
- goto _3
- _3:
- ;
- max--
- }
- if root > max {
- root = max
- }
- if max == uint32(0) { /* no symbols to code at all */
- here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
- here.Fbits = libc.Uint8FromInt32(1)
- here.Fval = libc.Uint16FromInt32(0)
- v5 = table
- v4 = *(*uintptr)(unsafe.Pointer(v5))
- *(*uintptr)(unsafe.Pointer(v5)) += 4
- *(*Tcode)(unsafe.Pointer(v4)) = here /* make a table to force an error */
- v7 = table
- v6 = *(*uintptr)(unsafe.Pointer(v7))
- *(*uintptr)(unsafe.Pointer(v7)) += 4
- *(*Tcode)(unsafe.Pointer(v6)) = here
- *(*uint32)(unsafe.Pointer(bits)) = uint32(1)
- return 0 /* no symbols, but wait for decoding to report error */
- }
- min = uint32(1)
- for {
- if !(min < max) {
- break
- }
- if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[min]) != 0 {
- break
- }
- goto _8
- _8:
- ;
- min++
- }
- if root < min {
- root = min
- }
- /* check for an over-subscribed or incomplete set of lengths */
- left = int32(1)
- len1 = uint32(1)
- for {
- if !(len1 <= uint32(m_MAXBITS)) {
- break
- }
- left <<= int32(1)
- left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1])
- if left < 0 {
- return -int32(1)
- } /* over-subscribed */
- goto _9
- _9:
- ;
- len1++
- }
- if left > 0 && (type1 == int32(_CODES) || max != uint32(1)) {
- return -int32(1)
- } /* incomplete set */
- /* generate offsets into symbol table for each length for sorting */
- (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[int32(1)] = uint16(0)
- len1 = uint32(1)
- for {
- if !(len1 < uint32(m_MAXBITS)) {
- break
- }
- (*(*[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]))
- goto _10
- _10:
- ;
- len1++
- }
- /* sort symbols by length, by symbol order within each length */
- sym = uint32(0)
- for {
- if !(sym < codes) {
- break
- }
- if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))) != 0 {
- v13 = bp + 32 + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2
- v12 = *(*uint16)(unsafe.Pointer(v13))
- *(*uint16)(unsafe.Pointer(v13))++
- *(*uint16)(unsafe.Pointer(work + uintptr(v12)*2)) = uint16(sym)
- }
- goto _11
- _11:
- ;
- sym++
- }
- /*
- Create and fill in decoding tables. In this loop, the table being
- filled is at next and has curr index bits. The code being used is huff
- with length len. That code is converted to an index by dropping drop
- bits off of the bottom. For codes where len is less than drop + curr,
- those top drop + curr - len bits are incremented through all values to
- fill the table with replicated entries.
- root is the number of index bits for the root table. When len exceeds
- root, sub-tables are created pointed to by the root entry with an index
- of the low root bits of huff. This is saved in low to check for when a
- new sub-table should be started. drop is zero when the root table is
- being filled, and drop is root when sub-tables are being filled.
- When a new sub-table is needed, it is necessary to look ahead in the
- code lengths to determine what size sub-table is needed. The length
- counts are used for this, and so count[] is decremented as codes are
- entered in the tables.
- used keeps track of how many table entries have been allocated from the
- provided *table space. It is checked for LENS and DIST tables against
- the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
- the initial root table size constants. See the comments in inftrees.h
- for more information.
- sym increments through all symbols, and the loop terminates when
- all codes of length max, i.e. all codes, have been processed. This
- routine permits incomplete codes, so another loop after this one fills
- in the rest of the decoding tables with invalid code markers.
- */
- /* set up for code type */
- switch type1 {
- case int32(_CODES):
- v14 = work
- extra = v14
- base = v14 /* dummy value--not used */
- match = uint32(20)
- case int32(_LENS):
- base = uintptr(unsafe.Pointer(&_lbase))
- extra = uintptr(unsafe.Pointer(&_lext))
- match = uint32(257)
- default: /* DISTS */
- base = uintptr(unsafe.Pointer(&_dbase))
- extra = uintptr(unsafe.Pointer(&_dext))
- match = uint32(0)
- }
- /* initialize state for loop */
- huff = uint32(0) /* starting code */
- sym = uint32(0) /* starting code symbol */
- len1 = min /* starting code length */
- next = *(*uintptr)(unsafe.Pointer(table)) /* current table to fill in */
- curr = root /* current table index bits */
- drop = uint32(0) /* current bits to drop from code for index */
- low = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* trigger new sub-table when len > root */
- used = uint32(1) << root /* use root table entries */
- mask = used - uint32(1) /* mask for comparing low */
- /* check available table space */
- if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
- return int32(1)
- }
- /* process all codes and make table entries */
- for {
- /* create table entry */
- here.Fbits = uint8(len1 - drop)
- if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))+uint32(1) < match {
- here.Fop = libc.Uint8FromInt32(0)
- here.Fval = *(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))
- } else {
- if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))) >= match {
- here.Fop = uint8(*(*uint16)(unsafe.Pointer(extra + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2)))
- here.Fval = *(*uint16)(unsafe.Pointer(base + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2))
- } else {
- here.Fop = libc.Uint8FromInt32(libc.Int32FromInt32(32) + libc.Int32FromInt32(64)) /* end of block */
- here.Fval = uint16(0)
- }
- }
- /* replicate for those indices with low len bits equal to huff */
- incr = uint32(1) << (len1 - drop)
- fill = uint32(1) << curr
- min = fill /* save offset to next table */
- for cond := true; cond; cond = fill != uint32(0) {
- fill -= incr
- *(*Tcode)(unsafe.Pointer(next + uintptr(huff>>drop+fill)*4)) = here
- }
- /* backwards increment the len-bit code huff */
- incr = uint32(1) << (len1 - uint32(1))
- for huff&incr != 0 {
- incr >>= uint32(1)
- }
- if incr != uint32(0) {
- huff &= incr - uint32(1)
- huff += incr
- } else {
- huff = uint32(0)
- }
- /* go to next symbol, update count, len */
- sym++
- v17 = bp + uintptr(len1)*2
- *(*uint16)(unsafe.Pointer(v17))--
- v16 = *(*uint16)(unsafe.Pointer(v17))
- if libc.Int32FromUint16(v16) == 0 {
- if len1 == max {
- break
- }
- len1 = uint32(*(*uint16)(unsafe.Pointer(lens + uintptr(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))*2)))
- }
- /* create new sub-table if needed */
- if len1 > root && huff&mask != low {
- /* if first time, transition to sub-tables */
- if drop == uint32(0) {
- drop = root
- }
- /* increment past last table */
- next += uintptr(min) * 4 /* here min is 1 << curr */
- /* determine length of next table */
- curr = len1 - drop
- left = libc.Int32FromInt32(1) << curr
- for curr+drop < max {
- left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[curr+drop])
- if left <= 0 {
- break
- }
- curr++
- left <<= int32(1)
- }
- /* check for enough space */
- used += uint32(1) << curr
- if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
- return int32(1)
- }
- /* point entry in root table to sub-table */
- low = huff & mask
- (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fop = uint8(curr)
- (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fbits = uint8(root)
- (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fval = libc.Uint16FromInt64((int64(next) - int64(*(*uintptr)(unsafe.Pointer(table)))) / 4)
- }
- goto _15
- _15:
- }
- /* fill in remaining table entry if code is incomplete (guaranteed to have
- at most one remaining entry, since if the code is incomplete, the
- maximum code length that was allowed to get this far is one bit) */
- if huff != uint32(0) {
- here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
- here.Fbits = uint8(len1 - drop)
- here.Fval = libc.Uint16FromInt32(0)
- *(*Tcode)(unsafe.Pointer(next + uintptr(huff)*4)) = here
- }
- /* set return parameters */
- *(*uintptr)(unsafe.Pointer(table)) += uintptr(used) * 4
- *(*uint32)(unsafe.Pointer(bits)) = root
- return 0
- }
- var _lbase = [31]uint16{
- 0: uint16(3),
- 1: uint16(4),
- 2: uint16(5),
- 3: uint16(6),
- 4: uint16(7),
- 5: uint16(8),
- 6: uint16(9),
- 7: uint16(10),
- 8: uint16(11),
- 9: uint16(13),
- 10: uint16(15),
- 11: uint16(17),
- 12: uint16(19),
- 13: uint16(23),
- 14: uint16(27),
- 15: uint16(31),
- 16: uint16(35),
- 17: uint16(43),
- 18: uint16(51),
- 19: uint16(59),
- 20: uint16(67),
- 21: uint16(83),
- 22: uint16(99),
- 23: uint16(115),
- 24: uint16(131),
- 25: uint16(163),
- 26: uint16(195),
- 27: uint16(227),
- 28: uint16(258),
- }
- var _lext = [31]uint16{
- 0: uint16(16),
- 1: uint16(16),
- 2: uint16(16),
- 3: uint16(16),
- 4: uint16(16),
- 5: uint16(16),
- 6: uint16(16),
- 7: uint16(16),
- 8: uint16(17),
- 9: uint16(17),
- 10: uint16(17),
- 11: uint16(17),
- 12: uint16(18),
- 13: uint16(18),
- 14: uint16(18),
- 15: uint16(18),
- 16: uint16(19),
- 17: uint16(19),
- 18: uint16(19),
- 19: uint16(19),
- 20: uint16(20),
- 21: uint16(20),
- 22: uint16(20),
- 23: uint16(20),
- 24: uint16(21),
- 25: uint16(21),
- 26: uint16(21),
- 27: uint16(21),
- 28: uint16(16),
- 29: uint16(203),
- 30: uint16(77),
- }
- var _dbase = [32]uint16{
- 0: uint16(1),
- 1: uint16(2),
- 2: uint16(3),
- 3: uint16(4),
- 4: uint16(5),
- 5: uint16(7),
- 6: uint16(9),
- 7: uint16(13),
- 8: uint16(17),
- 9: uint16(25),
- 10: uint16(33),
- 11: uint16(49),
- 12: uint16(65),
- 13: uint16(97),
- 14: uint16(129),
- 15: uint16(193),
- 16: uint16(257),
- 17: uint16(385),
- 18: uint16(513),
- 19: uint16(769),
- 20: uint16(1025),
- 21: uint16(1537),
- 22: uint16(2049),
- 23: uint16(3073),
- 24: uint16(4097),
- 25: uint16(6145),
- 26: uint16(8193),
- 27: uint16(12289),
- 28: uint16(16385),
- 29: uint16(24577),
- }
- var _dext = [32]uint16{
- 0: uint16(16),
- 1: uint16(16),
- 2: uint16(16),
- 3: uint16(16),
- 4: uint16(17),
- 5: uint16(17),
- 6: uint16(18),
- 7: uint16(18),
- 8: uint16(19),
- 9: uint16(19),
- 10: uint16(20),
- 11: uint16(20),
- 12: uint16(21),
- 13: uint16(21),
- 14: uint16(22),
- 15: uint16(22),
- 16: uint16(23),
- 17: uint16(23),
- 18: uint16(24),
- 19: uint16(24),
- 20: uint16(25),
- 21: uint16(25),
- 22: uint16(26),
- 23: uint16(26),
- 24: uint16(27),
- 25: uint16(27),
- 26: uint16(28),
- 27: uint16(28),
- 28: uint16(29),
- 29: uint16(29),
- 30: uint16(64),
- 31: uint16(64),
- }
- const m_DIST_CODE_LEN = 512
- const m_END_BLOCK = 256
- const m_MAX_BL_BITS = 7
- const m_REPZ_11_138 = 18
- const m_REPZ_3_10 = 17
- const m_REP_3_6 = 16
- const m_SMALLEST = 1
- const m_TCONST = "const"
- type Tstatic_tree_desc = struct {
- Fstatic_tree uintptr
- Fextra_bits uintptr
- Fextra_base int32
- Felems int32
- Fmax_length int32
- }
- type Tstatic_tree_desc_s = Tstatic_tree_desc
- /* ===========================================================================
- * Constants
- */
- /* Bit length codes must not exceed MAX_BL_BITS bits */
- /* end of block literal code */
- /* repeat previous bit length 3-6 times (2 bits of repeat count) */
- /* repeat a zero length 3-10 times (3 bits of repeat count) */
- /* repeat a zero length 11-138 times (7 bits of repeat count) */
- var _extra_lbits = [29]int32{
- 8: int32(1),
- 9: int32(1),
- 10: int32(1),
- 11: int32(1),
- 12: int32(2),
- 13: int32(2),
- 14: int32(2),
- 15: int32(2),
- 16: int32(3),
- 17: int32(3),
- 18: int32(3),
- 19: int32(3),
- 20: int32(4),
- 21: int32(4),
- 22: int32(4),
- 23: int32(4),
- 24: int32(5),
- 25: int32(5),
- 26: int32(5),
- 27: int32(5),
- }
- var _extra_dbits = [30]int32{
- 4: int32(1),
- 5: int32(1),
- 6: int32(2),
- 7: int32(2),
- 8: int32(3),
- 9: int32(3),
- 10: int32(4),
- 11: int32(4),
- 12: int32(5),
- 13: int32(5),
- 14: int32(6),
- 15: int32(6),
- 16: int32(7),
- 17: int32(7),
- 18: int32(8),
- 19: int32(8),
- 20: int32(9),
- 21: int32(9),
- 22: int32(10),
- 23: int32(10),
- 24: int32(11),
- 25: int32(11),
- 26: int32(12),
- 27: int32(12),
- 28: int32(13),
- 29: int32(13),
- }
- var _extra_blbits = [19]int32{
- 16: int32(2),
- 17: int32(3),
- 18: int32(7),
- }
- var _bl_order = [19]Tuch{
- 0: uint8(16),
- 1: uint8(17),
- 2: uint8(18),
- 4: uint8(8),
- 5: uint8(7),
- 6: uint8(9),
- 7: uint8(6),
- 8: uint8(10),
- 9: uint8(5),
- 10: uint8(11),
- 11: uint8(4),
- 12: uint8(12),
- 13: uint8(3),
- 14: uint8(13),
- 15: uint8(2),
- 16: uint8(14),
- 17: uint8(1),
- 18: uint8(15),
- }
- var _static_ltree = [288]Tct_data{
- 0: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 1: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(140)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 2: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(76)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 3: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(204)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 4: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(44)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 5: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(172)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 6: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(108)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 7: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(236)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 8: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 9: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(156)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 10: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(92)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 11: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(220)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 12: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(60)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 13: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(188)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 14: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(124)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 15: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(252)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 16: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 17: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(130)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 18: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(66)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 19: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(194)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 20: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(34)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 21: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(162)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 22: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(98)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 23: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(226)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 24: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 25: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(146)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 26: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(82)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 27: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(210)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 28: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(50)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 29: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(178)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 30: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(114)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 31: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(242)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 32: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 33: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(138)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 34: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(74)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 35: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(202)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 36: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(42)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 37: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(170)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 38: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(106)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 39: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(234)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 40: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 41: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(154)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 42: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(90)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 43: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(218)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 44: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(58)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 45: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(186)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 46: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(122)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 47: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(250)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 48: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 49: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(134)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 50: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(70)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 51: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(198)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 52: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(38)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 53: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(166)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 54: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(102)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 55: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(230)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 56: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 57: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(150)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 58: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(86)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 59: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(214)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 60: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(54)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 61: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(182)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 62: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(118)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 63: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(246)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 64: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 65: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(142)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 66: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(78)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 67: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(206)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 68: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(46)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 69: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(174)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 70: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(110)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 71: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(238)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 72: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 73: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(158)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 74: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(94)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 75: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(222)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 76: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(62)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 77: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(190)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 78: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(126)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 79: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(254)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 80: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 81: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(129)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 82: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(65)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 83: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(193)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 84: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(33)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 85: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(161)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 86: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(97)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 87: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(225)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 88: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 89: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(145)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 90: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(81)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 91: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(209)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 92: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(49)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 93: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(177)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 94: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(113)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 95: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(241)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 96: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 97: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(137)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 98: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(73)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 99: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(201)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 100: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(41)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 101: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(169)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 102: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(105)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 103: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(233)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 104: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 105: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(153)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 106: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(89)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 107: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(217)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 108: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(57)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 109: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(185)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 110: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(121)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 111: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(249)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 112: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 113: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(133)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 114: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(69)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 115: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(197)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 116: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(37)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 117: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(165)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 118: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(101)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 119: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(229)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 120: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 121: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(149)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 122: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(85)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 123: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(213)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 124: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(53)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 125: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(181)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 126: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(117)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 127: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(245)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 128: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 129: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(141)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 130: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(77)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 131: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(205)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 132: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(45)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 133: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(173)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 134: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(109)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 135: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(237)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 136: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 137: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(157)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 138: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(93)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 139: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(221)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 140: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(61)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 141: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(189)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 142: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(125)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 143: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(253)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 144: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 145: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(275)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 146: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(147)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 147: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(403)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 148: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(83)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 149: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(339)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 150: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(211)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 151: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(467)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 152: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(51)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 153: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(307)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 154: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(179)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 155: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(435)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 156: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(115)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 157: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(371)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 158: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(243)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 159: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(499)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 160: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 161: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(267)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 162: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(139)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 163: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(395)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 164: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(75)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 165: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(331)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 166: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(203)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 167: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(459)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 168: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(43)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 169: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(299)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 170: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(171)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 171: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(427)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 172: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(107)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 173: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(363)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 174: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(235)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 175: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(491)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 176: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 177: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(283)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 178: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(155)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 179: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(411)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 180: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(91)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 181: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(347)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 182: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(219)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 183: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(475)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 184: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(59)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 185: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(315)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 186: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(187)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 187: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(443)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 188: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(123)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 189: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(379)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 190: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(251)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 191: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(507)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 192: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 193: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(263)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 194: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(135)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 195: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(391)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 196: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(71)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 197: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(327)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 198: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(199)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 199: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(455)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 200: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(39)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 201: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(295)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 202: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(167)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 203: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(423)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 204: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(103)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 205: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(359)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 206: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(231)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 207: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(487)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 208: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 209: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(279)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 210: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(151)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 211: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(407)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 212: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(87)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 213: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(343)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 214: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(215)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 215: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(471)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 216: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(55)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 217: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(311)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 218: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(183)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 219: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(439)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 220: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(119)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 221: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(375)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 222: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(247)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 223: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(503)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 224: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(15)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 225: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(271)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 226: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(143)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 227: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(399)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 228: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(79)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 229: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(335)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 230: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(207)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 231: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(463)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 232: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(47)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 233: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(303)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 234: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(175)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 235: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(431)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 236: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(111)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 237: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(367)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 238: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(239)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 239: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(495)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 240: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(31)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 241: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(287)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 242: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(159)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 243: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(415)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 244: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(95)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 245: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(351)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 246: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(223)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 247: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(479)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 248: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(63)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 249: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(319)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 250: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(191)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 251: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(447)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 252: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(127)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 253: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(383)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 254: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(255)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 255: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(511)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- },
- 256: {
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 257: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(64)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 258: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(32)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 259: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(96)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 260: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 261: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(80)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 262: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(48)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 263: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(112)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 264: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 265: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(72)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 266: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(40)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 267: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(104)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 268: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 269: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(88)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 270: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(56)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 271: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(120)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 272: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 273: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(68)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 274: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(36)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 275: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(100)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 276: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 277: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(84)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 278: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(52)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 279: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(116)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- },
- 280: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 281: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(131)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 282: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(67)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 283: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(195)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 284: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(35)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 285: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(163)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 286: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(99)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- 287: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(227)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- },
- }
- var _static_dtree = [30]Tct_data{
- 0: {
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 1: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 2: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 3: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 4: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 5: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 6: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 7: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 8: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 9: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 10: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 11: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 12: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 13: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 14: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 15: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 16: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 17: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 18: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 19: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 20: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 21: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 22: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 23: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 24: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 25: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 26: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 27: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 28: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- 29: {
- Ffc: *(*struct {
- Fcode [0]Tush
- Ffreq Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
- Fdl: *(*struct {
- Flen1 [0]Tush
- Fdad Tush
- })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
- },
- }
- var _base_length = [29]int32{
- 1: int32(1),
- 2: int32(2),
- 3: int32(3),
- 4: int32(4),
- 5: int32(5),
- 6: int32(6),
- 7: int32(7),
- 8: int32(8),
- 9: int32(10),
- 10: int32(12),
- 11: int32(14),
- 12: int32(16),
- 13: int32(20),
- 14: int32(24),
- 15: int32(28),
- 16: int32(32),
- 17: int32(40),
- 18: int32(48),
- 19: int32(56),
- 20: int32(64),
- 21: int32(80),
- 22: int32(96),
- 23: int32(112),
- 24: int32(128),
- 25: int32(160),
- 26: int32(192),
- 27: int32(224),
- }
- var _base_dist = [30]int32{
- 1: int32(1),
- 2: int32(2),
- 3: int32(3),
- 4: int32(4),
- 5: int32(6),
- 6: int32(8),
- 7: int32(12),
- 8: int32(16),
- 9: int32(24),
- 10: int32(32),
- 11: int32(48),
- 12: int32(64),
- 13: int32(96),
- 14: int32(128),
- 15: int32(192),
- 16: int32(256),
- 17: int32(384),
- 18: int32(512),
- 19: int32(768),
- 20: int32(1024),
- 21: int32(1536),
- 22: int32(2048),
- 23: int32(3072),
- 24: int32(4096),
- 25: int32(6144),
- 26: int32(8192),
- 27: int32(12288),
- 28: int32(16384),
- 29: int32(24576),
- }
- var _static_l_desc = Tstatic_tree_desc{
- Fstatic_tree: uintptr(unsafe.Pointer(&_static_ltree)),
- Fextra_bits: uintptr(unsafe.Pointer(&_extra_lbits)),
- Fextra_base: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1),
- Felems: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1) + libc.Int32FromInt32(m_LENGTH_CODES),
- Fmax_length: int32(m_MAX_BITS),
- }
- var _static_d_desc = Tstatic_tree_desc{
- Fstatic_tree: uintptr(unsafe.Pointer(&_static_dtree)),
- Fextra_bits: uintptr(unsafe.Pointer(&_extra_dbits)),
- Felems: int32(m_D_CODES),
- Fmax_length: int32(m_MAX_BITS),
- }
- var _static_bl_desc = Tstatic_tree_desc{
- Fextra_bits: uintptr(unsafe.Pointer(&_extra_blbits)),
- Felems: int32(m_BL_CODES),
- Fmax_length: int32(m_MAX_BL_BITS),
- }
- /* ===========================================================================
- * Output a short LSB first on the stream.
- * IN assertion: there is enough room in pendingBuf.
- */
- // C documentation
- //
- // /* ===========================================================================
- // * Reverse the first len bits of a code, using straightforward code (a faster
- // * method would use a table)
- // * IN assertion: 1 <= len <= 15
- // */
- func _bi_reverse(tls *libc.TLS, code uint32, len1 int32) (r uint32) {
- var res uint32
- var v1 int32
- _, _ = res, v1
- res = uint32(0)
- for {
- res |= code & uint32(1)
- code >>= uint32(1)
- res <<= uint32(1)
- goto _2
- _2:
- ;
- len1--
- v1 = len1
- if !(v1 > 0) {
- break
- }
- }
- return res >> int32(1)
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Flush the bit buffer, keeping at most 7 bits in it.
- // */
- func _bi_flush(tls *libc.TLS, s uintptr) {
- var v1, v3, v5 Tulg
- var v2, v4, v6, p7 uintptr
- _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, p7
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid == int32(16) {
- v2 = s + 40
- v1 = *(*Tulg)(unsafe.Pointer(v2))
- *(*Tulg)(unsafe.Pointer(v2))++
- *(*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))
- v4 = s + 40
- v3 = *(*Tulg)(unsafe.Pointer(v4))
- *(*Tulg)(unsafe.Pointer(v4))++
- *(*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))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid >= int32(8) {
- v6 = s + 40
- v5 = *(*Tulg)(unsafe.Pointer(v6))
- *(*Tulg)(unsafe.Pointer(v6))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
- p7 = s + 5936
- *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) >> libc.Int32FromInt32(8))
- *(*int32)(unsafe.Pointer(s + 5940)) -= int32(8)
- }
- }
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Flush the bit buffer and align the output on a byte boundary
- // */
- func _bi_windup(tls *libc.TLS, s uintptr) {
- var v1, v3, v5 Tulg
- var v2, v4, v6 uintptr
- _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > int32(8) {
- v2 = s + 40
- v1 = *(*Tulg)(unsafe.Pointer(v2))
- *(*Tulg)(unsafe.Pointer(v2))++
- *(*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))
- v4 = s + 40
- v3 = *(*Tulg)(unsafe.Pointer(v4))
- *(*Tulg)(unsafe.Pointer(v4))++
- *(*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))
- } else {
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > 0 {
- v6 = s + 40
- v5 = *(*Tulg)(unsafe.Pointer(v6))
- *(*Tulg)(unsafe.Pointer(v6))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
- }
- }
- (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Generate the codes for a given tree and bit counts (which need not be
- // * optimal).
- // * IN assertion: the array bl_count contains the bit length statistics for
- // * the given tree and the field len is set for all tree elements.
- // * OUT assertion: the field code is set for all tree elements of non
- // * zero code length.
- // */
- func _gen_codes(tls *libc.TLS, tree uintptr, max_code int32, bl_count uintptr) {
- bp := tls.Alloc(32)
- defer tls.Free(32)
- var bits, len1, n int32
- var code uint32
- var v3 Tush
- var v4 uintptr
- var _ /* next_code at bp+0 */ [16]Tush
- _, _, _, _, _, _ = bits, code, len1, n, v3, v4 /* next code value for each bit length */
- code = uint32(0) /* code index */
- /* The distribution counts are first used to generate the code values
- * without bit reversal.
- */
- bits = int32(1)
- for {
- if !(bits <= int32(m_MAX_BITS)) {
- break
- }
- code = (code + uint32(*(*Tushf)(unsafe.Pointer(bl_count + uintptr(bits-int32(1))*2)))) << int32(1)
- (*(*[16]Tush)(unsafe.Pointer(bp)))[bits] = uint16(code)
- goto _1
- _1:
- ;
- bits++
- }
- /* Check that the bit counts in bl_count are consistent. The last code
- * must be all ones.
- */
- n = 0
- for {
- if !(n <= max_code) {
- break
- }
- len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))
- if len1 == 0 {
- goto _2
- }
- /* Now reverse the bits */
- v4 = bp + uintptr(len1)*2
- v3 = *(*Tush)(unsafe.Pointer(v4))
- *(*Tush)(unsafe.Pointer(v4))++
- *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4)) = uint16(_bi_reverse(tls, uint32(v3), len1))
- goto _2
- _2:
- ;
- n++
- }
- }
- /* Send a code of the given tree. c and tree must not have side effects */
- /* ===========================================================================
- * Send a value on a given number of bits.
- * IN assertion: length <= 16 and value fits in length bits.
- */
- /* the arguments must not have side effects */
- // C documentation
- //
- // /* ===========================================================================
- // * Initialize the various 'constant' tables.
- // */
- func _tr_static_init(tls *libc.TLS) {
- }
- /* ===========================================================================
- * Generate the file trees.h describing the static trees.
- */
- // C documentation
- //
- // /* ===========================================================================
- // * Initialize a new block.
- // */
- func _init_block(tls *libc.TLS, s uintptr) {
- var n int32
- var v4 Tulg
- var v5 TuInt
- _, _, _ = n, v4, v5 /* iterates over tree elements */
- /* Initialize the trees. */
- n = 0
- for {
- if !(n < libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) {
- break
- }
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4)) = uint16(0)
- goto _1
- _1:
- ;
- n++
- }
- n = 0
- for {
- if !(n < int32(m_D_CODES)) {
- break
- }
- *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(n)*4)) = uint16(0)
- goto _2
- _2:
- ;
- n++
- }
- n = 0
- for {
- if !(n < int32(m_BL_CODES)) {
- break
- }
- *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(n)*4)) = uint16(0)
- goto _3
- _3:
- ;
- n++
- }
- *(*Tush)(unsafe.Pointer(s + 212 + 256*4)) = uint16(1)
- v4 = libc.Uint64FromInt64(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len = v4
- (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len = v4
- v5 = libc.Uint32FromInt32(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = v5
- (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next = v5
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Initialize the tree data structures for a new zlib stream.
- // */
- func x__tr_init(tls *libc.TLS, s uintptr) {
- _tr_static_init(tls)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fdyn_tree = s + 212
- (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_l_desc))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fdyn_tree = s + 2504
- (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_d_desc))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fdyn_tree = s + 2748
- (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_bl_desc))
- (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
- /* Initialize the first block of the first file: */
- _init_block(tls, s)
- }
- /* Index within the heap array of least frequent node in the Huffman tree */
- /* ===========================================================================
- * Remove the smallest element from the heap and recreate the heap with
- * one less element. Updates heap and heap_len.
- */
- /* ===========================================================================
- * Compares to subtrees, using the tree depth as tie breaker when
- * the subtrees have equal frequency. This minimizes the worst case length.
- */
- // C documentation
- //
- // /* ===========================================================================
- // * Restore the heap property by moving down the tree starting at node k,
- // * exchanging a node with the smallest of its two sons if necessary, stopping
- // * when the heap property is re-established (each father smaller than its
- // * two sons).
- // */
- func _pqdownheap(tls *libc.TLS, s uintptr, tree uintptr, k int32) {
- var j, v int32
- _, _ = j, v
- v = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4))
- j = k << int32(1) /* left son of k */
- for j <= (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len {
- /* Set j to the smallest of the two sons: */
- 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))))))) {
- j++
- }
- /* Exit if v is smaller than both sons */
- 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)))))) {
- break
- }
- /* Exchange v with the smallest son */
- *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))
- k = j
- /* And continue down the tree, setting j to the left son of k */
- j <<= int32(1)
- }
- *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = v
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Compute the optimal bit lengths for a tree and update the total bit length
- // * for the current block.
- // * IN assertion: the fields freq and dad are set, heap[heap_max] and
- // * above are the tree nodes sorted by increasing frequency.
- // * OUT assertions: the field len is set to the optimal bit length, the
- // * array bl_count contains the frequencies for each bit length.
- // * The length opt_len is updated; static_len is also updated if stree is
- // * not null.
- // */
- func _gen_bitlen(tls *libc.TLS, s uintptr, desc uintptr) {
- var base, bits, h, m, max_code, max_length, n, overflow, xbits, v5 int32
- var extra, stree, tree, p3 uintptr
- var f Tush
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, bits, extra, f, h, m, max_code, max_length, n, overflow, stree, tree, xbits, v5, p3
- tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
- max_code = (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code
- stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
- extra = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_bits
- base = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_base
- max_length = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fmax_length /* frequency */
- overflow = 0 /* number of elements with bit length too large */
- bits = 0
- for {
- if !(bits <= int32(m_MAX_BITS)) {
- break
- }
- *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)) = uint16(0)
- goto _1
- _1:
- ;
- bits++
- }
- /* In a first pass, compute the optimal bit lengths (which may
- * overflow in the case of the bit length tree).
- */
- *(*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 */
- h = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max + int32(1)
- for {
- if !(h < libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES))+libc.Int32FromInt32(1)) {
- break
- }
- n = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(h)*4))
- bits = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))*4 + 2))) + int32(1)
- if bits > max_length {
- bits = max_length
- overflow++
- }
- *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = libc.Uint16FromInt32(bits)
- /* We overwrite tree[n].Dad which is no longer needed */
- if n > max_code {
- goto _2
- } /* not a leaf node */
- *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))++
- xbits = 0
- if n >= base {
- xbits = *(*Tintf)(unsafe.Pointer(extra + uintptr(n-base)*4))
- }
- f = *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))
- *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(f) * uint64(libc.Uint32FromInt32(bits+xbits))
- if stree != 0 {
- *(*Tulg)(unsafe.Pointer(s + 5920)) += uint64(f) * uint64(libc.Uint32FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(stree + uintptr(n)*4 + 2)))+xbits))
- }
- goto _2
- _2:
- ;
- h++
- }
- if overflow == 0 {
- return
- }
- /* This happens for example on obj2 and pic of the Calgary corpus */
- /* Find the first bit length which could increase: */
- for cond := true; cond; cond = overflow > 0 {
- bits = max_length - int32(1)
- for libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))) == 0 {
- bits--
- }
- *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))-- /* move one leaf down the tree */
- p3 = s + 2976 + uintptr(bits+int32(1))*2
- *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + libc.Int32FromInt32(2)) /* move one overflow item as its brother */
- *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(max_length)*2))--
- /* The brother of the overflow item also moves one step up,
- * but this does not affect bl_count[max_length]
- */
- overflow -= int32(2)
- }
- /* Now recompute all bit lengths, scanning in increasing frequency.
- * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
- * lengths instead of fixing only the wrong ones. This idea is taken
- * from 'ar' written by Haruhiko Okumura.)
- */
- bits = max_length
- for {
- if !(bits != 0) {
- break
- }
- n = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)))
- for n != 0 {
- h--
- v5 = h
- m = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v5)*4))
- if m > max_code {
- continue
- }
- if uint32(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2))) != libc.Uint32FromInt32(bits) {
- *(*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)))
- *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = libc.Uint16FromInt32(bits)
- }
- n--
- }
- goto _4
- _4:
- ;
- bits--
- }
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Construct one Huffman tree and assigns the code bit strings and lengths.
- // * Update the total bit length for the current block.
- // * IN assertion: the field freq is set for all tree elements.
- // * OUT assertions: the fields len and code are set to the optimal bit length
- // * and corresponding code. The length opt_len is updated; static_len is
- // * also updated if stree is not null. The field max_code is set.
- // */
- func _build_tree(tls *libc.TLS, s uintptr, desc uintptr) {
- var elems, m, max_code, n, node, v11, v13, v15, v17, v19, v2, v20, v4, v5, v6, v7, v8 int32
- var stree, tree, v12, v14, v16, v21, v3, v9 uintptr
- var v18 Tush
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
- tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
- stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
- elems = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Felems /* iterate over heap elements */
- max_code = -int32(1) /* new node being created */
- /* Construct the initial heap, with least frequent element in
- * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
- * heap[0] is not used.
- */
- (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len = 0 /* new node being created */
- /* Construct the initial heap, with least frequent element in
- * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
- * heap[0] is not used.
- */
- (*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)
- n = 0
- for {
- if !(n < elems) {
- break
- }
- if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) != 0 {
- v3 = s + 5300
- *(*int32)(unsafe.Pointer(v3))++
- v2 = *(*int32)(unsafe.Pointer(v3))
- v4 = n
- max_code = v4
- *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v2)*4)) = v4
- *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))) = uint8(0)
- } else {
- *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = uint16(0)
- }
- goto _1
- _1:
- ;
- n++
- }
- /* The pkzip format requires that at least one distance code exists,
- * and that at least one bit should be sent even if there is only one
- * possible code. So to avoid special checks later on we force at least
- * two codes of non zero frequency.
- */
- for (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len < int32(2) {
- if max_code < int32(2) {
- max_code++
- v7 = max_code
- v6 = v7
- } else {
- v6 = 0
- }
- v5 = v6
- v9 = s + 5300
- *(*int32)(unsafe.Pointer(v9))++
- v8 = *(*int32)(unsafe.Pointer(v9))
- *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v8)*4)) = v5
- node = v5
- *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = uint16(1)
- *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = uint8(0)
- (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len--
- if stree != 0 {
- *(*Tulg)(unsafe.Pointer(s + 5920)) -= uint64(*(*Tush)(unsafe.Pointer(stree + uintptr(node)*4 + 2)))
- }
- /* node is 0 or 1 so it does not have extra bits */
- }
- (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code = max_code
- /* The elements heap[heap_len/2 + 1 .. heap_len] are leaves of the tree,
- * establish sub-heaps of increasing lengths:
- */
- n = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len / int32(2)
- for {
- if !(n >= int32(1)) {
- break
- }
- _pqdownheap(tls, s, tree, n)
- goto _10
- _10:
- ;
- n--
- }
- /* Construct the Huffman tree by repeatedly combining the least two
- * frequent nodes.
- */
- node = elems /* next internal node of the tree */
- for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len >= int32(2) {
- n = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
- v12 = s + 5300
- v11 = *(*int32)(unsafe.Pointer(v12))
- *(*int32)(unsafe.Pointer(v12))--
- *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v11)*4))
- _pqdownheap(tls, s, tree, int32(m_SMALLEST)) /* n = node of least frequency */
- m = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) /* m = node of next least frequency */
- v14 = s + 5304
- *(*int32)(unsafe.Pointer(v14))--
- v13 = *(*int32)(unsafe.Pointer(v14))
- *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v13)*4)) = n /* keep the nodes sorted by frequency */
- v16 = s + 5304
- *(*int32)(unsafe.Pointer(v16))--
- v15 = *(*int32)(unsafe.Pointer(v16))
- *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v15)*4)) = m
- /* Create a new node father of n and m */
- *(*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))))
- if libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n)))) >= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m)))) {
- v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))))
- } else {
- v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m))))
- }
- *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = libc.Uint8FromInt32(v17 + libc.Int32FromInt32(1))
- v18 = libc.Uint16FromInt32(node)
- *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = v18
- *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = v18
- /* and insert the new node in the heap */
- v19 = node
- node++
- *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = v19
- _pqdownheap(tls, s, tree, int32(m_SMALLEST))
- }
- v21 = s + 5304
- *(*int32)(unsafe.Pointer(v21))--
- v20 = *(*int32)(unsafe.Pointer(v21))
- *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v20)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
- /* At this point, the fields freq and dad are set. We can now
- * generate the bit lengths.
- */
- _gen_bitlen(tls, s, desc)
- /* The field len is now set, we can generate the bit codes */
- _gen_codes(tls, tree, max_code, s+2976)
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Scan a literal or distance tree to determine the frequencies of the codes
- // * in the bit length tree.
- // */
- func _scan_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
- var count, curlen, max_count, min_count, n, nextlen, prevlen, v2 int32
- var p3 uintptr
- _, _, _, _, _, _, _, _, _ = count, curlen, max_count, min_count, n, nextlen, prevlen, v2, p3 /* iterates over all tree elements */
- prevlen = -int32(1) /* length of current code */
- nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
- count = 0 /* repeat count of the current code */
- max_count = int32(7) /* max repeat count */
- min_count = int32(4) /* min repeat count */
- if nextlen == 0 {
- max_count = int32(138)
- min_count = libc.Int32FromInt32(3)
- }
- *(*Tush)(unsafe.Pointer(tree + uintptr(max_code+int32(1))*4 + 2)) = libc.Uint16FromInt32(0xffff) /* guard */
- n = 0
- for {
- if !(n <= max_code) {
- break
- }
- curlen = nextlen
- nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
- count++
- v2 = count
- if v2 < max_count && curlen == nextlen {
- goto _1
- } else {
- if count < min_count {
- p3 = s + 2748 + uintptr(curlen)*4
- *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + count)
- } else {
- if curlen != 0 {
- if curlen != prevlen {
- *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))++
- }
- *(*Tush)(unsafe.Pointer(s + 2748 + 16*4))++
- } else {
- if count <= int32(10) {
- *(*Tush)(unsafe.Pointer(s + 2748 + 17*4))++
- } else {
- *(*Tush)(unsafe.Pointer(s + 2748 + 18*4))++
- }
- }
- }
- }
- count = 0
- prevlen = curlen
- if nextlen == 0 {
- max_count = int32(138)
- min_count = libc.Int32FromInt32(3)
- } else {
- if curlen == nextlen {
- max_count = int32(6)
- min_count = libc.Int32FromInt32(3)
- } else {
- max_count = int32(7)
- min_count = libc.Int32FromInt32(4)
- }
- }
- goto _1
- _1:
- ;
- n++
- }
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Send a literal or distance tree in compressed form, using the codes in
- // * bl_tree.
- // */
- func _send_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
- 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
- var v12, v14, v18, v20, v24, v26, v30, v32, v36, v38, v42, v44, v48, v50, v6, v8 Tulg
- 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
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
- prevlen = -int32(1) /* length of current code */
- nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
- count = 0 /* repeat count of the current code */
- max_count = int32(7) /* max repeat count */
- min_count = int32(4) /* min repeat count */
- /* tree[max_code + 1].Len = -1; */ /* guard already set */
- if nextlen == 0 {
- max_count = int32(138)
- min_count = libc.Int32FromInt32(3)
- }
- n = 0
- for {
- if !(n <= max_code) {
- break
- }
- curlen = nextlen
- nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
- count++
- v2 = count
- if v2 < max_count && curlen == nextlen {
- goto _1
- } else {
- if count < min_count {
- for {
- len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
- val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
- p5 = s + 5936
- *(*Tush)(unsafe.Pointer(p5)) = Tush(int32(*(*Tush)(unsafe.Pointer(p5))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v7 = s + 40
- v6 = *(*Tulg)(unsafe.Pointer(v7))
- *(*Tulg)(unsafe.Pointer(v7))++
- *(*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))
- v9 = s + 40
- v8 = *(*Tulg)(unsafe.Pointer(v9))
- *(*Tulg)(unsafe.Pointer(v9))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
- } else {
- p10 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len1
- }
- goto _4
- _4:
- ;
- count--
- v3 = count
- if !(v3 != 0) {
- break
- }
- }
- } else {
- if curlen != 0 {
- if curlen != prevlen {
- len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
- val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
- p11 = s + 5936
- *(*Tush)(unsafe.Pointer(p11)) = Tush(int32(*(*Tush)(unsafe.Pointer(p11))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v13 = s + 40
- v12 = *(*Tulg)(unsafe.Pointer(v13))
- *(*Tulg)(unsafe.Pointer(v13))++
- *(*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))
- v15 = s + 40
- v14 = *(*Tulg)(unsafe.Pointer(v15))
- *(*Tulg)(unsafe.Pointer(v15))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
- } else {
- p16 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len11
- }
- count--
- }
- len2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4 + 2)))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
- val2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))
- p17 = s + 5936
- *(*Tush)(unsafe.Pointer(p17)) = Tush(int32(*(*Tush)(unsafe.Pointer(p17))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v19 = s + 40
- v18 = *(*Tulg)(unsafe.Pointer(v19))
- *(*Tulg)(unsafe.Pointer(v19))++
- *(*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))
- v21 = s + 40
- v20 = *(*Tulg)(unsafe.Pointer(v21))
- *(*Tulg)(unsafe.Pointer(v21))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
- } else {
- p22 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len2
- }
- len3 = int32(2)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
- val3 = count - int32(3)
- p23 = s + 5936
- *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v25 = s + 40
- v24 = *(*Tulg)(unsafe.Pointer(v25))
- *(*Tulg)(unsafe.Pointer(v25))++
- *(*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))
- v27 = s + 40
- v26 = *(*Tulg)(unsafe.Pointer(v27))
- *(*Tulg)(unsafe.Pointer(v27))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
- } else {
- p28 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len3
- }
- } else {
- if count <= int32(10) {
- len4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4 + 2)))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
- val4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))
- p29 = s + 5936
- *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v31 = s + 40
- v30 = *(*Tulg)(unsafe.Pointer(v31))
- *(*Tulg)(unsafe.Pointer(v31))++
- *(*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))
- v33 = s + 40
- v32 = *(*Tulg)(unsafe.Pointer(v33))
- *(*Tulg)(unsafe.Pointer(v33))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
- } else {
- p34 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len4
- }
- len5 = int32(3)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
- val5 = count - int32(3)
- p35 = s + 5936
- *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v37 = s + 40
- v36 = *(*Tulg)(unsafe.Pointer(v37))
- *(*Tulg)(unsafe.Pointer(v37))++
- *(*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))
- v39 = s + 40
- v38 = *(*Tulg)(unsafe.Pointer(v39))
- *(*Tulg)(unsafe.Pointer(v39))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
- } else {
- p40 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len5
- }
- } else {
- len6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4 + 2)))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len6 {
- val6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))
- p41 = s + 5936
- *(*Tush)(unsafe.Pointer(p41)) = Tush(int32(*(*Tush)(unsafe.Pointer(p41))) | libc.Int32FromUint16(libc.Uint16FromInt32(val6))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v43 = s + 40
- v42 = *(*Tulg)(unsafe.Pointer(v43))
- *(*Tulg)(unsafe.Pointer(v43))++
- *(*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))
- v45 = s + 40
- v44 = *(*Tulg)(unsafe.Pointer(v45))
- *(*Tulg)(unsafe.Pointer(v45))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len6 - int32(m_Buf_size)
- } else {
- p46 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len6
- }
- len7 = int32(7)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len7 {
- val7 = count - int32(11)
- p47 = s + 5936
- *(*Tush)(unsafe.Pointer(p47)) = Tush(int32(*(*Tush)(unsafe.Pointer(p47))) | libc.Int32FromUint16(libc.Uint16FromInt32(val7))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v49 = s + 40
- v48 = *(*Tulg)(unsafe.Pointer(v49))
- *(*Tulg)(unsafe.Pointer(v49))++
- *(*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))
- v51 = s + 40
- v50 = *(*Tulg)(unsafe.Pointer(v51))
- *(*Tulg)(unsafe.Pointer(v51))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len7 - int32(m_Buf_size)
- } else {
- p52 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len7
- }
- }
- }
- }
- }
- count = 0
- prevlen = curlen
- if nextlen == 0 {
- max_count = int32(138)
- min_count = libc.Int32FromInt32(3)
- } else {
- if curlen == nextlen {
- max_count = int32(6)
- min_count = libc.Int32FromInt32(3)
- } else {
- max_count = int32(7)
- min_count = libc.Int32FromInt32(4)
- }
- }
- goto _1
- _1:
- ;
- n++
- }
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Construct the Huffman tree for the bit lengths and return the index in
- // * bl_order of the last bit length code to send.
- // */
- func _build_bl_tree(tls *libc.TLS, s uintptr) (r int32) {
- var max_blindex int32
- _ = max_blindex /* index of last bit length code of non zero freq */
- /* Determine the bit length frequencies for literal and distance trees */
- _scan_tree(tls, s, s+212, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code)
- _scan_tree(tls, s, s+2504, (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code)
- /* Build the bit length tree: */
- _build_tree(tls, s, s+2952)
- /* opt_len now includes the length of the tree representations, except the
- * lengths of the bit lengths codes and the 5 + 5 + 4 bits for the counts.
- */
- /* Determine the number of bit length codes to send. The pkzip format
- * requires that at least 4 bit length codes be sent. (appnote.txt says
- * 3 but the actual value used is 4.)
- */
- max_blindex = libc.Int32FromInt32(m_BL_CODES) - libc.Int32FromInt32(1)
- for {
- if !(max_blindex >= int32(3)) {
- break
- }
- if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[max_blindex])*4 + 2))) != 0 {
- break
- }
- goto _1
- _1:
- ;
- max_blindex--
- }
- /* Update opt_len to include the bit length tree and counts */
- *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(3)*(libc.Uint64FromInt32(max_blindex)+uint64(1)) + uint64(5) + uint64(5) + uint64(4)
- return max_blindex
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Send the header for a block using dynamic Huffman trees: the counts, the
- // * lengths of the bit length codes, the literal tree and the distance tree.
- // * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
- // */
- func _send_all_trees(tls *libc.TLS, s uintptr, lcodes int32, dcodes int32, blcodes int32) {
- var len1, len11, len2, len3, rank, val, val1, val2, val3 int32
- var v10, v14, v16, v2, v21, v23, v4, v8 Tulg
- var v11, v15, v17, v22, v24, v3, v5, v9, p1, p12, p13, p18, p20, p25, p6, p7 uintptr
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
- len1 = int32(5)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
- val = lcodes - int32(257)
- p1 = s + 5936
- *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v3 = s + 40
- v2 = *(*Tulg)(unsafe.Pointer(v3))
- *(*Tulg)(unsafe.Pointer(v3))++
- *(*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))
- v5 = s + 40
- v4 = *(*Tulg)(unsafe.Pointer(v5))
- *(*Tulg)(unsafe.Pointer(v5))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
- } else {
- p6 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len1
- } /* not +255 as stated in appnote.txt */
- len11 = int32(5)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
- val1 = dcodes - int32(1)
- p7 = s + 5936
- *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v9 = s + 40
- v8 = *(*Tulg)(unsafe.Pointer(v9))
- *(*Tulg)(unsafe.Pointer(v9))++
- *(*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))
- v11 = s + 40
- v10 = *(*Tulg)(unsafe.Pointer(v11))
- *(*Tulg)(unsafe.Pointer(v11))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
- } else {
- p12 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len11
- }
- len2 = int32(4)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
- val2 = blcodes - int32(4)
- p13 = s + 5936
- *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v15 = s + 40
- v14 = *(*Tulg)(unsafe.Pointer(v15))
- *(*Tulg)(unsafe.Pointer(v15))++
- *(*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))
- v17 = s + 40
- v16 = *(*Tulg)(unsafe.Pointer(v17))
- *(*Tulg)(unsafe.Pointer(v17))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
- } else {
- p18 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len2
- } /* not -3 as stated in appnote.txt */
- rank = 0
- for {
- if !(rank < blcodes) {
- break
- }
- len3 = int32(3)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
- val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))
- p20 = s + 5936
- *(*Tush)(unsafe.Pointer(p20)) = Tush(int32(*(*Tush)(unsafe.Pointer(p20))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v22 = s + 40
- v21 = *(*Tulg)(unsafe.Pointer(v22))
- *(*Tulg)(unsafe.Pointer(v22))++
- *(*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))
- v24 = s + 40
- v23 = *(*Tulg)(unsafe.Pointer(v24))
- *(*Tulg)(unsafe.Pointer(v24))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
- } else {
- p25 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len3
- }
- goto _19
- _19:
- ;
- rank++
- }
- _send_tree(tls, s, s+212, lcodes-int32(1)) /* literal tree */
- _send_tree(tls, s, s+2504, dcodes-int32(1)) /* distance tree */
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Send a stored block
- // */
- func x__tr_stored_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
- var len1, val int32
- var v10, v12, v14, v3, v5, v8, p1, p6 uintptr
- var v11, v13, v2, v4, v7, v9 Tulg
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, val, v10, v11, v12, v13, v14, v2, v3, v4, v5, v7, v8, v9, p1, p6
- len1 = int32(3)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
- val = libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1) + last
- p1 = s + 5936
- *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v3 = s + 40
- v2 = *(*Tulg)(unsafe.Pointer(v3))
- *(*Tulg)(unsafe.Pointer(v3))++
- *(*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))
- v5 = s + 40
- v4 = *(*Tulg)(unsafe.Pointer(v5))
- *(*Tulg)(unsafe.Pointer(v5))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
- } else {
- p6 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len1
- } /* send block type */
- _bi_windup(tls, s) /* align on byte boundary */
- v8 = s + 40
- v7 = *(*Tulg)(unsafe.Pointer(v8))
- *(*Tulg)(unsafe.Pointer(v8))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) & libc.Int32FromInt32(0xff))
- v10 = s + 40
- v9 = *(*Tulg)(unsafe.Pointer(v10))
- *(*Tulg)(unsafe.Pointer(v10))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) >> libc.Int32FromInt32(8))
- v12 = s + 40
- v11 = *(*Tulg)(unsafe.Pointer(v12))
- *(*Tulg)(unsafe.Pointer(v12))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) & libc.Int32FromInt32(0xff))
- v14 = s + 40
- v13 = *(*Tulg)(unsafe.Pointer(v14))
- *(*Tulg)(unsafe.Pointer(v14))++
- *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) >> libc.Int32FromInt32(8))
- if stored_len != 0 {
- libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), buf, stored_len)
- }
- *(*Tulg)(unsafe.Pointer(s + 40)) += stored_len
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
- // */
- func x__tr_flush_bits(tls *libc.TLS, s uintptr) {
- _bi_flush(tls, s)
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Send one empty static block to give enough lookahead for inflate.
- // * This takes 10 bits, of which 7 may remain in the bit buffer.
- // */
- func x__tr_align(tls *libc.TLS, s uintptr) {
- var len1, len11, val, val1 int32
- var v10, v2, v4, v8 Tulg
- var v11, v3, v5, v9, p1, p12, p6, p7 uintptr
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, val, val1, v10, v11, v2, v3, v4, v5, v8, v9, p1, p12, p6, p7
- len1 = int32(3)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
- val = libc.Int32FromInt32(m_STATIC_TREES) << libc.Int32FromInt32(1)
- p1 = s + 5936
- *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v3 = s + 40
- v2 = *(*Tulg)(unsafe.Pointer(v3))
- *(*Tulg)(unsafe.Pointer(v3))++
- *(*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))
- v5 = s + 40
- v4 = *(*Tulg)(unsafe.Pointer(v5))
- *(*Tulg)(unsafe.Pointer(v5))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
- } else {
- p6 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len1
- }
- len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4 + 2)))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
- val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))
- p7 = s + 5936
- *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v9 = s + 40
- v8 = *(*Tulg)(unsafe.Pointer(v9))
- *(*Tulg)(unsafe.Pointer(v9))++
- *(*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))
- v11 = s + 40
- v10 = *(*Tulg)(unsafe.Pointer(v11))
- *(*Tulg)(unsafe.Pointer(v11))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
- } else {
- p12 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len11
- }
- _bi_flush(tls, s)
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Send the block data compressed using the given Huffman trees
- // */
- func _compress_block(tls *libc.TLS, s uintptr, ltree uintptr, dtree uintptr) {
- var code, dist, sx, v1, v2, v3 uint32
- var extra, lc, len1, len11, len2, len3, len4, len5, val, val1, val2, val3, val4, val5, v22 int32
- var v11, v13, v17, v19, v24, v26, v30, v32, v36, v38, v5, v7 Tulg
- 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
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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) */
- sx = uint32(0) /* number of extra bits to send */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != uint32(0) {
- for cond := true; cond; cond = sx < (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next {
- v1 = sx
- sx++
- dist = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1)))) & int32(0xff))
- v2 = sx
- sx++
- dist += libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))))&libc.Int32FromInt32(0xff)) << int32(8)
- v3 = sx
- sx++
- lc = libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))))
- if dist == uint32(0) {
- len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4 + 2)))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
- val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))
- p4 = s + 5936
- *(*Tush)(unsafe.Pointer(p4)) = Tush(int32(*(*Tush)(unsafe.Pointer(p4))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v6 = s + 40
- v5 = *(*Tulg)(unsafe.Pointer(v6))
- *(*Tulg)(unsafe.Pointer(v6))++
- *(*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))
- v8 = s + 40
- v7 = *(*Tulg)(unsafe.Pointer(v8))
- *(*Tulg)(unsafe.Pointer(v8))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
- } else {
- p9 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len1
- } /* send a literal byte */
- } else {
- /* Here, lc is the match length - MIN_MATCH */
- code = uint32(x__length_code[lc])
- len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4 + 2)))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
- val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))
- p10 = s + 5936
- *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v12 = s + 40
- v11 = *(*Tulg)(unsafe.Pointer(v12))
- *(*Tulg)(unsafe.Pointer(v12))++
- *(*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))
- v14 = s + 40
- v13 = *(*Tulg)(unsafe.Pointer(v14))
- *(*Tulg)(unsafe.Pointer(v14))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
- } else {
- p15 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len11
- } /* send length code */
- extra = _extra_lbits[code]
- if extra != 0 {
- lc -= _base_length[code]
- len2 = extra
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
- val2 = lc
- p16 = s + 5936
- *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v18 = s + 40
- v17 = *(*Tulg)(unsafe.Pointer(v18))
- *(*Tulg)(unsafe.Pointer(v18))++
- *(*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))
- v20 = s + 40
- v19 = *(*Tulg)(unsafe.Pointer(v20))
- *(*Tulg)(unsafe.Pointer(v20))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
- } else {
- p21 = s + 5936
- *(*Tush)(unsafe.Pointer(p21)) = Tush(int32(*(*Tush)(unsafe.Pointer(p21))) | libc.Int32FromUint16(libc.Uint16FromInt32(lc))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- *(*int32)(unsafe.Pointer(s + 5940)) += len2
- } /* send the extra length bits */
- }
- dist-- /* dist is now the match distance - 1 */
- if dist < uint32(256) {
- v22 = libc.Int32FromUint8(x__dist_code[dist])
- } else {
- v22 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
- }
- code = libc.Uint32FromInt32(v22)
- len3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4 + 2)))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
- val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))
- p23 = s + 5936
- *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v25 = s + 40
- v24 = *(*Tulg)(unsafe.Pointer(v25))
- *(*Tulg)(unsafe.Pointer(v25))++
- *(*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))
- v27 = s + 40
- v26 = *(*Tulg)(unsafe.Pointer(v27))
- *(*Tulg)(unsafe.Pointer(v27))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
- } else {
- p28 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len3
- } /* send the distance code */
- extra = _extra_dbits[code]
- if extra != 0 {
- dist -= libc.Uint32FromInt32(_base_dist[code])
- len4 = extra
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
- val4 = libc.Int32FromUint32(dist)
- p29 = s + 5936
- *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v31 = s + 40
- v30 = *(*Tulg)(unsafe.Pointer(v31))
- *(*Tulg)(unsafe.Pointer(v31))++
- *(*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))
- v33 = s + 40
- v32 = *(*Tulg)(unsafe.Pointer(v33))
- *(*Tulg)(unsafe.Pointer(v33))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
- } else {
- p34 = s + 5936
- *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(uint16(dist))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- *(*int32)(unsafe.Pointer(s + 5940)) += len4
- } /* send the extra distance bits */
- }
- } /* literal or match pair ? */
- /* Check for no overlay of pending_buf on needed symbols */
- }
- }
- len5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4 + 2)))
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
- val5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))
- p35 = s + 5936
- *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v37 = s + 40
- v36 = *(*Tulg)(unsafe.Pointer(v37))
- *(*Tulg)(unsafe.Pointer(v37))++
- *(*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))
- v39 = s + 40
- v38 = *(*Tulg)(unsafe.Pointer(v39))
- *(*Tulg)(unsafe.Pointer(v39))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
- } else {
- p40 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len5
- }
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Check if the data type is TEXT or BINARY, using the following algorithm:
- // * - TEXT if the two conditions below are satisfied:
- // * a) There are no non-portable control characters belonging to the
- // * "block list" (0..6, 14..25, 28..31).
- // * b) There is at least one printable character belonging to the
- // * "allow list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
- // * - BINARY otherwise.
- // * - The following partially-portable control characters form a
- // * "gray list" that is ignored in this detection algorithm:
- // * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
- // * IN assertion: the fields Freq of dyn_ltree are set.
- // */
- func _detect_data_type(tls *libc.TLS, s uintptr) (r int32) {
- var block_mask uint64
- var n int32
- _, _ = block_mask, n
- /* block_mask is the bit mask of block-listed bytes
- * set bits 0..6, 14..25, and 28..31
- * 0xf3ffc07f = binary 11110011111111111100000001111111
- */
- block_mask = uint64(0xf3ffc07f)
- /* Check for non-textual ("block-listed") bytes. */
- n = 0
- for {
- if !(n <= int32(31)) {
- break
- }
- if block_mask&uint64(1) != 0 && libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
- return m_Z_BINARY
- }
- goto _1
- _1:
- ;
- n++
- block_mask >>= uint64(1)
- }
- /* Check for textual ("allow-listed") bytes. */
- 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 {
- return int32(m_Z_TEXT)
- }
- n = int32(32)
- for {
- if !(n < int32(m_LITERALS)) {
- break
- }
- if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
- return int32(m_Z_TEXT)
- }
- goto _2
- _2:
- ;
- n++
- }
- /* There are no "block-listed" or "allow-listed" bytes:
- * this stream either is empty or has tolerated ("gray-listed") bytes only.
- */
- return m_Z_BINARY
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Determine the best encoding for the current block: dynamic trees, static
- // * trees or store, and write out the encoded block.
- // */
- func x__tr_flush_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
- var len1, len11, max_blindex, val, val1 int32
- var opt_lenb, static_lenb, v1, v11, v3, v5, v9 Tulg
- var v10, v12, v4, v6, p13, p2, p7, p8 uintptr
- _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
- max_blindex = 0 /* index of last bit length code of non zero freq */
- /* Build the Huffman trees unless a stored block is forced */
- if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel > 0 {
- /* Check if the file is binary or text */
- if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type == int32(m_Z_UNKNOWN) {
- (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type = _detect_data_type(tls, s)
- }
- /* Construct the literal and distance trees */
- _build_tree(tls, s, s+2904)
- _build_tree(tls, s, s+2928)
- /* At this point, opt_len and static_len are the total bit lengths of
- * the compressed block data, excluding the tree representations.
- */
- /* Build the bit length tree for the above two trees, and get the index
- * in bl_order of the last bit length code to send.
- */
- max_blindex = _build_bl_tree(tls, s)
- /* Determine the best encoding. Compute the block lengths in bytes. */
- opt_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len + uint64(3) + uint64(7)) >> int32(3)
- static_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len + uint64(3) + uint64(7)) >> int32(3)
- if static_lenb <= opt_lenb || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FIXED) {
- opt_lenb = static_lenb
- }
- } else {
- v1 = stored_len + libc.Uint64FromInt32(5)
- static_lenb = v1
- opt_lenb = v1 /* force a stored block */
- }
- if stored_len+uint64(4) <= opt_lenb && buf != libc.UintptrFromInt32(0) {
- /* 4: two words for the lengths */
- /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
- * Otherwise we can't have processed more than WSIZE input bytes since
- * the last block flush, because compression would have been
- * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
- * transform a block into a stored block.
- */
- x__tr_stored_block(tls, s, buf, stored_len, last)
- } else {
- if static_lenb == opt_lenb {
- len1 = int32(3)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
- val = libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1) + last
- p2 = s + 5936
- *(*Tush)(unsafe.Pointer(p2)) = Tush(int32(*(*Tush)(unsafe.Pointer(p2))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v4 = s + 40
- v3 = *(*Tulg)(unsafe.Pointer(v4))
- *(*Tulg)(unsafe.Pointer(v4))++
- *(*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))
- v6 = s + 40
- v5 = *(*Tulg)(unsafe.Pointer(v6))
- *(*Tulg)(unsafe.Pointer(v6))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
- } else {
- p7 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len1
- }
- _compress_block(tls, s, uintptr(unsafe.Pointer(&_static_ltree)), uintptr(unsafe.Pointer(&_static_dtree)))
- } else {
- len11 = int32(3)
- if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
- val1 = libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1) + last
- p8 = s + 5936
- *(*Tush)(unsafe.Pointer(p8)) = Tush(int32(*(*Tush)(unsafe.Pointer(p8))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
- v10 = s + 40
- v9 = *(*Tulg)(unsafe.Pointer(v10))
- *(*Tulg)(unsafe.Pointer(v10))++
- *(*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))
- v12 = s + 40
- v11 = *(*Tulg)(unsafe.Pointer(v12))
- *(*Tulg)(unsafe.Pointer(v12))++
- *(*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))
- (*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))
- *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
- } else {
- p13 = s + 5936
- *(*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)
- *(*int32)(unsafe.Pointer(s + 5940)) += len11
- }
- _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))
- _compress_block(tls, s, s+212, s+2504)
- }
- }
- /* The above check is made mod 2^32, for files larger than 512 MB
- * and uLong implemented on 32 bits.
- */
- _init_block(tls, s)
- if last != 0 {
- _bi_windup(tls, s)
- }
- }
- // C documentation
- //
- // /* ===========================================================================
- // * Save the match info and tally the frequency counts. Return true if
- // * the current block must be flushed.
- // */
- func x__tr_tally(tls *libc.TLS, s uintptr, dist uint32, lc uint32) (r int32) {
- var v1, v3, v5 TuInt
- var v2, v4, v6 uintptr
- var v7 int32
- _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, v7
- v2 = s + 5900
- v1 = *(*TuInt)(unsafe.Pointer(v2))
- *(*TuInt)(unsafe.Pointer(v2))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1))) = uint8(dist)
- v4 = s + 5900
- v3 = *(*TuInt)(unsafe.Pointer(v4))
- *(*TuInt)(unsafe.Pointer(v4))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist >> libc.Int32FromInt32(8))
- v6 = s + 5900
- v5 = *(*TuInt)(unsafe.Pointer(v6))
- *(*TuInt)(unsafe.Pointer(v6))++
- *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = uint8(lc)
- if dist == uint32(0) {
- /* lc is the unmatched char */
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(lc)*4))++
- } else {
- (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
- /* Here, lc is the match length - MIN_MATCH */
- dist-- /* dist = match distance - 1 */
- *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[lc])+int32(m_LITERALS)+int32(1))*4))++
- if dist < uint32(256) {
- v7 = libc.Int32FromUint8(x__dist_code[dist])
- } else {
- v7 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
- }
- *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v7)*4))++
- }
- return libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
- }
- const m_AT_EACCESS = 0x200
- const m_AT_EMPTY_PATH = 0x1000
- const m_AT_NO_AUTOMOUNT = 0x800
- const m_AT_RECURSIVE = 0x8000
- const m_AT_REMOVEDIR = 0x200
- const m_AT_STATX_DONT_SYNC = 0x4000
- const m_AT_STATX_FORCE_SYNC = 0x2000
- const m_AT_STATX_SYNC_AS_STAT = 0x0000
- const m_AT_STATX_SYNC_TYPE = 0x6000
- const m_AT_SYMLINK_FOLLOW = 0x400
- const m_AT_SYMLINK_NOFOLLOW = 0x100
- const m_BUFSIZ = 1024
- const m_COPY = 1
- const m_DN_ACCESS = 0x00000001
- const m_DN_ATTRIB = 0x00000020
- const m_DN_CREATE = 0x00000004
- const m_DN_DELETE = 0x00000008
- const m_DN_MODIFY = 0x00000002
- const m_DN_MULTISHOT = 0x80000000
- const m_DN_RENAME = 0x00000010
- const m_E2BIG = 7
- const m_EACCES = 13
- const m_EADDRINUSE = 98
- const m_EADDRNOTAVAIL = 99
- const m_EADV = 68
- const m_EAFNOSUPPORT = 97
- const m_EAGAIN = 11
- const m_EALREADY = 114
- const m_EBADE = 52
- const m_EBADF = 9
- const m_EBADFD = 77
- const m_EBADMSG = 74
- const m_EBADR = 53
- const m_EBADRQC = 56
- const m_EBADSLT = 57
- const m_EBFONT = 59
- const m_EBUSY = 16
- const m_ECANCELED = 125
- const m_ECHILD = 10
- const m_ECHRNG = 44
- const m_ECOMM = 70
- const m_ECONNABORTED = 103
- const m_ECONNREFUSED = 111
- const m_ECONNRESET = 104
- const m_EDEADLK = 35
- const m_EDEADLOCK = "EDEADLK"
- const m_EDESTADDRREQ = 89
- const m_EDOM = 33
- const m_EDOTDOT = 73
- const m_EDQUOT = 122
- const m_EEXIST = 17
- const m_EFAULT = 14
- const m_EFBIG = 27
- const m_EHOSTDOWN = 112
- const m_EHOSTUNREACH = 113
- const m_EHWPOISON = 133
- const m_EIDRM = 43
- const m_EILSEQ = 84
- const m_EINPROGRESS = 115
- const m_EINTR = 4
- const m_EINVAL = 22
- const m_EIO = 5
- const m_EISCONN = 106
- const m_EISDIR = 21
- const m_EISNAM = 120
- const m_EKEYEXPIRED = 127
- const m_EKEYREJECTED = 129
- const m_EKEYREVOKED = 128
- const m_EL2HLT = 51
- const m_EL2NSYNC = 45
- const m_EL3HLT = 46
- const m_EL3RST = 47
- const m_ELIBACC = 79
- const m_ELIBBAD = 80
- const m_ELIBEXEC = 83
- const m_ELIBMAX = 82
- const m_ELIBSCN = 81
- const m_ELNRNG = 48
- const m_ELOOP = 40
- const m_EMEDIUMTYPE = 124
- const m_EMFILE = 24
- const m_EMLINK = 31
- const m_EMSGSIZE = 90
- const m_EMULTIHOP = 72
- const m_ENAMETOOLONG = 36
- const m_ENAVAIL = 119
- const m_ENETDOWN = 100
- const m_ENETRESET = 102
- const m_ENETUNREACH = 101
- const m_ENFILE = 23
- const m_ENOANO = 55
- const m_ENOBUFS = 105
- const m_ENOCSI = 50
- const m_ENODATA = 61
- const m_ENODEV = 19
- const m_ENOENT = 2
- const m_ENOEXEC = 8
- const m_ENOKEY = 126
- const m_ENOLCK = 37
- const m_ENOLINK = 67
- const m_ENOMEDIUM = 123
- const m_ENOMEM = 12
- const m_ENOMSG = 42
- const m_ENONET = 64
- const m_ENOPKG = 65
- const m_ENOPROTOOPT = 92
- const m_ENOSPC = 28
- const m_ENOSR = 63
- const m_ENOSTR = 60
- const m_ENOSYS = 38
- const m_ENOTBLK = 15
- const m_ENOTCONN = 107
- const m_ENOTDIR = 20
- const m_ENOTEMPTY = 39
- const m_ENOTNAM = 118
- const m_ENOTRECOVERABLE = 131
- const m_ENOTSOCK = 88
- const m_ENOTSUP = "EOPNOTSUPP"
- const m_ENOTTY = 25
- const m_ENOTUNIQ = 76
- const m_ENXIO = 6
- const m_EOPNOTSUPP = 95
- const m_EOVERFLOW = 75
- const m_EOWNERDEAD = 130
- const m_EPERM = 1
- const m_EPFNOSUPPORT = 96
- const m_EPIPE = 32
- const m_EPROTO = 71
- const m_EPROTONOSUPPORT = 93
- const m_EPROTOTYPE = 91
- const m_ERANGE = 34
- const m_EREMCHG = 78
- const m_EREMOTE = 66
- const m_EREMOTEIO = 121
- const m_ERESTART = 85
- const m_ERFKILL = 132
- const m_EROFS = 30
- const m_ESHUTDOWN = 108
- const m_ESOCKTNOSUPPORT = 94
- const m_ESPIPE = 29
- const m_ESRCH = 3
- const m_ESRMNT = 69
- const m_ESTALE = 116
- const m_ESTRPIPE = 86
- const m_ETIME = 62
- const m_ETIMEDOUT = 110
- const m_ETOOMANYREFS = 109
- const m_ETXTBSY = 26
- const m_EUCLEAN = 117
- const m_EUNATCH = 49
- const m_EUSERS = 87
- const m_EWOULDBLOCK = "EAGAIN"
- const m_EXDEV = 18
- const m_EXFULL = 54
- const m_FALLOC_FL_KEEP_SIZE = 1
- const m_FALLOC_FL_PUNCH_HOLE = 2
- const m_FAPPEND = "O_APPEND"
- const m_FASYNC = "O_ASYNC"
- const m_FD_CLOEXEC = 1
- const m_FFSYNC = "O_SYNC"
- const m_FILENAME_MAX = 4096
- const m_FNDELAY = "O_NDELAY"
- const m_FNONBLOCK = "O_NONBLOCK"
- const m_FOPEN_MAX = 1000
- const m_F_ADD_SEALS = 1033
- const m_F_CANCELLK = 1029
- const m_F_DUPFD = 0
- const m_F_DUPFD_CLOEXEC = 1030
- const m_F_GETFD = 1
- const m_F_GETFL = 3
- const m_F_GETLEASE = 1025
- const m_F_GETLK = 5
- const m_F_GETLK64 = "F_GETLK"
- const m_F_GETOWN = 9
- const m_F_GETOWNER_UIDS = 17
- const m_F_GETOWN_EX = 16
- const m_F_GETPIPE_SZ = 1032
- const m_F_GETSIG = 11
- const m_F_GET_FILE_RW_HINT = 1037
- const m_F_GET_RW_HINT = 1035
- const m_F_GET_SEALS = 1034
- const m_F_NOTIFY = 1026
- const m_F_OFD_GETLK = 36
- const m_F_OFD_SETLK = 37
- const m_F_OFD_SETLKW = 38
- const m_F_OWNER_GID = 2
- const m_F_OWNER_PGRP = 2
- const m_F_OWNER_PID = 1
- const m_F_OWNER_TID = 0
- const m_F_RDLCK = 0
- const m_F_SEAL_FUTURE_WRITE = 0x0010
- const m_F_SEAL_GROW = 0x0004
- const m_F_SEAL_SEAL = 0x0001
- const m_F_SEAL_SHRINK = 0x0002
- const m_F_SEAL_WRITE = 0x0008
- const m_F_SETFD = 2
- const m_F_SETFL = 4
- const m_F_SETLEASE = 1024
- const m_F_SETLK = 6
- const m_F_SETLK64 = "F_SETLK"
- const m_F_SETLKW = 7
- const m_F_SETLKW64 = "F_SETLKW"
- const m_F_SETOWN = 8
- const m_F_SETOWN_EX = 15
- const m_F_SETPIPE_SZ = 1031
- const m_F_SETSIG = 10
- const m_F_SET_FILE_RW_HINT = 1038
- const m_F_SET_RW_HINT = 1036
- const m_F_UNLCK = 2
- const m_F_WRLCK = 1
- const m_GZBUFSIZE = 8192
- const m_GZIP = 2
- const m_GZ_APPEND = 1
- const m_GZ_NONE = 0
- const m_GZ_READ = 7247
- const m_GZ_WRITE = 31153
- const m_LOOK = 0
- const m_L_ctermid = 20
- const m_L_cuserid = 20
- const m_L_tmpnam = 20
- const m_MAX_HANDLE_SZ = 128
- const m_O_APPEND = 02000
- const m_O_ASYNC = 020000
- const m_O_CLOEXEC = 02000000
- const m_O_CREAT = 0100
- const m_O_DIRECT = 040000
- const m_O_DIRECTORY = 0200000
- const m_O_DSYNC = 010000
- const m_O_EXCL = 0200
- const m_O_EXEC = "O_PATH"
- const m_O_LARGEFILE = 0100000
- const m_O_NDELAY = "O_NONBLOCK"
- const m_O_NOATIME = 01000000
- const m_O_NOCTTY = 0400
- const m_O_NOFOLLOW = 0400000
- const m_O_NONBLOCK = 04000
- const m_O_PATH = 010000000
- const m_O_RDONLY = 00
- const m_O_RDWR = 02
- const m_O_RSYNC = 04010000
- const m_O_SEARCH = "O_PATH"
- const m_O_SYNC = 04010000
- const m_O_TMPFILE = 020200000
- const m_O_TRUNC = 01000
- const m_O_TTY_INIT = 0
- const m_O_WRONLY = 01
- const m_POSIX_FADV_DONTNEED = 4
- const m_POSIX_FADV_NOREUSE = 5
- const m_POSIX_FADV_NORMAL = 0
- const m_POSIX_FADV_RANDOM = 1
- const m_POSIX_FADV_SEQUENTIAL = 2
- const m_POSIX_FADV_WILLNEED = 3
- const m_P_tmpdir = "/tmp"
- const m_RWF_WRITE_LIFE_NOT_SET = 0
- const m_RWH_WRITE_LIFE_EXTREME = 5
- const m_RWH_WRITE_LIFE_LONG = 4
- const m_RWH_WRITE_LIFE_MEDIUM = 3
- const m_RWH_WRITE_LIFE_NONE = 1
- const m_RWH_WRITE_LIFE_SHORT = 2
- const m_SPLICE_F_GIFT = 8
- const m_SPLICE_F_MORE = 4
- const m_SPLICE_F_MOVE = 1
- const m_SPLICE_F_NONBLOCK = 2
- const m_SYNC_FILE_RANGE_WAIT_AFTER = 4
- const m_SYNC_FILE_RANGE_WAIT_BEFORE = 1
- const m_SYNC_FILE_RANGE_WRITE = 2
- const m_S_IRGRP = 0040
- const m_S_IROTH = 0004
- const m_S_IRUSR = 0400
- const m_S_IRWXG = 0070
- const m_S_IRWXO = 0007
- const m_S_IRWXU = 0700
- const m_S_ISGID = 02000
- const m_S_ISUID = 04000
- const m_S_ISVTX = 01000
- const m_S_IWGRP = 0020
- const m_S_IWOTH = 0002
- const m_S_IWUSR = 0200
- const m_S_IXGRP = 0010
- const m_S_IXOTH = 0001
- const m_S_IXUSR = 0100
- const m_TMP_MAX = 10000
- const m__IOFBF = 0
- const m__IOLBF = 1
- const m__IONBF = 2
- const m__LARGEFILE_SOURCE = 1
- const m_creat64 = "creat"
- const m_fallocate64 = "fallocate"
- const m_fgetpos64 = "fgetpos"
- const m_flock64 = "flock"
- const m_fopen64 = "fopen"
- const m_fpos64_t = "fpos_t"
- const m_freopen64 = "freopen"
- const m_fseeko64 = "fseeko"
- const m_fsetpos64 = "fsetpos"
- const m_ftello64 = "ftello"
- const m_loff_t = "off_t"
- const m_open64 = "open"
- const m_openat64 = "openat"
- const m_posix_fadvise64 = "posix_fadvise"
- const m_posix_fallocate64 = "posix_fallocate"
- const m_tmpfile64 = "tmpfile"
- type t__isoc_va_list = uintptr
- type Tfpos_t = struct {
- F__lldata [0]int64
- F__align [0]float64
- F__opaque [16]uint8
- }
- type T_G_fpos64_t = Tfpos_t
- type Tcookie_io_functions_t = struct {
- Fread uintptr
- Fwrite uintptr
- Fseek uintptr
- Fclose1 uintptr
- }
- type T_IO_cookie_io_functions_t = Tcookie_io_functions_t
- type Tiovec = struct {
- Fiov_base uintptr
- Fiov_len Tsize_t
- }
- type Tflock = struct {
- Fl_type int16
- Fl_whence int16
- Fl_start Toff_t
- Fl_len Toff_t
- Fl_pid Tpid_t
- }
- type Tfile_handle = struct {
- Fhandle_bytes uint32
- Fhandle_type int32
- }
- type Tf_owner_ex = struct {
- Ftype1 int32
- Fpid Tpid_t
- }
- type Tgz_state = struct {
- Fx TgzFile_s
- Fmode int32
- Ffd int32
- Fpath uintptr
- Fsize uint32
- Fwant uint32
- Fin uintptr
- Fout uintptr
- Fdirect int32
- Fhow int32
- Fstart Toff_t
- Feof int32
- Fpast int32
- Flevel int32
- Fstrategy int32
- Freset int32
- Fskip Toff_t
- Fseek int32
- Ferr int32
- Fmsg uintptr
- Fstrm Tz_stream
- }
- type Tgz_statep = uintptr
- func XzlibVersion(tls *libc.TLS) (r uintptr) {
- return __ccgo_ts
- }
- func XzlibCompileFlags(tls *libc.TLS) (r TuLong) {
- var flags TuLong
- _ = flags
- flags = uint64(0)
- switch libc.Int32FromUint64(libc.Uint64FromInt64(4)) {
- case int32(2):
- case int32(4):
- flags += uint64(1)
- case int32(8):
- flags += uint64(2)
- default:
- flags += uint64(3)
- }
- switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
- case int32(2):
- case int32(4):
- flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(2))
- case int32(8):
- flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(2))
- default:
- flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(2))
- }
- switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
- case int32(2):
- case int32(4):
- flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(4))
- case int32(8):
- flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(4))
- default:
- flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(4))
- }
- switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
- case int32(2):
- case int32(4):
- flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(6))
- case int32(8):
- flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(6))
- default:
- flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(6))
- }
- /*
- #if defined(ASMV) || defined(ASMINF)
- flags += 1 << 9;
- #endif
- */
- return flags
- }
- // C documentation
- //
- // /* exported to allow conversion of error code to string for compress() and
- // * uncompress()
- // */
- func XzError(tls *libc.TLS, err int32) (r uintptr) {
- var v1 int32
- _ = v1
- if err < -int32(6) || err > int32(2) {
- v1 = int32(9)
- } else {
- v1 = int32(2) - err
- }
- return Xz_errmsg[v1]
- }
- func Xzcalloc(tls *libc.TLS, opaque Tvoidpf, items uint32, size uint32) (r Tvoidpf) {
- _ = opaque
- return libc.Xmalloc(tls, uint64(items*size))
- }
- func Xzcfree(tls *libc.TLS, opaque Tvoidpf, ptr Tvoidpf) {
- _ = opaque
- libc.Xfree(tls, ptr)
- }
- // C documentation
- //
- // /* ===========================================================================
- // Compresses the source buffer into the destination buffer. The level
- // parameter has the same meaning as in deflateInit. sourceLen is the byte
- // length of the source buffer. Upon entry, destLen is the total size of the
- // destination buffer, which must be at least 0.1% larger than sourceLen plus
- // 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
- //
- // compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- // memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- // Z_STREAM_ERROR if the level parameter is invalid.
- // */
- func Xcompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong, level int32) (r int32) {
- bp := tls.Alloc(112)
- defer tls.Free(112)
- var err, v3, v4 int32
- var left TuLong
- var max TuInt
- var v1, v2 uint32
- var _ /* stream at bp+0 */ Tz_stream
- _, _, _, _, _, _, _ = err, left, max, v1, v2, v3, v4
- max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
- left = *(*TuLongf)(unsafe.Pointer(destLen))
- *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
- (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
- (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
- (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
- err = XdeflateInit_(tls, bp, level, __ccgo_ts, libc.Int32FromInt64(112))
- if err != m_Z_OK {
- return err
- }
- (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
- (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
- (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
- (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
- for cond := true; cond; cond = err == m_Z_OK {
- if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
- if left > uint64(max) {
- v1 = max
- } else {
- v1 = uint32(left)
- }
- (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
- left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
- }
- if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
- if sourceLen > uint64(max) {
- v2 = max
- } else {
- v2 = uint32(sourceLen)
- }
- (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
- sourceLen -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
- }
- if sourceLen != 0 {
- v3 = m_Z_NO_FLUSH
- } else {
- v3 = int32(m_Z_FINISH)
- }
- err = Xdeflate(tls, bp, v3)
- }
- *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
- XdeflateEnd(tls, bp)
- if err == int32(m_Z_STREAM_END) {
- v4 = m_Z_OK
- } else {
- v4 = err
- }
- return v4
- }
- // C documentation
- //
- // /* ===========================================================================
- // */
- func Xcompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong) (r int32) {
- return Xcompress2(tls, dest, destLen, source, sourceLen, -int32(1))
- }
- // C documentation
- //
- // /* ===========================================================================
- // If the default memLevel or windowBits for deflateInit() is changed, then
- // this function needs to be updated.
- // */
- func XcompressBound(tls *libc.TLS, sourceLen TuLong) (r TuLong) {
- return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13)
- }
- // C documentation
- //
- // /* ===========================================================================
- // Decompresses the source buffer into the destination buffer. *sourceLen is
- // the byte length of the source buffer. Upon entry, *destLen is the total size
- // of the destination buffer, which must be large enough to hold the entire
- // uncompressed data. (The size of the uncompressed data must have been saved
- // previously by the compressor and transmitted to the decompressor by some
- // mechanism outside the scope of this compression library.) Upon exit,
- // *destLen is the size of the decompressed data and *sourceLen is the number
- // of source bytes consumed. Upon return, source + *sourceLen points to the
- // first unused input byte.
- //
- // uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
- // memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
- // Z_DATA_ERROR if the input data was corrupted, including if the input data is
- // an incomplete zlib stream.
- // */
- func Xuncompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen uintptr) (r int32) {
- bp := tls.Alloc(128)
- defer tls.Free(128)
- var err, v3, v4, v5 int32
- var left, len1 TuLong
- var max TuInt
- var v1, v2 uint32
- var _ /* buf at bp+112 */ [1]TByte
- var _ /* stream at bp+0 */ Tz_stream
- _, _, _, _, _, _, _, _, _ = err, left, len1, max, v1, v2, v3, v4, v5
- max = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* for detection of incomplete stream when *destLen == 0 */
- len1 = *(*TuLong)(unsafe.Pointer(sourceLen))
- if *(*TuLongf)(unsafe.Pointer(destLen)) != 0 {
- left = *(*TuLongf)(unsafe.Pointer(destLen))
- *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
- } else {
- left = uint64(1)
- dest = bp + 112
- }
- (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
- (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
- (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
- (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
- (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
- err = XinflateInit_(tls, bp, __ccgo_ts, libc.Int32FromInt64(112))
- if err != m_Z_OK {
- return err
- }
- (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
- (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
- for cond := true; cond; cond = err == m_Z_OK {
- if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
- if left > uint64(max) {
- v1 = max
- } else {
- v1 = uint32(left)
- }
- (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
- left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
- }
- if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
- if len1 > uint64(max) {
- v2 = max
- } else {
- v2 = uint32(len1)
- }
- (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
- len1 -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
- }
- err = Xinflate(tls, bp, m_Z_NO_FLUSH)
- }
- *(*TuLong)(unsafe.Pointer(sourceLen)) -= len1 + uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
- if dest != bp+112 {
- *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
- } else {
- if (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out != 0 && err == -int32(5) {
- left = uint64(1)
- }
- }
- XinflateEnd(tls, bp)
- if err == int32(m_Z_STREAM_END) {
- v3 = m_Z_OK
- } else {
- if err == int32(m_Z_NEED_DICT) {
- v4 = -int32(3)
- } else {
- if err == -int32(5) && left+uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out) != 0 {
- v5 = -int32(3)
- } else {
- v5 = err
- }
- v4 = v5
- }
- v3 = v4
- }
- return v3
- }
- func Xuncompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, _sourceLen TuLong) (r int32) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- *(*TuLong)(unsafe.Pointer(bp)) = _sourceLen
- return Xuncompress2(tls, dest, destLen, source, bp)
- }
- // C documentation
- //
- // /* gzclose() is in a separate file so that it is linked in only if it is used.
- // That way the other gzclose functions can be used instead to avoid linking in
- // unneeded compression or decompression routines. */
- func Xgzclose(tls *libc.TLS, file TgzFile) (r int32) {
- var state Tgz_statep
- var v1 int32
- _, _ = state, v1
- if file == libc.UintptrFromInt32(0) {
- return -int32(2)
- }
- state = file
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
- v1 = Xgzclose_r(tls, file)
- } else {
- v1 = Xgzclose_w(tls, file)
- }
- return v1
- }
- const m_INT_MAX1 = 2147483647
- const m_LSEEK = "lseek"
- const m_O_APPEND1 = 1024
- const m_O_CLOEXEC1 = 524288
- const m_O_CREAT1 = 64
- const m_O_EXCL1 = 128
- const m_O_LARGEFILE1 = 32768
- const m_O_RDONLY1 = 0
- const m_O_TRUNC1 = 512
- const m_O_WRONLY1 = 1
- // C documentation
- //
- // /* Reset gzip file state */
- func _gz_reset(tls *libc.TLS, state Tgz_statep) {
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) /* no output data available */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* for reading ... */
- (*Tgz_state)(unsafe.Pointer(state)).Feof = 0 /* not at end of file */
- (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0 /* have not read past end yet */
- (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK /* look for gzip header */
- } else { /* for writing ... */
- (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
- } /* no deflateReset pending */
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0 /* no seek request pending */
- Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0)) /* clear error */
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos = 0 /* no uncompressed data yet */
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0) /* no input data yet */
- }
- // C documentation
- //
- // /* Open a gzip file either by name or file descriptor. */
- func _gz_open(tls *libc.TLS, path uintptr, fd int32, mode uintptr) (r TgzFile) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- var cloexec, exclusive, oflag, v1, v2, v3, v4, v5 int32
- var len1 Tz_size_t
- var state Tgz_statep
- _, _, _, _, _, _, _, _, _, _ = cloexec, exclusive, len1, oflag, state, v1, v2, v3, v4, v5
- cloexec = 0
- exclusive = 0
- /* check input */
- if path == libc.UintptrFromInt32(0) {
- return libc.UintptrFromInt32(0)
- }
- /* allocate gzFile structure to return */
- state = libc.Xmalloc(tls, uint64(240))
- if state == libc.UintptrFromInt32(0) {
- return libc.UintptrFromInt32(0)
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0) /* no buffers allocated yet */
- (*Tgz_state)(unsafe.Pointer(state)).Fwant = uint32(m_GZBUFSIZE) /* requested buffer size */
- (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0) /* no error message yet */
- /* interpret mode */
- (*Tgz_state)(unsafe.Pointer(state)).Fmode = m_GZ_NONE
- (*Tgz_state)(unsafe.Pointer(state)).Flevel = -int32(1)
- (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = m_Z_DEFAULT_STRATEGY
- (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
- for *(*uint8)(unsafe.Pointer(mode)) != 0 {
- if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) >= int32('0') && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) <= int32('9') {
- (*Tgz_state)(unsafe.Pointer(state)).Flevel = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) - int32('0')
- } else {
- switch libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) {
- case int32('r'):
- (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_READ)
- case int32('w'):
- (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE)
- case int32('a'):
- (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_APPEND)
- case int32('+'): /* can't read and write at the same time */
- libc.Xfree(tls, state)
- return libc.UintptrFromInt32(0)
- case int32('b'): /* ignore -- will request binary anyway */
- case int32('e'):
- cloexec = int32(1)
- case int32('x'):
- exclusive = int32(1)
- case int32('f'):
- (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FILTERED)
- case int32('h'):
- (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_HUFFMAN_ONLY)
- case int32('R'):
- (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_RLE)
- case int32('F'):
- (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FIXED)
- case int32('T'):
- (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
- default: /* could consider as an error, but just ignore */
- }
- }
- mode++
- }
- /* must provide an "r", "w", or "a" */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == m_GZ_NONE {
- libc.Xfree(tls, state)
- return libc.UintptrFromInt32(0)
- }
- /* can't force transparent read */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
- if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
- libc.Xfree(tls, state)
- return libc.UintptrFromInt32(0)
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1) /* for empty file */
- }
- /* save the path name for error messages */
- len1 = libc.Xstrlen(tls, path)
- (*Tgz_state)(unsafe.Pointer(state)).Fpath = libc.Xmalloc(tls, len1+uint64(1))
- if (*Tgz_state)(unsafe.Pointer(state)).Fpath == libc.UintptrFromInt32(0) {
- libc.Xfree(tls, state)
- return libc.UintptrFromInt32(0)
- }
- libc.X__builtin_snprintf(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath, len1+uint64(1), __ccgo_ts+584, libc.VaList(bp+8, path))
- /* compute the flags for open() */
- if cloexec != 0 {
- v1 = int32(m_O_CLOEXEC1)
- } else {
- v1 = 0
- }
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
- v2 = m_O_RDONLY1
- } else {
- if exclusive != 0 {
- v3 = int32(m_O_EXCL1)
- } else {
- v3 = 0
- }
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_WRITE) {
- v4 = int32(m_O_TRUNC1)
- } else {
- v4 = int32(m_O_APPEND1)
- }
- v2 = libc.Int32FromInt32(m_O_WRONLY1) | libc.Int32FromInt32(m_O_CREAT1) | v3 | v4
- }
- oflag = int32(m_O_LARGEFILE1) | v1 | v2
- /* open the file with the appropriate flags (or just use fd) */
- if fd > -int32(1) {
- v5 = fd
- } else {
- v5 = libc.Xopen(tls, path, oflag, libc.VaList(bp+8, int32(0666)))
- }
- (*Tgz_state)(unsafe.Pointer(state)).Ffd = v5
- if (*Tgz_state)(unsafe.Pointer(state)).Ffd == -int32(1) {
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
- libc.Xfree(tls, state)
- return libc.UintptrFromInt32(0)
- }
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_APPEND) {
- libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(2)) /* so gzoffset() is correct */
- (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE) /* simplify later checks */
- }
- /* save the current position for rewinding (only if reading) */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
- (*Tgz_state)(unsafe.Pointer(state)).Fstart = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(1))
- if (*Tgz_state)(unsafe.Pointer(state)).Fstart == int64(-int32(1)) {
- (*Tgz_state)(unsafe.Pointer(state)).Fstart = 0
- }
- }
- /* initialize stream */
- _gz_reset(tls, state)
- /* return stream */
- return state
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzopen(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
- return _gz_open(tls, path, -int32(1), mode)
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzopen64(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
- return _gz_open(tls, path, -int32(1), mode)
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzdopen(tls *libc.TLS, fd int32, mode uintptr) (r TgzFile) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- var gz TgzFile
- var path, v1 uintptr
- var v2 bool
- _, _, _, _ = gz, path, v1, v2
- if v2 = fd == -int32(1); !v2 {
- v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4))
- path = v1
- }
- if v2 || v1 == libc.UintptrFromInt32(0) {
- return libc.UintptrFromInt32(0)
- }
- libc.X__builtin_snprintf(tls, path, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4), __ccgo_ts+587, libc.VaList(bp+8, fd))
- gz = _gz_open(tls, path, fd, mode)
- libc.Xfree(tls, path)
- return gz
- }
- /* -- see zlib.h -- */
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzbuffer(tls *libc.TLS, file TgzFile, size uint32) (r int32) {
- var state Tgz_statep
- _ = state
- /* get internal structure and check integrity */
- if file == libc.UintptrFromInt32(0) {
- return -int32(1)
- }
- state = file
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
- return -int32(1)
- }
- /* make sure we haven't already allocated memory */
- if (*Tgz_state)(unsafe.Pointer(state)).Fsize != uint32(0) {
- return -int32(1)
- }
- /* check and set requested size */
- if size<<int32(1) < size {
- return -int32(1)
- } /* need to be able to double it */
- if size < uint32(8) {
- size = uint32(8)
- } /* needed to behave well with flushing */
- (*Tgz_state)(unsafe.Pointer(state)).Fwant = size
- return 0
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzrewind(tls *libc.TLS, file TgzFile) (r int32) {
- var state Tgz_statep
- _ = state
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(1)
- }
- state = file
- /* check that we're reading and that there's no error */
- 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) {
- return -int32(1)
- }
- /* back up and start over */
- if libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fstart, 0) == int64(-int32(1)) {
- return -int32(1)
- }
- _gz_reset(tls, state)
- return 0
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzseek64(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
- var n, v1 uint32
- var ret Toff_t
- var state Tgz_statep
- _, _, _, _ = n, ret, state, v1
- /* get internal structure and check integrity */
- if file == libc.UintptrFromInt32(0) {
- return int64(-int32(1))
- }
- state = file
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
- return int64(-int32(1))
- }
- /* check that there's no error */
- if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
- return int64(-int32(1))
- }
- /* can only seek from start or relative to current position */
- if whence != 0 && whence != int32(1) {
- return int64(-int32(1))
- }
- /* normalize offset to a SEEK_CUR specification */
- if whence == 0 {
- offset -= (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
- } else {
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- offset += (*Tgz_state)(unsafe.Pointer(state)).Fskip
- }
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- /* if within raw area while reading, just go there */
- 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 {
- ret = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, offset-libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave), int32(1))
- if ret == int64(-int32(1)) {
- return int64(-int32(1))
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
- (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
- (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += offset
- return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
- }
- /* calculate skip amount, rewinding if needed for back seek when reading */
- if offset < 0 {
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) { /* writing -- can't go backwards */
- return int64(-int32(1))
- }
- offset += (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
- if offset < 0 { /* before start of file! */
- return int64(-int32(1))
- }
- if Xgzrewind(tls, file) == -int32(1) { /* rewind, then skip to offset */
- return int64(-int32(1))
- }
- }
- /* if reading, skip what's in output buffer (one less gzgetc() check) */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
- 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 {
- v1 = libc.Uint32FromInt64(offset)
- } else {
- v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
- }
- n = v1
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
- offset -= libc.Int64FromUint32(n)
- }
- /* request skip (if not zero) */
- if offset != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = int32(1)
- (*Tgz_state)(unsafe.Pointer(state)).Fskip = offset
- }
- return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + offset
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzseek(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
- var ret Toff_t
- var v1 int64
- _, _ = ret, v1
- ret = Xgzseek64(tls, file, offset, whence)
- if ret == ret {
- v1 = ret
- } else {
- v1 = int64(-int32(1))
- }
- return v1
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgztell64(tls *libc.TLS, file TgzFile) (r Toff_t) {
- var state Tgz_statep
- var v1 int64
- _, _ = state, v1
- /* get internal structure and check integrity */
- if file == libc.UintptrFromInt32(0) {
- return int64(-int32(1))
- }
- state = file
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
- return int64(-int32(1))
- }
- /* return position */
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- v1 = (*Tgz_state)(unsafe.Pointer(state)).Fskip
- } else {
- v1 = 0
- }
- return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + v1
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgztell(tls *libc.TLS, file TgzFile) (r Toff_t) {
- var ret Toff_t
- var v1 int64
- _, _ = ret, v1
- ret = Xgztell64(tls, file)
- if ret == ret {
- v1 = ret
- } else {
- v1 = int64(-int32(1))
- }
- return v1
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzoffset64(tls *libc.TLS, file TgzFile) (r Toff_t) {
- var offset Toff_t
- var state Tgz_statep
- _, _ = offset, state
- /* get internal structure and check integrity */
- if file == libc.UintptrFromInt32(0) {
- return int64(-int32(1))
- }
- state = file
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
- return int64(-int32(1))
- }
- /* compute and return effective offset in file */
- offset = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(1))
- if offset == int64(-int32(1)) {
- return int64(-int32(1))
- }
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* reading */
- offset -= libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)
- } /* don't count buffered input */
- return offset
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzoffset(tls *libc.TLS, file TgzFile) (r Toff_t) {
- var ret Toff_t
- var v1 int64
- _, _ = ret, v1
- ret = Xgzoffset64(tls, file)
- if ret == ret {
- v1 = ret
- } else {
- v1 = int64(-int32(1))
- }
- return v1
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzeof(tls *libc.TLS, file TgzFile) (r int32) {
- var state Tgz_statep
- var v1 int32
- _, _ = state, v1
- /* get internal structure and check integrity */
- if file == libc.UintptrFromInt32(0) {
- return 0
- }
- state = file
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
- return 0
- }
- /* return end-of-file state */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
- v1 = (*Tgz_state)(unsafe.Pointer(state)).Fpast
- } else {
- v1 = 0
- }
- return v1
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzerror(tls *libc.TLS, file TgzFile, errnum uintptr) (r uintptr) {
- var state Tgz_statep
- var v1, v2 uintptr
- _, _, _ = state, v1, v2
- /* get internal structure and check integrity */
- if file == libc.UintptrFromInt32(0) {
- return libc.UintptrFromInt32(0)
- }
- state = file
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
- return libc.UintptrFromInt32(0)
- }
- /* return error information */
- if errnum != libc.UintptrFromInt32(0) {
- *(*int32)(unsafe.Pointer(errnum)) = (*Tgz_state)(unsafe.Pointer(state)).Ferr
- }
- if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(4) {
- v1 = __ccgo_ts + 595
- } else {
- if (*Tgz_state)(unsafe.Pointer(state)).Fmsg == libc.UintptrFromInt32(0) {
- v2 = __ccgo_ts + 494
- } else {
- v2 = (*Tgz_state)(unsafe.Pointer(state)).Fmsg
- }
- v1 = v2
- }
- return v1
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzclearerr(tls *libc.TLS, file TgzFile) {
- var state Tgz_statep
- _ = state
- /* get internal structure and check integrity */
- if file == libc.UintptrFromInt32(0) {
- return
- }
- state = file
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
- return
- }
- /* clear error and end-of-file */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
- (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
- (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
- }
- Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
- }
- // C documentation
- //
- // /* Create an error message in allocated memory and set state->err and
- // state->msg accordingly. Free any previous error message already there. Do
- // not try to free or allocate space if the error is Z_MEM_ERROR (out of
- // memory). Simply save the error message as a static string. If there is an
- // allocation failure constructing the error message, then convert the error to
- // out of memory. */
- func Xgz_error(tls *libc.TLS, state Tgz_statep, err int32, msg uintptr) {
- bp := tls.Alloc(32)
- defer tls.Free(32)
- var v1 uintptr
- _ = v1
- /* free previously allocated message and clear */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmsg != libc.UintptrFromInt32(0) {
- if (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(4) {
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg)
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0)
- }
- /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */
- if err != m_Z_OK && err != -int32(5) {
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
- }
- /* set error code, and if no message, then done */
- (*Tgz_state)(unsafe.Pointer(state)).Ferr = err
- if msg == libc.UintptrFromInt32(0) {
- return
- }
- /* for an out of memory error, return literal string when requested */
- if err == -int32(4) {
- return
- }
- /* construct error message with path */
- v1 = libc.Xmalloc(tls, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3))
- (*Tgz_state)(unsafe.Pointer(state)).Fmsg = v1
- if v1 == libc.UintptrFromInt32(0) {
- (*Tgz_state)(unsafe.Pointer(state)).Ferr = -int32(4)
- return
- }
- libc.X__builtin_snprintf(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3), __ccgo_ts+609, libc.VaList(bp+8, (*Tgz_state)(unsafe.Pointer(state)).Fpath, __ccgo_ts+616, msg))
- }
- // C documentation
- //
- // /* portably return maximum value for an int (when limits.h presumed not
- // available) -- we need to do this to cover cases where 2's complement not
- // used, since C standard permits 1's complement and sign-bit representations,
- // otherwise we could just use ((unsigned)-1) >> 1 */
- func Xgz_intmax(tls *libc.TLS) (r uint32) {
- return uint32(m_INT_MAX1)
- }
- const m_INT_MAX2 = 0x7fffffff
- const m_O_APPEND2 = 02000
- const m_O_CLOEXEC2 = 02000000
- const m_O_CREAT2 = 0100
- const m_O_EXCL2 = 0200
- const m_O_LARGEFILE2 = 0100000
- const m_O_RDONLY2 = 00
- const m_O_TRUNC2 = 01000
- const m_O_WRONLY2 = 01
- // C documentation
- //
- // /* Use read() to load a buffer -- return -1 on error, otherwise 0. Read from
- // state->fd, and update state->eof, state->err, and state->msg as appropriate.
- // This function needs to loop on read(), since read() is not guaranteed to
- // read the number of bytes requested, depending on the type of descriptor. */
- func _gz_load(tls *libc.TLS, state Tgz_statep, buf uintptr, len1 uint32, have uintptr) (r int32) {
- var get, max uint32
- var ret int32
- _, _, _ = get, max, ret
- max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
- *(*uint32)(unsafe.Pointer(have)) = uint32(0)
- for cond := true; cond; cond = *(*uint32)(unsafe.Pointer(have)) < len1 {
- get = len1 - *(*uint32)(unsafe.Pointer(have))
- if get > max {
- get = max
- }
- ret = int32(libc.Xread(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, buf+uintptr(*(*uint32)(unsafe.Pointer(have))), uint64(get)))
- if ret <= 0 {
- break
- }
- *(*uint32)(unsafe.Pointer(have)) += libc.Uint32FromInt32(ret)
- }
- if ret < 0 {
- Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))))
- return -int32(1)
- }
- if ret == 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
- }
- return 0
- }
- // C documentation
- //
- // /* Load up input buffer and set eof flag if last data loaded -- return -1 on
- // error, 0 otherwise. Note that the eof flag is set when the end of the input
- // file is reached, even though there may be unused data in the buffer. Once
- // that data has been used, no more attempts will be made to read the file.
- // If strm->avail_in != 0, then the current data is moved to the beginning of
- // the input buffer, and then the remainder of the buffer is loaded with the
- // available data from the input file. */
- func _gz_avail(tls *libc.TLS, state Tgz_statep) (r int32) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- var n, v1 uint32
- var p, q, v3, v4 uintptr
- var strm Tz_streamp
- var _ /* got at bp+0 */ uint32
- _, _, _, _, _, _, _ = n, p, q, strm, v1, v3, v4
- strm = state + 128
- if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
- return -int32(1)
- }
- if (*Tgz_state)(unsafe.Pointer(state)).Feof == 0 {
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 { /* copy what's there to the start */
- p = (*Tgz_state)(unsafe.Pointer(state)).Fin
- q = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
- n = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
- for {
- v3 = p
- p++
- v4 = q
- q++
- *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(v4))
- goto _2
- _2:
- ;
- n--
- v1 = n
- if !(v1 != 0) {
- break
- }
- }
- }
- 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) {
- return -int32(1)
- }
- *(*TuInt)(unsafe.Pointer(strm + 8)) += *(*uint32)(unsafe.Pointer(bp))
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
- }
- return 0
- }
- // C documentation
- //
- // /* Look for gzip header, set up for inflate or copy. state->x.have must be 0.
- // If this is the first time in, allocate required memory. state->how will be
- // left unchanged if there is no more input data available, will be set to COPY
- // if there is no gzip header and direct copying will be performed, or it will
- // be set to GZIP for decompression. If direct copying, then leftover input
- // data from the input buffer will be copied to the output buffer. In that
- // case, all further file reads will be directly to either the output buffer or
- // a user buffer. If decompressing, the inflate state will be initialized.
- // gz_look() will return 0 on success or -1 on failure. */
- func _gz_look(tls *libc.TLS, state Tgz_statep) (r int32) {
- var strm Tz_streamp
- _ = strm
- strm = state + 128
- /* allocate read buffers and inflate memory */
- if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) {
- /* allocate buffers */
- (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
- (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
- if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) || (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
- Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
- return -int32(1)
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
- /* allocate inflate memory */
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzalloc = uintptr(m_Z_NULL)
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzfree = uintptr(m_Z_NULL)
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fopaque = uintptr(m_Z_NULL)
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = uintptr(m_Z_NULL)
- if XinflateInit2_(tls, state+128, libc.Int32FromInt32(15)+libc.Int32FromInt32(16), __ccgo_ts, libc.Int32FromInt64(112)) != m_Z_OK { /* gunzip */
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
- (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0)
- Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
- return -int32(1)
- }
- }
- /* get at least the magic bytes in the input buffer */
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in < uint32(2) {
- if _gz_avail(tls, state) == -int32(1) {
- return -int32(1)
- }
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
- return 0
- }
- }
- /* look for gzip magic bytes -- if there, do gzip decoding (note: there is
- a logical dilemma here when considering the case of a partially written
- gzip file, to wit, if a single 31 byte is written, then we cannot tell
- whether this is a single-byte file, or just a partially written gzip
- file -- for here we assume that if a gzip file is being written, then
- the header will be written in a single operation, so that reading a
- single byte is sufficient indication that it is not a gzip file) */
- 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) {
- XinflateReset(tls, strm)
- (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_GZIP)
- (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
- return 0
- }
- /* no gzip header -- if we were decoding gzip before, then this is trailing
- garbage. Ignore the trailing garbage and finish. */
- if (*Tgz_state)(unsafe.Pointer(state)).Fdirect == 0 {
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
- (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
- return 0
- }
- /* doing raw i/o, copy any leftover input to output -- this assumes that
- the output buffer is larger than the input buffer, which also assures
- space for gzungetc() */
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
- libc.Xmemcpy(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64((*Tz_stream)(unsafe.Pointer(strm)).Favail_in))
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
- (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_COPY)
- (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
- return 0
- }
- // C documentation
- //
- // /* Decompress from input to the provided next_out and avail_out in the state.
- // On return, state->x.have and state->x.next point to the just decompressed
- // data. If the gzip stream completes, state->how is reset to LOOK to look for
- // the next gzip stream or raw data, once state->x.have is depleted. Returns 0
- // on success, -1 on failure. */
- func _gz_decomp(tls *libc.TLS, state Tgz_statep) (r int32) {
- var had uint32
- var ret int32
- var strm Tz_streamp
- var v1 uintptr
- _, _, _, _ = had, ret, strm, v1
- ret = m_Z_OK
- strm = state + 128
- /* fill output buffer up to end of deflate stream */
- had = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
- for cond := true; cond; cond = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out != 0 && ret != int32(m_Z_STREAM_END) {
- /* get more input for inflate() */
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && _gz_avail(tls, state) == -int32(1) {
- return -int32(1)
- }
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
- Xgz_error(tls, state, -int32(5), __ccgo_ts+619)
- break
- }
- /* decompress and handle errors */
- ret = Xinflate(tls, strm, m_Z_NO_FLUSH)
- if ret == -int32(2) || ret == int32(m_Z_NEED_DICT) {
- Xgz_error(tls, state, -int32(2), __ccgo_ts+642)
- return -int32(1)
- }
- if ret == -int32(4) {
- Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
- return -int32(1)
- }
- if ret == -int32(3) { /* deflate stream invalid */
- if (*Tz_stream)(unsafe.Pointer(strm)).Fmsg == libc.UintptrFromInt32(0) {
- v1 = __ccgo_ts + 681
- } else {
- v1 = (*Tz_stream)(unsafe.Pointer(strm)).Fmsg
- }
- Xgz_error(tls, state, -int32(3), v1)
- return -int32(1)
- }
- }
- /* update available output */
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = had - (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out - uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
- /* if the gzip stream completed successfully, look for another */
- if ret == int32(m_Z_STREAM_END) {
- (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK
- }
- /* good decompression */
- return 0
- }
- // C documentation
- //
- // /* Fetch data and put it in the output buffer. Assumes state->x.have is 0.
- // Data is either copied from the input file or decompressed from the input
- // file depending on state->how. If state->how is LOOK, then a gzip header is
- // looked for to determine whether to copy or decompress. Returns -1 on error,
- // otherwise 0. gz_fetch() will leave state->how as COPY or GZIP unless the
- // end of the input file has been reached and all data has been processed. */
- func _gz_fetch(tls *libc.TLS, state Tgz_statep) (r int32) {
- var strm Tz_streamp
- _ = strm
- strm = state + 128
- 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) {
- switch (*Tgz_state)(unsafe.Pointer(state)).Fhow {
- case m_LOOK: /* -> LOOK, COPY (only if never GZIP), or GZIP */
- if _gz_look(tls, state) == -int32(1) {
- return -int32(1)
- }
- if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK {
- return 0
- }
- case int32(m_COPY): /* -> COPY */
- if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fout, (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1), state) == -int32(1) {
- return -int32(1)
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
- return 0
- case int32(m_GZIP): /* -> GZIP or LOOK (if end of gzip stream) */
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize << int32(1)
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
- if _gz_decomp(tls, state) == -int32(1) {
- return -int32(1)
- }
- }
- }
- return 0
- }
- // C documentation
- //
- // /* Skip len uncompressed bytes of output. Return -1 on error, 0 on success. */
- func _gz_skip(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
- var n, v1 uint32
- _, _ = n, v1
- /* skip over len bytes or reach end-of-file, whichever comes first */
- for len1 != 0 {
- /* skip over whatever is in output buffer */
- if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
- 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 {
- v1 = libc.Uint32FromInt64(len1)
- } else {
- v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
- }
- n = v1
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
- len1 -= libc.Int64FromUint32(n)
- } else {
- if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
- break
- } else {
- /* get more output, looking for header if required */
- if _gz_fetch(tls, state) == -int32(1) {
- return -int32(1)
- }
- }
- }
- }
- return 0
- }
- // C documentation
- //
- // /* Read len bytes into buf from file, or less than len up to the end of the
- // input. Return the number of bytes read. If zero is returned, either the
- // end of file was reached, or there was an error. state->err must be
- // consulted in that case to determine which. */
- func _gz_read(tls *libc.TLS, state Tgz_statep, buf Tvoidp, len1 Tz_size_t) (r Tz_size_t) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- var got Tz_size_t
- var _ /* n at bp+0 */ uint32
- _ = got
- /* if len is zero, avoid unnecessary operations */
- if len1 == uint64(0) {
- return uint64(0)
- }
- /* process a skip request */
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
- return uint64(0)
- }
- }
- /* get len bytes to buf, or less than len if at the end */
- got = uint64(0)
- for cond := true; cond; cond = len1 != 0 {
- /* set n to the maximum amount of len that fits in an unsigned int */
- *(*uint32)(unsafe.Pointer(bp)) = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
- if uint64(*(*uint32)(unsafe.Pointer(bp))) > len1 {
- *(*uint32)(unsafe.Pointer(bp)) = uint32(len1)
- }
- /* first just try copying data from the output buffer */
- if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
- if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave < *(*uint32)(unsafe.Pointer(bp)) {
- *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
- }
- libc.Xmemcpy(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(*(*uint32)(unsafe.Pointer(bp))))
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(*(*uint32)(unsafe.Pointer(bp)))
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= *(*uint32)(unsafe.Pointer(bp))
- } else {
- if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
- (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* tried to read past end */
- break
- } else {
- if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK || *(*uint32)(unsafe.Pointer(bp)) < (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
- /* get more output, looking for header if required */
- if _gz_fetch(tls, state) == -int32(1) {
- return uint64(0)
- }
- continue /* no progress yet -- go back to copy above */
- /* the copy above assures that we will leave with space in the
- output buffer, allowing at least one gzungetc() to succeed */
- } else {
- if (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) { /* read directly */
- if _gz_load(tls, state, buf, *(*uint32)(unsafe.Pointer(bp)), bp) == -int32(1) {
- return uint64(0)
- }
- } else { /* state->how == GZIP */
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_out = *(*uint32)(unsafe.Pointer(bp))
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_out = buf
- if _gz_decomp(tls, state) == -int32(1) {
- return uint64(0)
- }
- *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
- }
- }
- }
- }
- /* update progress */
- len1 -= uint64(*(*uint32)(unsafe.Pointer(bp)))
- buf = buf + uintptr(*(*uint32)(unsafe.Pointer(bp)))
- got += uint64(*(*uint32)(unsafe.Pointer(bp)))
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(*(*uint32)(unsafe.Pointer(bp)))
- }
- /* return number of bytes read into user buffer */
- return got
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzread(tls *libc.TLS, file TgzFile, buf Tvoidp, len1 uint32) (r int32) {
- var state Tgz_statep
- _ = state
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(1)
- }
- state = file
- /* check that we're reading and that there's no (serious) error */
- 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) {
- return -int32(1)
- }
- /* since an int is returned, make sure len fits in one, otherwise return
- with an error (this avoids a flaw in the interface) */
- if libc.Int32FromUint32(len1) < 0 {
- Xgz_error(tls, state, -int32(2), __ccgo_ts+703)
- return -int32(1)
- }
- /* read len or fewer bytes to buf */
- len1 = uint32(_gz_read(tls, state, buf, uint64(len1)))
- /* check for an error */
- if len1 == uint32(0) && (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
- return -int32(1)
- }
- /* return the number of bytes read (this is assured to fit in an int) */
- return libc.Int32FromUint32(len1)
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzfread(tls *libc.TLS, buf Tvoidp, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
- var len1 Tz_size_t
- var state Tgz_statep
- var v1 uint64
- _, _, _ = len1, state, v1
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return uint64(0)
- }
- state = file
- /* check that we're reading and that there's no (serious) error */
- 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) {
- return uint64(0)
- }
- /* compute bytes to read -- error on overflow */
- len1 = nitems * size
- if size != 0 && len1/size != nitems {
- Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
- return uint64(0)
- }
- /* read len or fewer bytes to buf, return the number of full items read */
- if len1 != 0 {
- v1 = _gz_read(tls, state, buf, len1) / size
- } else {
- v1 = uint64(0)
- }
- return v1
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzgetc(tls *libc.TLS, file TgzFile) (r int32) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- var state Tgz_statep
- var v1, v2 uintptr
- var v3 int32
- var _ /* buf at bp+0 */ [1]uint8
- _, _, _, _ = state, v1, v2, v3
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(1)
- }
- state = file
- /* check that we're reading and that there's no (serious) error */
- 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) {
- return -int32(1)
- }
- /* try output buffer (no need to check for skip request) */
- if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave--
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
- v2 = state + 8
- v1 = *(*uintptr)(unsafe.Pointer(v2))
- *(*uintptr)(unsafe.Pointer(v2))++
- return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v1)))
- }
- /* nothing there -- try gz_read() */
- if _gz_read(tls, state, bp, uint64(1)) < uint64(1) {
- v3 = -int32(1)
- } else {
- v3 = libc.Int32FromUint8((*(*[1]uint8)(unsafe.Pointer(bp)))[0])
- }
- return v3
- }
- func Xgzgetc_(tls *libc.TLS, file TgzFile) (r int32) {
- return Xgzgetc(tls, file)
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzungetc(tls *libc.TLS, c int32, file TgzFile) (r int32) {
- var dest, src, v1, v2 uintptr
- var state Tgz_statep
- _, _, _, _, _ = dest, src, state, v1, v2
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(1)
- }
- state = file
- /* in case this was just opened, set up the input buffer */
- 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) {
- _gz_look(tls, state)
- }
- /* check that we're reading and that there's no (serious) error */
- 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) {
- return -int32(1)
- }
- /* process a skip request */
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
- return -int32(1)
- }
- }
- /* can't push EOF */
- if c < 0 {
- return -int32(1)
- }
- /* if output buffer empty, put byte at end (allows more pushing) */
- if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(1)
- (*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)
- *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
- (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
- return c
- }
- /* if no room, give up (must have already done a gzungetc()) */
- if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
- Xgz_error(tls, state, -int32(3), __ccgo_ts+767)
- return -int32(1)
- }
- /* slide output data if needed and insert byte before existing data */
- if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext == (*Tgz_state)(unsafe.Pointer(state)).Fout {
- src = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
- dest = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1))
- for src > (*Tgz_state)(unsafe.Pointer(state)).Fout {
- dest--
- v1 = dest
- src--
- v2 = src
- *(*uint8)(unsafe.Pointer(v1)) = *(*uint8)(unsafe.Pointer(v2))
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = dest
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave++
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext--
- *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
- (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
- return c
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzgets(tls *libc.TLS, file TgzFile, buf uintptr, len1 int32) (r uintptr) {
- var eol, str uintptr
- var left, n, v1 uint32
- var state Tgz_statep
- _, _, _, _, _, _ = eol, left, n, state, str, v1
- /* check parameters and get internal structure */
- if file == libc.UintptrFromInt32(0) || buf == libc.UintptrFromInt32(0) || len1 < int32(1) {
- return libc.UintptrFromInt32(0)
- }
- state = file
- /* check that we're reading and that there's no (serious) error */
- 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) {
- return libc.UintptrFromInt32(0)
- }
- /* process a skip request */
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
- return libc.UintptrFromInt32(0)
- }
- }
- /* copy output bytes up to new line or len - 1, whichever comes first --
- append a terminating zero to the string (we don't check for a zero in
- the contents, let the user worry about that) */
- str = buf
- left = libc.Uint32FromInt32(len1) - uint32(1)
- if left != 0 {
- for cond := true; cond; cond = left != 0 && eol == libc.UintptrFromInt32(0) {
- /* assure that something is in the output buffer */
- if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && _gz_fetch(tls, state) == -int32(1) {
- return libc.UintptrFromInt32(0)
- } /* error */
- if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { /* end of file */
- (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* read past end */
- break /* return what we have */
- }
- /* look for end-of-line in current output buffer */
- if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > left {
- v1 = left
- } else {
- v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
- }
- n = v1
- eol = libc.Xmemchr(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, int32('\n'), uint64(n))
- if eol != libc.UintptrFromInt32(0) {
- n = libc.Uint32FromInt64(int64(eol)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) + uint32(1)
- }
- /* copy through end-of-line, or remainder if not found */
- libc.Xmemcpy(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(n))
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
- left -= n
- buf += uintptr(n)
- }
- }
- /* return terminated string, or if nothing, end of file */
- if buf == str {
- return libc.UintptrFromInt32(0)
- }
- *(*uint8)(unsafe.Pointer(buf)) = uint8(0)
- return str
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzdirect(tls *libc.TLS, file TgzFile) (r int32) {
- var state Tgz_statep
- _ = state
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return 0
- }
- state = file
- /* if the state is not known, but we can find out, then do so (this is
- mainly for right after a gzopen() or gzdopen()) */
- 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) {
- _gz_look(tls, state)
- }
- /* return 1 if transparent, 0 if processing a gzip stream */
- return (*Tgz_state)(unsafe.Pointer(state)).Fdirect
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzclose_r(tls *libc.TLS, file TgzFile) (r int32) {
- var err, ret, v1, v2 int32
- var state Tgz_statep
- _, _, _, _, _ = err, ret, state, v1, v2
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(2)
- }
- state = file
- /* check that we're reading */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) {
- return -int32(2)
- }
- /* free memory and close file */
- if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
- XinflateEnd(tls, state+128)
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
- }
- if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(5) {
- v1 = -int32(5)
- } else {
- v1 = m_Z_OK
- }
- err = v1
- Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
- ret = libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd)
- libc.Xfree(tls, state)
- if ret != 0 {
- v2 = -int32(1)
- } else {
- v2 = err
- }
- return v2
- }
- // C documentation
- //
- // /* Initialize state for writing a gzip file. Mark initialization by setting
- // state->size to non-zero. Return -1 on a memory allocation failure, or 0 on
- // success. */
- func _gz_init(tls *libc.TLS, state Tgz_statep) (r int32) {
- var ret int32
- var strm Tz_streamp
- _, _ = ret, strm
- strm = state + 128
- /* allocate input buffer (double size for gzprintf) */
- (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
- if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) {
- Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
- return -int32(1)
- }
- /* only need output buffer and deflate state if compressing */
- if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
- /* allocate output buffer */
- (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
- if (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
- Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
- return -int32(1)
- }
- /* allocate deflate memory, set up for gzip compression */
- (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = uintptr(m_Z_NULL)
- (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = uintptr(m_Z_NULL)
- (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(m_Z_NULL)
- 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))
- if ret != m_Z_OK {
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
- Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
- return -int32(1)
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = libc.UintptrFromInt32(0)
- }
- /* mark state as initialized */
- (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
- /* initialize write buffer if compressing */
- if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
- }
- return 0
- }
- // C documentation
- //
- // /* Compress whatever is at avail_in and next_in and write to the output file.
- // Return -1 if there is an error writing to the output file or if gz_init()
- // fails to allocate memory, otherwise 0. flush is assumed to be a valid
- // deflate() flush value. If flush is Z_FINISH, then the deflate() state is
- // reset to start a new gzip stream. If gz->direct is true, then simply write
- // to the output file without compressing, and ignore flush. */
- func _gz_comp(tls *libc.TLS, state Tgz_statep, flush int32) (r int32) {
- var have, max, put, v1, v2 uint32
- var ret, writ int32
- var strm Tz_streamp
- _, _, _, _, _, _, _, _ = have, max, put, ret, strm, writ, v1, v2
- max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
- strm = state + 128
- /* allocate memory if this is the first time through */
- if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
- return -int32(1)
- }
- /* write directly if requested */
- if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
- for (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 {
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > max {
- v1 = max
- } else {
- v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
- }
- put = v1
- writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(put)))
- if writ < 0 {
- Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))))
- return -int32(1)
- }
- *(*TuInt)(unsafe.Pointer(strm + 8)) -= libc.Uint32FromInt32(writ)
- *(*uintptr)(unsafe.Pointer(strm)) += uintptr(writ)
- }
- return 0
- }
- /* check for a pending reset */
- if (*Tgz_state)(unsafe.Pointer(state)).Freset != 0 {
- /* don't start a new gzip member unless there is data to write */
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
- return 0
- }
- XdeflateReset(tls, strm)
- (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
- }
- /* run deflate() on provided input until it produces no more output */
- ret = m_Z_OK
- for cond := true; cond; cond = have != 0 {
- /* write out current buffer contents if full, or if flushing, but if
- doing Z_FINISH then don't write until we get to Z_STREAM_END */
- 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)) {
- for (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out > (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext {
- if int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext) > int64(libc.Int32FromUint32(max)) {
- v2 = max
- } else {
- v2 = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out) - int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext))
- }
- put = v2
- writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(put)))
- if writ < 0 {
- Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))))
- return -int32(1)
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(writ)
- }
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
- }
- }
- /* compress */
- have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
- ret = Xdeflate(tls, strm, flush)
- if ret == -int32(2) {
- Xgz_error(tls, state, -int32(2), __ccgo_ts+798)
- return -int32(1)
- }
- have -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
- }
- /* if that completed a deflate stream, allow another to start */
- if flush == int32(m_Z_FINISH) {
- (*Tgz_state)(unsafe.Pointer(state)).Freset = int32(1)
- }
- /* all done, no errors */
- return 0
- }
- // C documentation
- //
- // /* Compress len zeros to output. Return -1 on a write error or memory
- // allocation failure by gz_comp(), or 0 on success. */
- func _gz_zero(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
- var first int32
- var n, v1 uint32
- var strm Tz_streamp
- _, _, _, _ = first, n, strm, v1
- strm = state + 128
- /* consume whatever's left in the input buffer */
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
- return -int32(1)
- }
- /* compress len zeros (len guaranteed > 0) */
- first = int32(1)
- for len1 != 0 {
- 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 {
- v1 = libc.Uint32FromInt64(len1)
- } else {
- v1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize
- }
- n = v1
- if first != 0 {
- libc.Xmemset(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, 0, uint64(n))
- first = 0
- }
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = n
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
- if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
- return -int32(1)
- }
- len1 -= libc.Int64FromUint32(n)
- }
- return 0
- }
- // C documentation
- //
- // /* Write len bytes from buf to file. Return the number of bytes written. If
- // the returned value is less than len, then there was an error. */
- func _gz_write(tls *libc.TLS, state Tgz_statep, buf Tvoidpc, len1 Tz_size_t) (r Tz_size_t) {
- var copy1, have, n uint32
- var put Tz_size_t
- _, _, _, _ = copy1, have, n, put
- put = len1
- /* if len is zero, avoid unnecessary operations */
- if len1 == uint64(0) {
- return uint64(0)
- }
- /* allocate memory if this is the first time through */
- if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
- return uint64(0)
- }
- /* check for seek request */
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
- return uint64(0)
- }
- }
- /* for small len, copy to input buffer, otherwise compress directly */
- if len1 < uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize) {
- /* copy to input buffer, compress when full */
- for cond := true; cond; cond = len1 != 0 {
- if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
- }
- 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))
- copy1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize - have
- if uint64(copy1) > len1 {
- copy1 = uint32(len1)
- }
- libc.Xmemcpy(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr(have), buf, uint64(copy1))
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in += copy1
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(copy1)
- buf = buf + uintptr(copy1)
- len1 -= uint64(copy1)
- if len1 != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
- return uint64(0)
- }
- }
- } else {
- /* consume whatever's left in the input buffer */
- if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
- return uint64(0)
- }
- /* directly compress user buffer to file */
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = buf
- for cond := true; cond; cond = len1 != 0 {
- n = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
- if uint64(n) > len1 {
- n = uint32(len1)
- }
- (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = n
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
- if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
- return uint64(0)
- }
- len1 -= uint64(n)
- }
- }
- /* input was all buffered or compressed */
- return put
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzwrite(tls *libc.TLS, file TgzFile, buf Tvoidpc, len1 uint32) (r int32) {
- var state Tgz_statep
- _ = state
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return 0
- }
- state = file
- /* check that we're writing and that there's no error */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
- return 0
- }
- /* since an int is returned, make sure len fits in one, otherwise return
- with an error (this avoids a flaw in the interface) */
- if libc.Int32FromUint32(len1) < 0 {
- Xgz_error(tls, state, -int32(3), __ccgo_ts+837)
- return 0
- }
- /* write len bytes from buf (the return value will fit in an int) */
- return libc.Int32FromUint64(_gz_write(tls, state, buf, uint64(len1)))
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzfwrite(tls *libc.TLS, buf Tvoidpc, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
- var len1 Tz_size_t
- var state Tgz_statep
- var v1 uint64
- _, _, _ = len1, state, v1
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return uint64(0)
- }
- state = file
- /* check that we're writing and that there's no error */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
- return uint64(0)
- }
- /* compute bytes to read -- error on overflow */
- len1 = nitems * size
- if size != 0 && len1/size != nitems {
- Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
- return uint64(0)
- }
- /* write len bytes to buf, return the number of full items written */
- if len1 != 0 {
- v1 = _gz_write(tls, state, buf, len1) / size
- } else {
- v1 = uint64(0)
- }
- return v1
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzputc(tls *libc.TLS, file TgzFile, c int32) (r int32) {
- bp := tls.Alloc(16)
- defer tls.Free(16)
- var have uint32
- var state Tgz_statep
- var strm Tz_streamp
- var _ /* buf at bp+0 */ [1]uint8
- _, _, _ = have, state, strm
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(1)
- }
- state = file
- strm = state + 128
- /* check that we're writing and that there's no error */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
- return -int32(1)
- }
- /* check for seek request */
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
- return -int32(1)
- }
- }
- /* try writing to input buffer for speed (state->size == 0 if buffer not
- initialized) */
- if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
- }
- 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))
- if have < (*Tgz_state)(unsafe.Pointer(state)).Fsize {
- *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(have))) = libc.Uint8FromInt32(c)
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in++
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
- return c & int32(0xff)
- }
- }
- /* no room in buffer or not initialized, use gz_write() */
- (*(*[1]uint8)(unsafe.Pointer(bp)))[0] = libc.Uint8FromInt32(c)
- if _gz_write(tls, state, bp, uint64(1)) != uint64(1) {
- return -int32(1)
- }
- return c & int32(0xff)
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzputs(tls *libc.TLS, file TgzFile, s uintptr) (r int32) {
- var len1, put Tz_size_t
- var state Tgz_statep
- var v1 int32
- _, _, _, _ = len1, put, state, v1
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(1)
- }
- state = file
- /* check that we're writing and that there's no error */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
- return -int32(1)
- }
- /* write string */
- len1 = libc.Xstrlen(tls, s)
- if libc.Int32FromUint64(len1) < 0 || uint64(uint32(len1)) != len1 {
- Xgz_error(tls, state, -int32(2), __ccgo_ts+874)
- return -int32(1)
- }
- put = _gz_write(tls, state, s, len1)
- if put < len1 {
- v1 = -int32(1)
- } else {
- v1 = libc.Int32FromUint64(len1)
- }
- return v1
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzvprintf(tls *libc.TLS, file TgzFile, format uintptr, va Tva_list) (r int32) {
- var left uint32
- var len1 int32
- var next uintptr
- var state Tgz_statep
- var strm Tz_streamp
- _, _, _, _, _ = left, len1, next, state, strm
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(2)
- }
- state = file
- strm = state + 128
- /* check that we're writing and that there's no error */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
- return -int32(2)
- }
- /* make sure we have some buffer space */
- if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
- return (*Tgz_state)(unsafe.Pointer(state)).Ferr
- }
- /* check for seek request */
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
- return (*Tgz_state)(unsafe.Pointer(state)).Ferr
- }
- }
- /* do the printf() into the input buffer, put length in len -- the input
- buffer is double-sized just for this function, so there is guaranteed to
- be state->size bytes available after the current contents */
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
- }
- 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)
- *(*uint8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1)))) = uint8(0)
- len1 = libc.X__builtin_vsnprintf(tls, next, uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize), format, va)
- /* check that printf() results fit in buffer */
- if len1 == 0 || libc.Uint32FromInt32(len1) >= (*Tgz_state)(unsafe.Pointer(state)).Fsize || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1))))) != 0 {
- return 0
- }
- /* update buffer and position, compress first half if past that */
- *(*TuInt)(unsafe.Pointer(strm + 8)) += libc.Uint32FromInt32(len1)
- (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += int64(len1)
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in >= (*Tgz_state)(unsafe.Pointer(state)).Fsize {
- left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in - (*Tgz_state)(unsafe.Pointer(state)).Fsize
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = (*Tgz_state)(unsafe.Pointer(state)).Fsize
- if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
- return (*Tgz_state)(unsafe.Pointer(state)).Ferr
- }
- libc.Xmemmove(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize), uint64(left))
- (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
- (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = left
- }
- return len1
- }
- func Xgzprintf(tls *libc.TLS, file TgzFile, format uintptr, va1 uintptr) (r int32) {
- var ret int32
- var va Tva_list
- _, _ = ret, va
- va = va1
- ret = Xgzvprintf(tls, file, format, va)
- _ = va
- return ret
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzflush(tls *libc.TLS, file TgzFile, flush int32) (r int32) {
- var state Tgz_statep
- _ = state
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(2)
- }
- state = file
- /* check that we're writing and that there's no error */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
- return -int32(2)
- }
- /* check flush parameter */
- if flush < 0 || flush > int32(m_Z_FINISH) {
- return -int32(2)
- }
- /* check for seek request */
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
- return (*Tgz_state)(unsafe.Pointer(state)).Ferr
- }
- }
- /* compress remaining data with requested flush */
- _gz_comp(tls, state, flush)
- return (*Tgz_state)(unsafe.Pointer(state)).Ferr
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzsetparams(tls *libc.TLS, file TgzFile, level int32, strategy int32) (r int32) {
- var state Tgz_statep
- var strm Tz_streamp
- _, _ = state, strm
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(2)
- }
- state = file
- strm = state + 128
- /* check that we're writing and that there's no error */
- 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 {
- return -int32(2)
- }
- /* if no change is requested, then do nothing */
- if level == (*Tgz_state)(unsafe.Pointer(state)).Flevel && strategy == (*Tgz_state)(unsafe.Pointer(state)).Fstrategy {
- return m_Z_OK
- }
- /* check for seek request */
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
- return (*Tgz_state)(unsafe.Pointer(state)).Ferr
- }
- }
- /* change compression parameters for subsequent input */
- if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
- /* flush previous input with previous parameters before changing */
- if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, int32(m_Z_BLOCK)) == -int32(1) {
- return (*Tgz_state)(unsafe.Pointer(state)).Ferr
- }
- XdeflateParams(tls, strm, level, strategy)
- }
- (*Tgz_state)(unsafe.Pointer(state)).Flevel = level
- (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = strategy
- return m_Z_OK
- }
- // C documentation
- //
- // /* -- see zlib.h -- */
- func Xgzclose_w(tls *libc.TLS, file TgzFile) (r int32) {
- var ret int32
- var state Tgz_statep
- _, _ = ret, state
- ret = m_Z_OK
- /* get internal structure */
- if file == libc.UintptrFromInt32(0) {
- return -int32(2)
- }
- state = file
- /* check that we're writing */
- if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
- return -int32(2)
- }
- /* check for seek request */
- if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
- (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
- if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
- ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
- }
- }
- /* flush, free memory, and close file */
- if _gz_comp(tls, state, int32(m_Z_FINISH)) == -int32(1) {
- ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
- }
- if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
- if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
- XdeflateEnd(tls, state+128)
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
- }
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
- }
- Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
- libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
- if libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd) == -int32(1) {
- ret = -int32(1)
- }
- libc.Xfree(tls, state)
- return ret
- }
- func __ccgo_fp(f interface{}) uintptr {
- type iface [2]uintptr
- return (*iface)(unsafe.Pointer(&f))[1]
- }
- var x__dist_code = [512]Tuch{
- 1: uint8(1),
- 2: uint8(2),
- 3: uint8(3),
- 4: uint8(4),
- 5: uint8(4),
- 6: uint8(5),
- 7: uint8(5),
- 8: uint8(6),
- 9: uint8(6),
- 10: uint8(6),
- 11: uint8(6),
- 12: uint8(7),
- 13: uint8(7),
- 14: uint8(7),
- 15: uint8(7),
- 16: uint8(8),
- 17: uint8(8),
- 18: uint8(8),
- 19: uint8(8),
- 20: uint8(8),
- 21: uint8(8),
- 22: uint8(8),
- 23: uint8(8),
- 24: uint8(9),
- 25: uint8(9),
- 26: uint8(9),
- 27: uint8(9),
- 28: uint8(9),
- 29: uint8(9),
- 30: uint8(9),
- 31: uint8(9),
- 32: uint8(10),
- 33: uint8(10),
- 34: uint8(10),
- 35: uint8(10),
- 36: uint8(10),
- 37: uint8(10),
- 38: uint8(10),
- 39: uint8(10),
- 40: uint8(10),
- 41: uint8(10),
- 42: uint8(10),
- 43: uint8(10),
- 44: uint8(10),
- 45: uint8(10),
- 46: uint8(10),
- 47: uint8(10),
- 48: uint8(11),
- 49: uint8(11),
- 50: uint8(11),
- 51: uint8(11),
- 52: uint8(11),
- 53: uint8(11),
- 54: uint8(11),
- 55: uint8(11),
- 56: uint8(11),
- 57: uint8(11),
- 58: uint8(11),
- 59: uint8(11),
- 60: uint8(11),
- 61: uint8(11),
- 62: uint8(11),
- 63: uint8(11),
- 64: uint8(12),
- 65: uint8(12),
- 66: uint8(12),
- 67: uint8(12),
- 68: uint8(12),
- 69: uint8(12),
- 70: uint8(12),
- 71: uint8(12),
- 72: uint8(12),
- 73: uint8(12),
- 74: uint8(12),
- 75: uint8(12),
- 76: uint8(12),
- 77: uint8(12),
- 78: uint8(12),
- 79: uint8(12),
- 80: uint8(12),
- 81: uint8(12),
- 82: uint8(12),
- 83: uint8(12),
- 84: uint8(12),
- 85: uint8(12),
- 86: uint8(12),
- 87: uint8(12),
- 88: uint8(12),
- 89: uint8(12),
- 90: uint8(12),
- 91: uint8(12),
- 92: uint8(12),
- 93: uint8(12),
- 94: uint8(12),
- 95: uint8(12),
- 96: uint8(13),
- 97: uint8(13),
- 98: uint8(13),
- 99: uint8(13),
- 100: uint8(13),
- 101: uint8(13),
- 102: uint8(13),
- 103: uint8(13),
- 104: uint8(13),
- 105: uint8(13),
- 106: uint8(13),
- 107: uint8(13),
- 108: uint8(13),
- 109: uint8(13),
- 110: uint8(13),
- 111: uint8(13),
- 112: uint8(13),
- 113: uint8(13),
- 114: uint8(13),
- 115: uint8(13),
- 116: uint8(13),
- 117: uint8(13),
- 118: uint8(13),
- 119: uint8(13),
- 120: uint8(13),
- 121: uint8(13),
- 122: uint8(13),
- 123: uint8(13),
- 124: uint8(13),
- 125: uint8(13),
- 126: uint8(13),
- 127: uint8(13),
- 128: uint8(14),
- 129: uint8(14),
- 130: uint8(14),
- 131: uint8(14),
- 132: uint8(14),
- 133: uint8(14),
- 134: uint8(14),
- 135: uint8(14),
- 136: uint8(14),
- 137: uint8(14),
- 138: uint8(14),
- 139: uint8(14),
- 140: uint8(14),
- 141: uint8(14),
- 142: uint8(14),
- 143: uint8(14),
- 144: uint8(14),
- 145: uint8(14),
- 146: uint8(14),
- 147: uint8(14),
- 148: uint8(14),
- 149: uint8(14),
- 150: uint8(14),
- 151: uint8(14),
- 152: uint8(14),
- 153: uint8(14),
- 154: uint8(14),
- 155: uint8(14),
- 156: uint8(14),
- 157: uint8(14),
- 158: uint8(14),
- 159: uint8(14),
- 160: uint8(14),
- 161: uint8(14),
- 162: uint8(14),
- 163: uint8(14),
- 164: uint8(14),
- 165: uint8(14),
- 166: uint8(14),
- 167: uint8(14),
- 168: uint8(14),
- 169: uint8(14),
- 170: uint8(14),
- 171: uint8(14),
- 172: uint8(14),
- 173: uint8(14),
- 174: uint8(14),
- 175: uint8(14),
- 176: uint8(14),
- 177: uint8(14),
- 178: uint8(14),
- 179: uint8(14),
- 180: uint8(14),
- 181: uint8(14),
- 182: uint8(14),
- 183: uint8(14),
- 184: uint8(14),
- 185: uint8(14),
- 186: uint8(14),
- 187: uint8(14),
- 188: uint8(14),
- 189: uint8(14),
- 190: uint8(14),
- 191: uint8(14),
- 192: uint8(15),
- 193: uint8(15),
- 194: uint8(15),
- 195: uint8(15),
- 196: uint8(15),
- 197: uint8(15),
- 198: uint8(15),
- 199: uint8(15),
- 200: uint8(15),
- 201: uint8(15),
- 202: uint8(15),
- 203: uint8(15),
- 204: uint8(15),
- 205: uint8(15),
- 206: uint8(15),
- 207: uint8(15),
- 208: uint8(15),
- 209: uint8(15),
- 210: uint8(15),
- 211: uint8(15),
- 212: uint8(15),
- 213: uint8(15),
- 214: uint8(15),
- 215: uint8(15),
- 216: uint8(15),
- 217: uint8(15),
- 218: uint8(15),
- 219: uint8(15),
- 220: uint8(15),
- 221: uint8(15),
- 222: uint8(15),
- 223: uint8(15),
- 224: uint8(15),
- 225: uint8(15),
- 226: uint8(15),
- 227: uint8(15),
- 228: uint8(15),
- 229: uint8(15),
- 230: uint8(15),
- 231: uint8(15),
- 232: uint8(15),
- 233: uint8(15),
- 234: uint8(15),
- 235: uint8(15),
- 236: uint8(15),
- 237: uint8(15),
- 238: uint8(15),
- 239: uint8(15),
- 240: uint8(15),
- 241: uint8(15),
- 242: uint8(15),
- 243: uint8(15),
- 244: uint8(15),
- 245: uint8(15),
- 246: uint8(15),
- 247: uint8(15),
- 248: uint8(15),
- 249: uint8(15),
- 250: uint8(15),
- 251: uint8(15),
- 252: uint8(15),
- 253: uint8(15),
- 254: uint8(15),
- 255: uint8(15),
- 258: uint8(16),
- 259: uint8(17),
- 260: uint8(18),
- 261: uint8(18),
- 262: uint8(19),
- 263: uint8(19),
- 264: uint8(20),
- 265: uint8(20),
- 266: uint8(20),
- 267: uint8(20),
- 268: uint8(21),
- 269: uint8(21),
- 270: uint8(21),
- 271: uint8(21),
- 272: uint8(22),
- 273: uint8(22),
- 274: uint8(22),
- 275: uint8(22),
- 276: uint8(22),
- 277: uint8(22),
- 278: uint8(22),
- 279: uint8(22),
- 280: uint8(23),
- 281: uint8(23),
- 282: uint8(23),
- 283: uint8(23),
- 284: uint8(23),
- 285: uint8(23),
- 286: uint8(23),
- 287: uint8(23),
- 288: uint8(24),
- 289: uint8(24),
- 290: uint8(24),
- 291: uint8(24),
- 292: uint8(24),
- 293: uint8(24),
- 294: uint8(24),
- 295: uint8(24),
- 296: uint8(24),
- 297: uint8(24),
- 298: uint8(24),
- 299: uint8(24),
- 300: uint8(24),
- 301: uint8(24),
- 302: uint8(24),
- 303: uint8(24),
- 304: uint8(25),
- 305: uint8(25),
- 306: uint8(25),
- 307: uint8(25),
- 308: uint8(25),
- 309: uint8(25),
- 310: uint8(25),
- 311: uint8(25),
- 312: uint8(25),
- 313: uint8(25),
- 314: uint8(25),
- 315: uint8(25),
- 316: uint8(25),
- 317: uint8(25),
- 318: uint8(25),
- 319: uint8(25),
- 320: uint8(26),
- 321: uint8(26),
- 322: uint8(26),
- 323: uint8(26),
- 324: uint8(26),
- 325: uint8(26),
- 326: uint8(26),
- 327: uint8(26),
- 328: uint8(26),
- 329: uint8(26),
- 330: uint8(26),
- 331: uint8(26),
- 332: uint8(26),
- 333: uint8(26),
- 334: uint8(26),
- 335: uint8(26),
- 336: uint8(26),
- 337: uint8(26),
- 338: uint8(26),
- 339: uint8(26),
- 340: uint8(26),
- 341: uint8(26),
- 342: uint8(26),
- 343: uint8(26),
- 344: uint8(26),
- 345: uint8(26),
- 346: uint8(26),
- 347: uint8(26),
- 348: uint8(26),
- 349: uint8(26),
- 350: uint8(26),
- 351: uint8(26),
- 352: uint8(27),
- 353: uint8(27),
- 354: uint8(27),
- 355: uint8(27),
- 356: uint8(27),
- 357: uint8(27),
- 358: uint8(27),
- 359: uint8(27),
- 360: uint8(27),
- 361: uint8(27),
- 362: uint8(27),
- 363: uint8(27),
- 364: uint8(27),
- 365: uint8(27),
- 366: uint8(27),
- 367: uint8(27),
- 368: uint8(27),
- 369: uint8(27),
- 370: uint8(27),
- 371: uint8(27),
- 372: uint8(27),
- 373: uint8(27),
- 374: uint8(27),
- 375: uint8(27),
- 376: uint8(27),
- 377: uint8(27),
- 378: uint8(27),
- 379: uint8(27),
- 380: uint8(27),
- 381: uint8(27),
- 382: uint8(27),
- 383: uint8(27),
- 384: uint8(28),
- 385: uint8(28),
- 386: uint8(28),
- 387: uint8(28),
- 388: uint8(28),
- 389: uint8(28),
- 390: uint8(28),
- 391: uint8(28),
- 392: uint8(28),
- 393: uint8(28),
- 394: uint8(28),
- 395: uint8(28),
- 396: uint8(28),
- 397: uint8(28),
- 398: uint8(28),
- 399: uint8(28),
- 400: uint8(28),
- 401: uint8(28),
- 402: uint8(28),
- 403: uint8(28),
- 404: uint8(28),
- 405: uint8(28),
- 406: uint8(28),
- 407: uint8(28),
- 408: uint8(28),
- 409: uint8(28),
- 410: uint8(28),
- 411: uint8(28),
- 412: uint8(28),
- 413: uint8(28),
- 414: uint8(28),
- 415: uint8(28),
- 416: uint8(28),
- 417: uint8(28),
- 418: uint8(28),
- 419: uint8(28),
- 420: uint8(28),
- 421: uint8(28),
- 422: uint8(28),
- 423: uint8(28),
- 424: uint8(28),
- 425: uint8(28),
- 426: uint8(28),
- 427: uint8(28),
- 428: uint8(28),
- 429: uint8(28),
- 430: uint8(28),
- 431: uint8(28),
- 432: uint8(28),
- 433: uint8(28),
- 434: uint8(28),
- 435: uint8(28),
- 436: uint8(28),
- 437: uint8(28),
- 438: uint8(28),
- 439: uint8(28),
- 440: uint8(28),
- 441: uint8(28),
- 442: uint8(28),
- 443: uint8(28),
- 444: uint8(28),
- 445: uint8(28),
- 446: uint8(28),
- 447: uint8(28),
- 448: uint8(29),
- 449: uint8(29),
- 450: uint8(29),
- 451: uint8(29),
- 452: uint8(29),
- 453: uint8(29),
- 454: uint8(29),
- 455: uint8(29),
- 456: uint8(29),
- 457: uint8(29),
- 458: uint8(29),
- 459: uint8(29),
- 460: uint8(29),
- 461: uint8(29),
- 462: uint8(29),
- 463: uint8(29),
- 464: uint8(29),
- 465: uint8(29),
- 466: uint8(29),
- 467: uint8(29),
- 468: uint8(29),
- 469: uint8(29),
- 470: uint8(29),
- 471: uint8(29),
- 472: uint8(29),
- 473: uint8(29),
- 474: uint8(29),
- 475: uint8(29),
- 476: uint8(29),
- 477: uint8(29),
- 478: uint8(29),
- 479: uint8(29),
- 480: uint8(29),
- 481: uint8(29),
- 482: uint8(29),
- 483: uint8(29),
- 484: uint8(29),
- 485: uint8(29),
- 486: uint8(29),
- 487: uint8(29),
- 488: uint8(29),
- 489: uint8(29),
- 490: uint8(29),
- 491: uint8(29),
- 492: uint8(29),
- 493: uint8(29),
- 494: uint8(29),
- 495: uint8(29),
- 496: uint8(29),
- 497: uint8(29),
- 498: uint8(29),
- 499: uint8(29),
- 500: uint8(29),
- 501: uint8(29),
- 502: uint8(29),
- 503: uint8(29),
- 504: uint8(29),
- 505: uint8(29),
- 506: uint8(29),
- 507: uint8(29),
- 508: uint8(29),
- 509: uint8(29),
- 510: uint8(29),
- 511: uint8(29),
- }
- var x__length_code = [256]Tuch{
- 1: uint8(1),
- 2: uint8(2),
- 3: uint8(3),
- 4: uint8(4),
- 5: uint8(5),
- 6: uint8(6),
- 7: uint8(7),
- 8: uint8(8),
- 9: uint8(8),
- 10: uint8(9),
- 11: uint8(9),
- 12: uint8(10),
- 13: uint8(10),
- 14: uint8(11),
- 15: uint8(11),
- 16: uint8(12),
- 17: uint8(12),
- 18: uint8(12),
- 19: uint8(12),
- 20: uint8(13),
- 21: uint8(13),
- 22: uint8(13),
- 23: uint8(13),
- 24: uint8(14),
- 25: uint8(14),
- 26: uint8(14),
- 27: uint8(14),
- 28: uint8(15),
- 29: uint8(15),
- 30: uint8(15),
- 31: uint8(15),
- 32: uint8(16),
- 33: uint8(16),
- 34: uint8(16),
- 35: uint8(16),
- 36: uint8(16),
- 37: uint8(16),
- 38: uint8(16),
- 39: uint8(16),
- 40: uint8(17),
- 41: uint8(17),
- 42: uint8(17),
- 43: uint8(17),
- 44: uint8(17),
- 45: uint8(17),
- 46: uint8(17),
- 47: uint8(17),
- 48: uint8(18),
- 49: uint8(18),
- 50: uint8(18),
- 51: uint8(18),
- 52: uint8(18),
- 53: uint8(18),
- 54: uint8(18),
- 55: uint8(18),
- 56: uint8(19),
- 57: uint8(19),
- 58: uint8(19),
- 59: uint8(19),
- 60: uint8(19),
- 61: uint8(19),
- 62: uint8(19),
- 63: uint8(19),
- 64: uint8(20),
- 65: uint8(20),
- 66: uint8(20),
- 67: uint8(20),
- 68: uint8(20),
- 69: uint8(20),
- 70: uint8(20),
- 71: uint8(20),
- 72: uint8(20),
- 73: uint8(20),
- 74: uint8(20),
- 75: uint8(20),
- 76: uint8(20),
- 77: uint8(20),
- 78: uint8(20),
- 79: uint8(20),
- 80: uint8(21),
- 81: uint8(21),
- 82: uint8(21),
- 83: uint8(21),
- 84: uint8(21),
- 85: uint8(21),
- 86: uint8(21),
- 87: uint8(21),
- 88: uint8(21),
- 89: uint8(21),
- 90: uint8(21),
- 91: uint8(21),
- 92: uint8(21),
- 93: uint8(21),
- 94: uint8(21),
- 95: uint8(21),
- 96: uint8(22),
- 97: uint8(22),
- 98: uint8(22),
- 99: uint8(22),
- 100: uint8(22),
- 101: uint8(22),
- 102: uint8(22),
- 103: uint8(22),
- 104: uint8(22),
- 105: uint8(22),
- 106: uint8(22),
- 107: uint8(22),
- 108: uint8(22),
- 109: uint8(22),
- 110: uint8(22),
- 111: uint8(22),
- 112: uint8(23),
- 113: uint8(23),
- 114: uint8(23),
- 115: uint8(23),
- 116: uint8(23),
- 117: uint8(23),
- 118: uint8(23),
- 119: uint8(23),
- 120: uint8(23),
- 121: uint8(23),
- 122: uint8(23),
- 123: uint8(23),
- 124: uint8(23),
- 125: uint8(23),
- 126: uint8(23),
- 127: uint8(23),
- 128: uint8(24),
- 129: uint8(24),
- 130: uint8(24),
- 131: uint8(24),
- 132: uint8(24),
- 133: uint8(24),
- 134: uint8(24),
- 135: uint8(24),
- 136: uint8(24),
- 137: uint8(24),
- 138: uint8(24),
- 139: uint8(24),
- 140: uint8(24),
- 141: uint8(24),
- 142: uint8(24),
- 143: uint8(24),
- 144: uint8(24),
- 145: uint8(24),
- 146: uint8(24),
- 147: uint8(24),
- 148: uint8(24),
- 149: uint8(24),
- 150: uint8(24),
- 151: uint8(24),
- 152: uint8(24),
- 153: uint8(24),
- 154: uint8(24),
- 155: uint8(24),
- 156: uint8(24),
- 157: uint8(24),
- 158: uint8(24),
- 159: uint8(24),
- 160: uint8(25),
- 161: uint8(25),
- 162: uint8(25),
- 163: uint8(25),
- 164: uint8(25),
- 165: uint8(25),
- 166: uint8(25),
- 167: uint8(25),
- 168: uint8(25),
- 169: uint8(25),
- 170: uint8(25),
- 171: uint8(25),
- 172: uint8(25),
- 173: uint8(25),
- 174: uint8(25),
- 175: uint8(25),
- 176: uint8(25),
- 177: uint8(25),
- 178: uint8(25),
- 179: uint8(25),
- 180: uint8(25),
- 181: uint8(25),
- 182: uint8(25),
- 183: uint8(25),
- 184: uint8(25),
- 185: uint8(25),
- 186: uint8(25),
- 187: uint8(25),
- 188: uint8(25),
- 189: uint8(25),
- 190: uint8(25),
- 191: uint8(25),
- 192: uint8(26),
- 193: uint8(26),
- 194: uint8(26),
- 195: uint8(26),
- 196: uint8(26),
- 197: uint8(26),
- 198: uint8(26),
- 199: uint8(26),
- 200: uint8(26),
- 201: uint8(26),
- 202: uint8(26),
- 203: uint8(26),
- 204: uint8(26),
- 205: uint8(26),
- 206: uint8(26),
- 207: uint8(26),
- 208: uint8(26),
- 209: uint8(26),
- 210: uint8(26),
- 211: uint8(26),
- 212: uint8(26),
- 213: uint8(26),
- 214: uint8(26),
- 215: uint8(26),
- 216: uint8(26),
- 217: uint8(26),
- 218: uint8(26),
- 219: uint8(26),
- 220: uint8(26),
- 221: uint8(26),
- 222: uint8(26),
- 223: uint8(26),
- 224: uint8(27),
- 225: uint8(27),
- 226: uint8(27),
- 227: uint8(27),
- 228: uint8(27),
- 229: uint8(27),
- 230: uint8(27),
- 231: uint8(27),
- 232: uint8(27),
- 233: uint8(27),
- 234: uint8(27),
- 235: uint8(27),
- 236: uint8(27),
- 237: uint8(27),
- 238: uint8(27),
- 239: uint8(27),
- 240: uint8(27),
- 241: uint8(27),
- 242: uint8(27),
- 243: uint8(27),
- 244: uint8(27),
- 245: uint8(27),
- 246: uint8(27),
- 247: uint8(27),
- 248: uint8(27),
- 249: uint8(27),
- 250: uint8(27),
- 251: uint8(27),
- 252: uint8(27),
- 253: uint8(27),
- 254: uint8(27),
- 255: uint8(28),
- }
- var Xdeflate_copyright = [68]uint8{' ', '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', ' '}
- var Xinflate_copyright = [47]uint8{' ', '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', ' '}
- var Xz_errmsg = [10]uintptr{
- 0: __ccgo_ts + 467,
- 1: __ccgo_ts + 483,
- 2: __ccgo_ts + 494,
- 3: __ccgo_ts + 495,
- 4: __ccgo_ts + 506,
- 5: __ccgo_ts + 519,
- 6: __ccgo_ts + 530,
- 7: __ccgo_ts + 550,
- 8: __ccgo_ts + 563,
- 9: __ccgo_ts + 494,
- }
- var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
- 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"
|