ccgo_darwin_amd64.go 1.9 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098470994710047101471024710347104471054710647107471084710947110471114711247113471144711547116471174711847119471204712147122471234712447125471264712747128471294713047131471324713347134471354713647137471384713947140471414714247143471444714547146471474714847149471504715147152471534715447155471564715747158471594716047161471624716347164471654716647167471684716947170471714717247173471744717547176471774717847179471804718147182471834718447185471864718747188471894719047191471924719347194471954719647197471984719947200472014720247203472044720547206472074720847209472104721147212472134721447215472164721747218472194722047221472224722347224472254722647227472284722947230472314723247233472344723547236472374723847239472404724147242472434724447245472464724747248472494725047251472524725347254472554725647257472584725947260472614726247263472644726547266472674726847269472704727147272472734727447275472764727747278472794728047281472824728347284472854728647287472884728947290472914729247293472944729547296472974729847299473004730147302473034730447305473064730747308473094731047311473124731347314473154731647317473184731947320473214732247323473244732547326473274732847329473304733147332473334733447335473364733747338473394734047341473424734347344473454734647347473484734947350473514735247353473544735547356473574735847359473604736147362473634736447365473664736747368473694737047371473724737347374473754737647377473784737947380473814738247383473844738547386473874738847389473904739147392473934739447395473964739747398473994740047401474024740347404474054740647407474084740947410474114741247413474144741547416474174741847419474204742147422474234742447425474264742747428474294743047431474324743347434474354743647437474384743947440474414744247443474444744547446474474744847449474504745147452474534745447455474564745747458474594746047461474624746347464474654746647467474684746947470474714747247473474744747547476474774747847479474804748147482474834748447485474864748747488474894749047491474924749347494474954749647497474984749947500475014750247503475044750547506475074750847509475104751147512475134751447515475164751747518475194752047521475224752347524475254752647527475284752947530475314753247533475344753547536475374753847539475404754147542475434754447545475464754747548475494755047551475524755347554475554755647557475584755947560475614756247563475644756547566475674756847569475704757147572475734757447575475764757747578475794758047581475824758347584475854758647587475884758947590475914759247593475944759547596475974759847599476004760147602476034760447605476064760747608476094761047611476124761347614476154761647617476184761947620476214762247623476244762547626476274762847629476304763147632476334763447635476364763747638476394764047641476424764347644476454764647647476484764947650476514765247653476544765547656476574765847659476604766147662476634766447665476664766747668476694767047671476724767347674476754767647677476784767947680476814768247683476844768547686476874768847689476904769147692476934769447695476964769747698476994770047701477024770347704477054770647707477084770947710477114771247713477144771547716477174771847719477204772147722477234772447725477264772747728477294773047731477324773347734477354773647737477384773947740477414774247743477444774547746477474774847749477504775147752477534775447755477564775747758477594776047761477624776347764477654776647767477684776947770477714777247773477744777547776477774777847779477804778147782477834778447785477864778747788477894779047791477924779347794477954779647797477984779947800478014780247803478044780547806478074780847809478104781147812478134781447815478164781747818478194782047821478224782347824478254782647827478284782947830478314783247833478344783547836478374783847839478404784147842478434784447845478464784747848478494785047851478524785347854478554785647857478584785947860478614786247863478644786547866478674786847869478704787147872478734787447875478764787747878478794788047881478824788347884478854788647887478884788947890478914789247893478944789547896478974789847899479004790147902479034790447905479064790747908479094791047911479124791347914479154791647917479184791947920479214792247923479244792547926479274792847929479304793147932479334793447935479364793747938479394794047941479424794347944479454794647947479484794947950479514795247953479544795547956479574795847959479604796147962479634796447965479664796747968479694797047971479724797347974479754797647977479784797947980479814798247983479844798547986479874798847989479904799147992479934799447995479964799747998479994800048001480024800348004480054800648007480084800948010480114801248013480144801548016480174801848019480204802148022480234802448025480264802748028480294803048031480324803348034480354803648037480384803948040480414804248043480444804548046480474804848049480504805148052480534805448055480564805748058480594806048061480624806348064480654806648067480684806948070480714807248073480744807548076480774807848079480804808148082480834808448085480864808748088480894809048091480924809348094480954809648097480984809948100481014810248103481044810548106481074810848109481104811148112481134811448115481164811748118481194812048121481224812348124481254812648127481284812948130481314813248133481344813548136481374813848139481404814148142481434814448145481464814748148481494815048151481524815348154481554815648157481584815948160481614816248163481644816548166481674816848169481704817148172481734817448175481764817748178481794818048181481824818348184481854818648187481884818948190481914819248193481944819548196481974819848199482004820148202482034820448205482064820748208482094821048211482124821348214482154821648217482184821948220482214822248223482244822548226482274822848229482304823148232482334823448235482364823748238482394824048241482424824348244482454824648247482484824948250482514825248253482544825548256482574825848259482604826148262482634826448265482664826748268482694827048271482724827348274482754827648277482784827948280482814828248283482844828548286482874828848289482904829148292482934829448295482964829748298482994830048301483024830348304483054830648307483084830948310483114831248313483144831548316483174831848319483204832148322483234832448325483264832748328483294833048331483324833348334483354833648337483384833948340483414834248343483444834548346483474834848349483504835148352483534835448355483564835748358483594836048361483624836348364483654836648367483684836948370483714837248373483744837548376483774837848379483804838148382483834838448385483864838748388483894839048391483924839348394483954839648397483984839948400484014840248403484044840548406484074840848409484104841148412484134841448415484164841748418484194842048421484224842348424484254842648427484284842948430484314843248433484344843548436484374843848439484404844148442484434844448445484464844748448484494845048451484524845348454484554845648457484584845948460484614846248463484644846548466484674846848469484704847148472484734847448475484764847748478484794848048481484824848348484484854848648487484884848948490484914849248493484944849548496484974849848499485004850148502485034850448505485064850748508485094851048511485124851348514485154851648517485184851948520485214852248523485244852548526485274852848529485304853148532485334853448535485364853748538485394854048541485424854348544485454854648547485484854948550485514855248553485544855548556485574855848559485604856148562485634856448565485664856748568485694857048571485724857348574485754857648577485784857948580485814858248583485844858548586485874858848589485904859148592485934859448595485964859748598485994860048601486024860348604486054860648607486084860948610486114861248613486144861548616486174861848619486204862148622486234862448625486264862748628486294863048631486324863348634486354863648637486384863948640486414864248643486444864548646486474864848649486504865148652486534865448655486564865748658486594866048661486624866348664486654866648667486684866948670486714867248673486744867548676486774867848679486804868148682486834868448685486864868748688486894869048691486924869348694486954869648697486984869948700487014870248703487044870548706487074870848709487104871148712487134871448715487164871748718487194872048721487224872348724487254872648727487284872948730487314873248733487344873548736487374873848739487404874148742487434874448745487464874748748487494875048751487524875348754487554875648757487584875948760487614876248763487644876548766487674876848769487704877148772487734877448775487764877748778487794878048781487824878348784487854878648787487884878948790487914879248793487944879548796487974879848799488004880148802488034880448805488064880748808488094881048811488124881348814488154881648817488184881948820488214882248823488244882548826488274882848829488304883148832488334883448835488364883748838488394884048841488424884348844488454884648847488484884948850488514885248853488544885548856488574885848859488604886148862488634886448865488664886748868488694887048871488724887348874488754887648877488784887948880488814888248883488844888548886488874888848889488904889148892488934889448895488964889748898488994890048901489024890348904489054890648907489084890948910489114891248913489144891548916489174891848919489204892148922489234892448925489264892748928489294893048931489324893348934489354893648937489384893948940489414894248943489444894548946489474894848949489504895148952489534895448955489564895748958489594896048961489624896348964489654896648967489684896948970489714897248973489744897548976489774897848979489804898148982489834898448985489864898748988489894899048991489924899348994489954899648997489984899949000490014900249003490044900549006490074900849009490104901149012490134901449015490164901749018490194902049021490224902349024490254902649027490284902949030490314903249033490344903549036490374903849039490404904149042490434904449045490464904749048490494905049051490524905349054490554905649057490584905949060490614906249063490644906549066490674906849069490704907149072490734907449075490764907749078490794908049081490824908349084490854908649087490884908949090490914909249093490944909549096490974909849099491004910149102491034910449105491064910749108491094911049111491124911349114491154911649117491184911949120491214912249123491244912549126491274912849129491304913149132491334913449135491364913749138491394914049141491424914349144491454914649147491484914949150491514915249153491544915549156491574915849159491604916149162491634916449165491664916749168491694917049171491724917349174491754917649177491784917949180491814918249183491844918549186491874918849189491904919149192491934919449195491964919749198491994920049201492024920349204492054920649207492084920949210492114921249213492144921549216492174921849219492204922149222492234922449225492264922749228492294923049231492324923349234492354923649237492384923949240492414924249243492444924549246492474924849249492504925149252492534925449255492564925749258492594926049261492624926349264492654926649267492684926949270492714927249273492744927549276492774927849279492804928149282492834928449285492864928749288492894929049291492924929349294492954929649297492984929949300493014930249303493044930549306493074930849309493104931149312493134931449315493164931749318493194932049321493224932349324493254932649327493284932949330493314933249333493344933549336493374933849339493404934149342493434934449345493464934749348493494935049351493524935349354493554935649357493584935949360493614936249363493644936549366493674936849369493704937149372493734937449375493764937749378493794938049381493824938349384493854938649387493884938949390493914939249393493944939549396493974939849399494004940149402494034940449405494064940749408494094941049411494124941349414494154941649417494184941949420494214942249423494244942549426494274942849429494304943149432494334943449435494364943749438494394944049441494424944349444494454944649447494484944949450494514945249453494544945549456494574945849459494604946149462494634946449465494664946749468494694947049471494724947349474494754947649477494784947949480494814948249483494844948549486494874948849489494904949149492494934949449495494964949749498494994950049501495024950349504495054950649507495084950949510495114951249513495144951549516495174951849519495204952149522495234952449525495264952749528495294953049531495324953349534495354953649537495384953949540495414954249543495444954549546495474954849549495504955149552495534955449555495564955749558495594956049561495624956349564495654956649567495684956949570495714957249573495744957549576495774957849579495804958149582495834958449585495864958749588495894959049591495924959349594495954959649597495984959949600496014960249603496044960549606496074960849609496104961149612496134961449615496164961749618496194962049621496224962349624496254962649627496284962949630496314963249633496344963549636496374963849639496404964149642496434964449645496464964749648496494965049651496524965349654496554965649657496584965949660496614966249663496644966549666496674966849669496704967149672496734967449675496764967749678496794968049681496824968349684496854968649687496884968949690496914969249693496944969549696496974969849699497004970149702497034970449705497064970749708497094971049711497124971349714497154971649717497184971949720497214972249723497244972549726497274972849729497304973149732497334973449735497364973749738497394974049741497424974349744497454974649747497484974949750497514975249753497544975549756497574975849759497604976149762497634976449765497664976749768497694977049771497724977349774497754977649777497784977949780497814978249783497844978549786497874978849789497904979149792497934979449795497964979749798497994980049801498024980349804498054980649807498084980949810498114981249813498144981549816498174981849819498204982149822498234982449825498264982749828498294983049831498324983349834498354983649837498384983949840498414984249843498444984549846498474984849849498504985149852498534985449855498564985749858498594986049861498624986349864498654986649867498684986949870498714987249873498744987549876498774987849879498804988149882498834988449885498864988749888498894989049891498924989349894498954989649897498984989949900499014990249903499044990549906499074990849909499104991149912499134991449915499164991749918499194992049921499224992349924499254992649927499284992949930499314993249933499344993549936499374993849939499404994149942499434994449945499464994749948499494995049951499524995349954499554995649957499584995949960499614996249963499644996549966499674996849969499704997149972499734997449975499764997749978499794998049981499824998349984499854998649987499884998949990499914999249993499944999549996499974999849999500005000150002500035000450005500065000750008500095001050011500125001350014500155001650017500185001950020500215002250023500245002550026500275002850029500305003150032500335003450035500365003750038500395004050041500425004350044500455004650047500485004950050500515005250053500545005550056500575005850059500605006150062500635006450065500665006750068500695007050071500725007350074500755007650077500785007950080500815008250083500845008550086500875008850089500905009150092500935009450095500965009750098500995010050101501025010350104501055010650107501085010950110501115011250113501145011550116501175011850119501205012150122501235012450125501265012750128501295013050131501325013350134501355013650137501385013950140501415014250143501445014550146501475014850149501505015150152501535015450155501565015750158501595016050161501625016350164501655016650167501685016950170501715017250173501745017550176501775017850179501805018150182501835018450185501865018750188501895019050191501925019350194501955019650197501985019950200502015020250203502045020550206502075020850209502105021150212502135021450215502165021750218502195022050221502225022350224502255022650227502285022950230502315023250233502345023550236502375023850239502405024150242502435024450245502465024750248502495025050251502525025350254502555025650257502585025950260502615026250263502645026550266502675026850269502705027150272502735027450275502765027750278502795028050281502825028350284502855028650287502885028950290502915029250293502945029550296502975029850299503005030150302503035030450305503065030750308503095031050311503125031350314503155031650317503185031950320503215032250323503245032550326503275032850329503305033150332503335033450335503365033750338503395034050341503425034350344503455034650347503485034950350503515035250353503545035550356503575035850359503605036150362503635036450365503665036750368503695037050371503725037350374503755037650377503785037950380503815038250383503845038550386503875038850389503905039150392503935039450395503965039750398503995040050401504025040350404504055040650407504085040950410504115041250413504145041550416504175041850419504205042150422504235042450425504265042750428504295043050431504325043350434504355043650437504385043950440504415044250443504445044550446504475044850449504505045150452504535045450455504565045750458504595046050461504625046350464504655046650467504685046950470504715047250473504745047550476504775047850479504805048150482504835048450485504865048750488504895049050491504925049350494504955049650497504985049950500505015050250503505045050550506505075050850509505105051150512505135051450515505165051750518505195052050521505225052350524505255052650527505285052950530505315053250533505345053550536505375053850539505405054150542505435054450545505465054750548505495055050551505525055350554505555055650557505585055950560505615056250563505645056550566505675056850569505705057150572505735057450575505765057750578505795058050581505825058350584505855058650587505885058950590505915059250593505945059550596505975059850599506005060150602506035060450605506065060750608506095061050611506125061350614506155061650617506185061950620506215062250623506245062550626506275062850629506305063150632506335063450635506365063750638506395064050641506425064350644506455064650647506485064950650506515065250653506545065550656506575065850659506605066150662506635066450665506665066750668506695067050671506725067350674506755067650677506785067950680506815068250683506845068550686506875068850689506905069150692506935069450695506965069750698506995070050701507025070350704507055070650707507085070950710507115071250713507145071550716507175071850719507205072150722507235072450725507265072750728507295073050731507325073350734507355073650737507385073950740507415074250743507445074550746507475074850749507505075150752507535075450755507565075750758507595076050761507625076350764507655076650767507685076950770507715077250773507745077550776507775077850779507805078150782507835078450785507865078750788507895079050791507925079350794507955079650797507985079950800508015080250803508045080550806508075080850809508105081150812508135081450815508165081750818508195082050821508225082350824508255082650827508285082950830508315083250833508345083550836508375083850839508405084150842508435084450845508465084750848508495085050851508525085350854508555085650857508585085950860508615086250863508645086550866508675086850869508705087150872508735087450875508765087750878508795088050881508825088350884508855088650887508885088950890508915089250893508945089550896508975089850899509005090150902509035090450905509065090750908509095091050911509125091350914509155091650917509185091950920509215092250923509245092550926509275092850929509305093150932509335093450935509365093750938509395094050941509425094350944509455094650947509485094950950509515095250953509545095550956509575095850959509605096150962509635096450965509665096750968509695097050971509725097350974509755097650977509785097950980509815098250983509845098550986509875098850989509905099150992509935099450995509965099750998509995100051001510025100351004510055100651007510085100951010510115101251013510145101551016510175101851019510205102151022510235102451025510265102751028510295103051031510325103351034510355103651037510385103951040510415104251043510445104551046510475104851049510505105151052510535105451055510565105751058510595106051061510625106351064510655106651067510685106951070510715107251073510745107551076510775107851079510805108151082510835108451085510865108751088510895109051091510925109351094510955109651097510985109951100511015110251103511045110551106511075110851109511105111151112511135111451115511165111751118511195112051121511225112351124511255112651127511285112951130511315113251133511345113551136511375113851139511405114151142511435114451145511465114751148511495115051151511525115351154511555115651157511585115951160511615116251163511645116551166511675116851169511705117151172511735117451175511765117751178511795118051181511825118351184511855118651187511885118951190511915119251193511945119551196511975119851199512005120151202512035120451205512065120751208512095121051211512125121351214512155121651217512185121951220512215122251223512245122551226512275122851229512305123151232512335123451235512365123751238512395124051241512425124351244512455124651247512485124951250512515125251253512545125551256512575125851259512605126151262512635126451265512665126751268512695127051271512725127351274512755127651277512785127951280512815128251283512845128551286512875128851289512905129151292512935129451295512965129751298512995130051301513025130351304513055130651307513085130951310513115131251313513145131551316513175131851319513205132151322513235132451325513265132751328513295133051331513325133351334513355133651337513385133951340513415134251343513445134551346513475134851349513505135151352513535135451355513565135751358513595136051361513625136351364513655136651367513685136951370513715137251373513745137551376513775137851379513805138151382513835138451385513865138751388513895139051391513925139351394513955139651397513985139951400514015140251403514045140551406514075140851409514105141151412514135141451415514165141751418514195142051421514225142351424514255142651427514285142951430514315143251433514345143551436514375143851439514405144151442514435144451445514465144751448514495145051451514525145351454514555145651457514585145951460514615146251463514645146551466514675146851469514705147151472514735147451475514765147751478514795148051481514825148351484514855148651487514885148951490514915149251493514945149551496514975149851499515005150151502515035150451505515065150751508515095151051511515125151351514515155151651517515185151951520515215152251523515245152551526515275152851529515305153151532515335153451535515365153751538515395154051541515425154351544515455154651547515485154951550515515155251553515545155551556515575155851559515605156151562515635156451565515665156751568515695157051571515725157351574515755157651577515785157951580515815158251583515845158551586515875158851589515905159151592515935159451595515965159751598515995160051601516025160351604516055160651607516085160951610516115161251613516145161551616516175161851619516205162151622516235162451625516265162751628516295163051631516325163351634516355163651637516385163951640516415164251643516445164551646516475164851649516505165151652516535165451655516565165751658516595166051661516625166351664516655166651667516685166951670516715167251673516745167551676516775167851679516805168151682516835168451685516865168751688516895169051691516925169351694516955169651697516985169951700517015170251703517045170551706517075170851709517105171151712517135171451715517165171751718517195172051721517225172351724517255172651727517285172951730517315173251733517345173551736517375173851739517405174151742517435174451745517465174751748517495175051751517525175351754517555175651757517585175951760517615176251763517645176551766517675176851769517705177151772517735177451775517765177751778517795178051781517825178351784517855178651787517885178951790517915179251793517945179551796517975179851799518005180151802518035180451805518065180751808518095181051811518125181351814518155181651817518185181951820518215182251823518245182551826518275182851829518305183151832518335183451835518365183751838518395184051841518425184351844518455184651847518485184951850518515185251853518545185551856518575185851859518605186151862518635186451865518665186751868518695187051871518725187351874518755187651877518785187951880518815188251883518845188551886518875188851889518905189151892518935189451895518965189751898518995190051901519025190351904519055190651907519085190951910519115191251913519145191551916519175191851919519205192151922519235192451925519265192751928519295193051931519325193351934519355193651937519385193951940519415194251943519445194551946519475194851949519505195151952519535195451955519565195751958519595196051961519625196351964519655196651967519685196951970519715197251973519745197551976519775197851979519805198151982519835198451985519865198751988519895199051991519925199351994519955199651997519985199952000520015200252003520045200552006520075200852009520105201152012520135201452015520165201752018520195202052021520225202352024520255202652027520285202952030520315203252033520345203552036520375203852039520405204152042520435204452045520465204752048520495205052051520525205352054520555205652057520585205952060520615206252063520645206552066520675206852069520705207152072520735207452075520765207752078520795208052081520825208352084520855208652087520885208952090520915209252093520945209552096520975209852099521005210152102521035210452105521065210752108521095211052111521125211352114521155211652117521185211952120521215212252123521245212552126521275212852129521305213152132521335213452135521365213752138521395214052141521425214352144521455214652147521485214952150521515215252153521545215552156521575215852159521605216152162521635216452165521665216752168521695217052171521725217352174521755217652177521785217952180521815218252183521845218552186521875218852189521905219152192521935219452195521965219752198521995220052201522025220352204522055220652207522085220952210522115221252213522145221552216522175221852219522205222152222522235222452225522265222752228522295223052231522325223352234522355223652237522385223952240522415224252243522445224552246522475224852249522505225152252522535225452255522565225752258522595226052261522625226352264522655226652267522685226952270522715227252273522745227552276522775227852279522805228152282522835228452285522865228752288522895229052291522925229352294522955229652297522985229952300523015230252303523045230552306523075230852309523105231152312523135231452315523165231752318523195232052321523225232352324523255232652327523285232952330523315233252333523345233552336523375233852339523405234152342523435234452345523465234752348523495235052351523525235352354523555235652357523585235952360523615236252363523645236552366523675236852369523705237152372523735237452375523765237752378523795238052381523825238352384523855238652387523885238952390523915239252393523945239552396523975239852399524005240152402524035240452405524065240752408524095241052411524125241352414524155241652417524185241952420524215242252423524245242552426524275242852429524305243152432524335243452435524365243752438524395244052441524425244352444524455244652447524485244952450524515245252453524545245552456524575245852459524605246152462524635246452465524665246752468524695247052471524725247352474524755247652477524785247952480524815248252483524845248552486524875248852489524905249152492524935249452495524965249752498524995250052501525025250352504525055250652507525085250952510525115251252513525145251552516525175251852519525205252152522525235252452525525265252752528525295253052531525325253352534525355253652537525385253952540525415254252543525445254552546525475254852549525505255152552525535255452555525565255752558525595256052561525625256352564525655256652567525685256952570525715257252573525745257552576525775257852579525805258152582525835258452585525865258752588525895259052591525925259352594525955259652597525985259952600526015260252603526045260552606526075260852609526105261152612526135261452615526165261752618526195262052621526225262352624526255262652627526285262952630526315263252633526345263552636526375263852639526405264152642526435264452645526465264752648526495265052651526525265352654526555265652657526585265952660526615266252663526645266552666526675266852669526705267152672526735267452675526765267752678526795268052681526825268352684526855268652687526885268952690526915269252693526945269552696526975269852699527005270152702527035270452705527065270752708527095271052711527125271352714527155271652717527185271952720527215272252723527245272552726527275272852729527305273152732527335273452735527365273752738527395274052741527425274352744527455274652747527485274952750527515275252753527545275552756527575275852759527605276152762527635276452765527665276752768527695277052771527725277352774527755277652777527785277952780527815278252783527845278552786527875278852789527905279152792527935279452795527965279752798527995280052801528025280352804528055280652807528085280952810528115281252813528145281552816528175281852819528205282152822528235282452825528265282752828528295283052831528325283352834528355283652837528385283952840528415284252843528445284552846528475284852849528505285152852528535285452855528565285752858528595286052861528625286352864528655286652867528685286952870528715287252873528745287552876528775287852879528805288152882528835288452885528865288752888528895289052891528925289352894528955289652897528985289952900529015290252903529045290552906529075290852909529105291152912529135291452915529165291752918529195292052921529225292352924529255292652927529285292952930529315293252933529345293552936529375293852939529405294152942529435294452945529465294752948529495295052951529525295352954529555295652957529585295952960529615296252963529645296552966529675296852969529705297152972529735297452975529765297752978529795298052981529825298352984529855298652987529885298952990529915299252993529945299552996529975299852999530005300153002530035300453005530065300753008530095301053011530125301353014530155301653017530185301953020530215302253023530245302553026530275302853029530305303153032530335303453035530365303753038530395304053041530425304353044530455304653047530485304953050530515305253053530545305553056530575305853059530605306153062530635306453065530665306753068530695307053071530725307353074530755307653077530785307953080530815308253083530845308553086530875308853089530905309153092530935309453095530965309753098530995310053101531025310353104531055310653107531085310953110531115311253113531145311553116531175311853119531205312153122531235312453125531265312753128531295313053131531325313353134531355313653137531385313953140531415314253143531445314553146531475314853149531505315153152531535315453155531565315753158531595316053161531625316353164531655316653167531685316953170531715317253173531745317553176531775317853179531805318153182531835318453185531865318753188531895319053191531925319353194531955319653197531985319953200532015320253203532045320553206532075320853209532105321153212532135321453215532165321753218532195322053221532225322353224532255322653227532285322953230532315323253233532345323553236532375323853239532405324153242532435324453245532465324753248532495325053251532525325353254532555325653257532585325953260532615326253263532645326553266532675326853269532705327153272532735327453275532765327753278532795328053281532825328353284532855328653287532885328953290532915329253293532945329553296532975329853299533005330153302533035330453305533065330753308533095331053311533125331353314533155331653317533185331953320533215332253323533245332553326533275332853329533305333153332533335333453335533365333753338533395334053341533425334353344533455334653347533485334953350533515335253353533545335553356533575335853359533605336153362533635336453365533665336753368533695337053371533725337353374533755337653377533785337953380533815338253383533845338553386533875338853389533905339153392533935339453395533965339753398533995340053401534025340353404534055340653407534085340953410534115341253413534145341553416534175341853419534205342153422534235342453425534265342753428534295343053431534325343353434534355343653437534385343953440534415344253443534445344553446534475344853449534505345153452534535345453455534565345753458534595346053461534625346353464534655346653467534685346953470534715347253473534745347553476534775347853479534805348153482534835348453485534865348753488534895349053491534925349353494534955349653497534985349953500535015350253503535045350553506535075350853509535105351153512535135351453515535165351753518535195352053521535225352353524535255352653527535285352953530535315353253533535345353553536535375353853539535405354153542535435354453545535465354753548535495355053551535525355353554535555355653557535585355953560535615356253563535645356553566535675356853569535705357153572535735357453575535765357753578535795358053581535825358353584535855358653587535885358953590535915359253593535945359553596535975359853599536005360153602536035360453605536065360753608536095361053611536125361353614536155361653617536185361953620536215362253623536245362553626536275362853629536305363153632536335363453635536365363753638536395364053641536425364353644536455364653647536485364953650536515365253653536545365553656536575365853659536605366153662536635366453665536665366753668536695367053671536725367353674536755367653677536785367953680536815368253683536845368553686536875368853689536905369153692536935369453695536965369753698536995370053701537025370353704537055370653707537085370953710537115371253713537145371553716537175371853719537205372153722537235372453725537265372753728537295373053731537325373353734537355373653737537385373953740537415374253743537445374553746537475374853749537505375153752537535375453755537565375753758537595376053761537625376353764537655376653767537685376953770537715377253773537745377553776537775377853779537805378153782537835378453785537865378753788537895379053791537925379353794537955379653797537985379953800538015380253803538045380553806538075380853809538105381153812538135381453815538165381753818538195382053821538225382353824538255382653827538285382953830538315383253833538345383553836538375383853839538405384153842538435384453845538465384753848538495385053851538525385353854538555385653857538585385953860538615386253863538645386553866538675386853869538705387153872538735387453875538765387753878538795388053881538825388353884538855388653887538885388953890538915389253893538945389553896538975389853899539005390153902539035390453905539065390753908539095391053911539125391353914539155391653917539185391953920539215392253923539245392553926539275392853929539305393153932539335393453935539365393753938539395394053941539425394353944539455394653947539485394953950539515395253953539545395553956539575395853959539605396153962539635396453965539665396753968539695397053971539725397353974539755397653977539785397953980539815398253983539845398553986539875398853989539905399153992539935399453995539965399753998539995400054001540025400354004540055400654007540085400954010540115401254013540145401554016540175401854019540205402154022540235402454025540265402754028540295403054031540325403354034540355403654037540385403954040540415404254043540445404554046540475404854049540505405154052540535405454055540565405754058540595406054061540625406354064540655406654067540685406954070540715407254073540745407554076540775407854079540805408154082540835408454085540865408754088540895409054091540925409354094540955409654097540985409954100541015410254103541045410554106541075410854109541105411154112541135411454115541165411754118541195412054121541225412354124541255412654127541285412954130541315413254133541345413554136541375413854139541405414154142541435414454145541465414754148541495415054151541525415354154541555415654157541585415954160541615416254163541645416554166541675416854169541705417154172541735417454175541765417754178541795418054181541825418354184541855418654187541885418954190541915419254193541945419554196541975419854199542005420154202542035420454205542065420754208542095421054211542125421354214542155421654217542185421954220542215422254223542245422554226542275422854229542305423154232542335423454235542365423754238542395424054241542425424354244542455424654247542485424954250542515425254253542545425554256542575425854259542605426154262542635426454265542665426754268542695427054271542725427354274542755427654277542785427954280542815428254283542845428554286542875428854289542905429154292542935429454295542965429754298542995430054301543025430354304543055430654307543085430954310543115431254313543145431554316543175431854319543205432154322543235432454325543265432754328543295433054331543325433354334543355433654337543385433954340543415434254343543445434554346543475434854349543505435154352543535435454355543565435754358543595436054361543625436354364543655436654367543685436954370543715437254373543745437554376543775437854379543805438154382543835438454385543865438754388543895439054391543925439354394543955439654397543985439954400544015440254403544045440554406544075440854409544105441154412544135441454415544165441754418544195442054421544225442354424544255442654427544285442954430544315443254433544345443554436544375443854439544405444154442544435444454445544465444754448544495445054451544525445354454544555445654457544585445954460544615446254463544645446554466544675446854469544705447154472544735447454475544765447754478544795448054481544825448354484544855448654487544885448954490544915449254493544945449554496544975449854499545005450154502545035450454505545065450754508545095451054511545125451354514545155451654517545185451954520545215452254523545245452554526545275452854529545305453154532545335453454535545365453754538545395454054541545425454354544545455454654547545485454954550545515455254553545545455554556545575455854559545605456154562545635456454565545665456754568545695457054571545725457354574545755457654577545785457954580545815458254583545845458554586545875458854589545905459154592545935459454595545965459754598545995460054601546025460354604546055460654607546085460954610546115461254613546145461554616546175461854619546205462154622546235462454625546265462754628546295463054631546325463354634546355463654637546385463954640546415464254643546445464554646546475464854649546505465154652546535465454655546565465754658546595466054661546625466354664546655466654667546685466954670546715467254673546745467554676546775467854679546805468154682546835468454685546865468754688546895469054691546925469354694546955469654697546985469954700547015470254703547045470554706547075470854709547105471154712547135471454715547165471754718547195472054721547225472354724547255472654727547285472954730547315473254733547345473554736547375473854739547405474154742547435474454745547465474754748547495475054751547525475354754547555475654757547585475954760547615476254763547645476554766547675476854769547705477154772547735477454775547765477754778547795478054781547825478354784547855478654787547885478954790547915479254793547945479554796547975479854799548005480154802548035480454805548065480754808548095481054811548125481354814548155481654817548185481954820548215482254823548245482554826548275482854829548305483154832548335483454835548365483754838548395484054841548425484354844548455484654847548485484954850548515485254853548545485554856548575485854859548605486154862548635486454865548665486754868548695487054871548725487354874
  1. // Code generated for darwin/amd64 by 'generator -D__sync_fetch_and_add(var, val)=__sync_fetch_and_add_impl(&(var), val) --predef int __sync_fetch_and_add_impl(int *p, int val); --predef int __sync_bool_compare_and_swap(void *p, void *old, void *new); --predef int initstate_r(unsigned int seed, char statebuf[], __SIZE_TYPE__ statelen, struct random_data *buf); --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 -ignore-unsupported-alignment -ignore-link-errors -I /Users/jnml/src/modernc.org/builder/.exclude/modernc.org/libexpat/include/darwin/amd64 -I /Users/jnml/src/modernc.org/builder/.exclude/modernc.org/libfreetype/include/darwin/amd64 -lexpat -lfreetype -o libfontconfig.go --package-name libfontconfig src/.libs/libfontconfig.a', DO NOT EDIT.
  2. //go:build darwin && amd64
  3. package libfontconfig
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libc"
  8. "modernc.org/libexpat"
  9. "modernc.org/libfreetype"
  10. )
  11. var _ reflect.Type
  12. var _ unsafe.Pointer
  13. const m_ACCESSX_MAX_DESCRIPTORS = 100
  14. const m_ALIGNOF_VOID_P = 8
  15. const m_BADSIG = "SIG_ERR"
  16. const m_BIG_ENDIAN = "__DARWIN_BIG_ENDIAN"
  17. const m_BUFSIZ = 1024
  18. const m_BUS_ADRALN = 1
  19. const m_BUS_ADRERR = 2
  20. const m_BUS_NOOP = 0
  21. const m_BUS_OBJERR = 3
  22. const m_BYTE_ORDER = "__DARWIN_BYTE_ORDER"
  23. const m_CLD_CONTINUED = 6
  24. const m_CLD_DUMPED = 3
  25. const m_CLD_EXITED = 1
  26. const m_CLD_KILLED = 2
  27. const m_CLD_NOOP = 0
  28. const m_CLD_STOPPED = 5
  29. const m_CLD_TRAPPED = 4
  30. const m_CLOCK_MONOTONIC = "_CLOCK_MONOTONIC"
  31. const m_CLOCK_MONOTONIC_RAW = "_CLOCK_MONOTONIC_RAW"
  32. const m_CLOCK_MONOTONIC_RAW_APPROX = "_CLOCK_MONOTONIC_RAW_APPROX"
  33. const m_CLOCK_PROCESS_CPUTIME_ID = "_CLOCK_PROCESS_CPUTIME_ID"
  34. const m_CLOCK_REALTIME = "_CLOCK_REALTIME"
  35. const m_CLOCK_THREAD_CPUTIME_ID = "_CLOCK_THREAD_CPUTIME_ID"
  36. const m_CLOCK_UPTIME_RAW = "_CLOCK_UPTIME_RAW"
  37. const m_CLOCK_UPTIME_RAW_APPROX = "_CLOCK_UPTIME_RAW_APPROX"
  38. const m_CONFIGDIR = "/etc/fonts/conf.d"
  39. const m_CPUMON_MAKE_FATAL = 0x1000
  40. const m_DBL_DECIMAL_DIG = "__DBL_DECIMAL_DIG__"
  41. const m_DBL_DIG = "__DBL_DIG__"
  42. const m_DBL_EPSILON = "__DBL_EPSILON__"
  43. const m_DBL_HAS_SUBNORM = "__DBL_HAS_DENORM__"
  44. const m_DBL_MANT_DIG = "__DBL_MANT_DIG__"
  45. const m_DBL_MAX = "__DBL_MAX__"
  46. const m_DBL_MAX_10_EXP = "__DBL_MAX_10_EXP__"
  47. const m_DBL_MAX_EXP = "__DBL_MAX_EXP__"
  48. const m_DBL_MIN = "__DBL_MIN__"
  49. const m_DBL_MIN_10_EXP = "__DBL_MIN_10_EXP__"
  50. const m_DBL_MIN_EXP = "__DBL_MIN_EXP__"
  51. const m_DBL_TRUE_MIN = "__DBL_DENORM_MIN__"
  52. const m_DECIMAL_DIG = "__DECIMAL_DIG__"
  53. const m_DOMAIN = 1
  54. const m_E2BIG = 7
  55. const m_EACCES = 13
  56. const m_EADDRINUSE = 48
  57. const m_EADDRNOTAVAIL = 49
  58. const m_EAFNOSUPPORT = 47
  59. const m_EAGAIN = 35
  60. const m_EALREADY = 37
  61. const m_EAUTH = 80
  62. const m_EBADARCH = 86
  63. const m_EBADEXEC = 85
  64. const m_EBADF = 9
  65. const m_EBADMACHO = 88
  66. const m_EBADMSG = 94
  67. const m_EBADRPC = 72
  68. const m_EBUSY = 16
  69. const m_ECANCELED = 89
  70. const m_ECHILD = 10
  71. const m_ECONNABORTED = 53
  72. const m_ECONNREFUSED = 61
  73. const m_ECONNRESET = 54
  74. const m_EDEADLK = 11
  75. const m_EDESTADDRREQ = 39
  76. const m_EDEVERR = 83
  77. const m_EDOM = 33
  78. const m_EDQUOT = 69
  79. const m_EEXIST = 17
  80. const m_EFAULT = 14
  81. const m_EFBIG = 27
  82. const m_EFTYPE = 79
  83. const m_EF_IS_PURGEABLE = 0x00000008
  84. const m_EF_IS_SPARSE = 0x00000010
  85. const m_EF_IS_SYNC_ROOT = 0x00000004
  86. const m_EF_IS_SYNTHETIC = 0x00000020
  87. const m_EF_MAY_SHARE_BLOCKS = 0x00000001
  88. const m_EF_NO_XATTRS = 0x00000002
  89. const m_EF_SHARES_ALL_BLOCKS = 0x00000040
  90. const m_EHOSTDOWN = 64
  91. const m_EHOSTUNREACH = 65
  92. const m_EIDRM = 90
  93. const m_EILSEQ = 92
  94. const m_EINPROGRESS = 36
  95. const m_EINTR = 4
  96. const m_EINVAL = 22
  97. const m_EIO = 5
  98. const m_EISCONN = 56
  99. const m_EISDIR = 21
  100. const m_ELAST = 106
  101. const m_ELOOP = 62
  102. const m_EMFILE = 24
  103. const m_EMLINK = 31
  104. const m_EMSGSIZE = 40
  105. const m_EMULTIHOP = 95
  106. const m_ENAMETOOLONG = 63
  107. const m_ENEEDAUTH = 81
  108. const m_ENETDOWN = 50
  109. const m_ENETRESET = 52
  110. const m_ENETUNREACH = 51
  111. const m_ENFILE = 23
  112. const m_ENOATTR = 93
  113. const m_ENOBUFS = 55
  114. const m_ENODATA = 96
  115. const m_ENODEV = 19
  116. const m_ENOENT = 2
  117. const m_ENOEXEC = 8
  118. const m_ENOLCK = 77
  119. const m_ENOLINK = 97
  120. const m_ENOMEM = 12
  121. const m_ENOMSG = 91
  122. const m_ENOPOLICY = 103
  123. const m_ENOPROTOOPT = 42
  124. const m_ENOSPC = 28
  125. const m_ENOSR = 98
  126. const m_ENOSTR = 99
  127. const m_ENOSYS = 78
  128. const m_ENOTBLK = 15
  129. const m_ENOTCONN = 57
  130. const m_ENOTDIR = 20
  131. const m_ENOTEMPTY = 66
  132. const m_ENOTRECOVERABLE = 104
  133. const m_ENOTSOCK = 38
  134. const m_ENOTSUP = 45
  135. const m_ENOTTY = 25
  136. const m_ENXIO = 6
  137. const m_EOPNOTSUPP = 102
  138. const m_EOVERFLOW = 84
  139. const m_EOWNERDEAD = 105
  140. const m_EPERM = 1
  141. const m_EPFNOSUPPORT = 46
  142. const m_EPIPE = 32
  143. const m_EPROCLIM = 67
  144. const m_EPROCUNAVAIL = 76
  145. const m_EPROGMISMATCH = 75
  146. const m_EPROGUNAVAIL = 74
  147. const m_EPROTO = 100
  148. const m_EPROTONOSUPPORT = 43
  149. const m_EPROTOTYPE = 41
  150. const m_EPWROFF = 82
  151. const m_EQFULL = 106
  152. const m_ERANGE = 34
  153. const m_EREMOTE = 71
  154. const m_EROFS = 30
  155. const m_ERPCMISMATCH = 73
  156. const m_ESHLIBVERS = 87
  157. const m_ESHUTDOWN = 58
  158. const m_ESOCKTNOSUPPORT = 44
  159. const m_ESPIPE = 29
  160. const m_ESRCH = 3
  161. const m_ESTALE = 70
  162. const m_ETIME = 101
  163. const m_ETIMEDOUT = 60
  164. const m_ETOOMANYREFS = 59
  165. const m_ETXTBSY = 26
  166. const m_EUSERS = 68
  167. const m_EWOULDBLOCK = "EAGAIN"
  168. const m_EXDEV = 18
  169. const m_EXIT_FAILURE = 1
  170. const m_EXIT_SUCCESS = 0
  171. const m_FCSS_ALLOW_DUPLICATES = 1
  172. const m_FCSS_DEFAULT = 0
  173. const m_FCSS_GROW_BY_64 = 2
  174. const m_FC_ADD_FONTS = "yes"
  175. const m_FC_ANTIALIAS = "antialias"
  176. const m_FC_ASPECT = "aspect"
  177. const m_FC_ATOMIC_INT_FORMAT = "d"
  178. const m_FC_AUTOHINT = "autohint"
  179. const m_FC_CACHEDIR = "/usr/var/cache/fontconfig"
  180. const m_FC_CACHE_MAGIC_ALLOC = 0xFC02FC05
  181. const m_FC_CACHE_MAGIC_MMAP = 0xFC02FC04
  182. const m_FC_CACHE_VERSION_NUMBER = 8
  183. const m_FC_CAPABILITY = "capability"
  184. const m_FC_CASE_FOLD_EVEN_ODD = 1
  185. const m_FC_CASE_FOLD_FULL = 2
  186. const m_FC_CASE_FOLD_RANGE = 0
  187. const m_FC_CHARCELL = 110
  188. const m_FC_CHARSET = "charset"
  189. const m_FC_CHARWIDTH = "charwidth"
  190. const m_FC_CHAR_HEIGHT = "charheight"
  191. const m_FC_CHAR_WIDTH = "FC_CHARWIDTH"
  192. const m_FC_COLOR = "color"
  193. const m_FC_CONFIG_PATH = "fonts.conf"
  194. const m_FC_DBG_CACHE = 16
  195. const m_FC_DBG_CACHEV = 32
  196. const m_FC_DBG_CONFIG = 1024
  197. const m_FC_DBG_EDIT = 4
  198. const m_FC_DBG_FONTSET = 8
  199. const m_FC_DBG_LANGSET = 2048
  200. const m_FC_DBG_MATCH = 1
  201. const m_FC_DBG_MATCH2 = 4096
  202. const m_FC_DBG_MATCHV = 2
  203. const m_FC_DBG_PARSE = 64
  204. const m_FC_DBG_SCAN = 128
  205. const m_FC_DBG_SCANV = 256
  206. const m_FC_DECORATIVE = "decorative"
  207. const m_FC_DEFAULT_FONTS = "<dir>/System/Library/Fonts</dir> <dir>/Library/Fonts</dir> <dir>~/Library/Fonts</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font3</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font4</dir>"
  208. const m_FC_DIR_SEPARATOR = '/'
  209. const m_FC_DIR_SEPARATOR_S = "/"
  210. const m_FC_DPI = "dpi"
  211. const m_FC_DUAL = 90
  212. const m_FC_EMBEDDED_BITMAP = "embeddedbitmap"
  213. const m_FC_EMBOLDEN = "embolden"
  214. const m_FC_EXT_OBJ_INDEX = 1024
  215. const m_FC_FAMILY = "family"
  216. const m_FC_FAMILYLANG = "familylang"
  217. const m_FC_FILE = "file"
  218. const m_FC_FONTFORMAT = "fontformat"
  219. const m_FC_FONTVERSION = "fontversion"
  220. const m_FC_FONT_FEATURES = "fontfeatures"
  221. const m_FC_FONT_HAS_HINT = "fonthashint"
  222. const m_FC_FONT_VARIATIONS = "fontvariations"
  223. const m_FC_FOUNDRY = "foundry"
  224. const m_FC_FT_FACE = "ftface"
  225. const m_FC_FULLNAME = "fullname"
  226. const m_FC_FULLNAMELANG = "fullnamelang"
  227. const m_FC_GLOBAL_ADVANCE = "globaladvance"
  228. const m_FC_HASH = "hash"
  229. const m_FC_HINTING = "hinting"
  230. const m_FC_HINT_FULL = 3
  231. const m_FC_HINT_MEDIUM = 2
  232. const m_FC_HINT_NONE = 0
  233. const m_FC_HINT_SLIGHT = 1
  234. const m_FC_HINT_STYLE = "hintstyle"
  235. const m_FC_INDEX = "index"
  236. const m_FC_LANG = "lang"
  237. const m_FC_LCD_DEFAULT = 1
  238. const m_FC_LCD_FILTER = "lcdfilter"
  239. const m_FC_LCD_LEGACY = 3
  240. const m_FC_LCD_LIGHT = 2
  241. const m_FC_LCD_NONE = 0
  242. const m_FC_MAJOR = 2
  243. const m_FC_MATRIX = "matrix"
  244. const m_FC_MAX_FILE_LEN = 4096
  245. const m_FC_MINOR = 14
  246. const m_FC_MINSPACE = "minspace"
  247. const m_FC_MONO = 100
  248. const m_FC_MUTEX_IMPL_INIT = 0
  249. const m_FC_NAMELANG = "namelang"
  250. const m_FC_NO_MT = 1
  251. const m_FC_ORDER = "order"
  252. const m_FC_OUTLINE = "outline"
  253. const m_FC_PATH_MAX = 128
  254. const m_FC_PIXEL_SIZE = "pixelsize"
  255. const m_FC_POSTSCRIPT_NAME = "postscriptname"
  256. const m_FC_PRGNAME = "prgname"
  257. const m_FC_PROPORTIONAL = 0
  258. const m_FC_RASTERIZER = "rasterizer"
  259. const m_FC_REVISION = 1
  260. const m_FC_RGBA = "rgba"
  261. const m_FC_RGBA_BGR = 2
  262. const m_FC_RGBA_NONE = 5
  263. const m_FC_RGBA_RGB = 1
  264. const m_FC_RGBA_UNKNOWN = 0
  265. const m_FC_RGBA_VBGR = 4
  266. const m_FC_RGBA_VRGB = 3
  267. const m_FC_SCALABLE = "scalable"
  268. const m_FC_SCALE = "scale"
  269. const m_FC_SEARCH_PATH_SEPARATOR = ':'
  270. const m_FC_SIZE = "size"
  271. const m_FC_SLANT = "slant"
  272. const m_FC_SLANT_ITALIC = 100
  273. const m_FC_SLANT_OBLIQUE = 110
  274. const m_FC_SLANT_ROMAN = 0
  275. const m_FC_SOURCE = "source"
  276. const m_FC_SPACING = "spacing"
  277. const m_FC_STMT_START = "do"
  278. const m_FC_STYLE = "style"
  279. const m_FC_STYLELANG = "stylelang"
  280. const m_FC_SYMBOL = "symbol"
  281. const m_FC_TEMPLATEDIR = "/usr/share/fontconfig/conf.avail"
  282. const m_FC_UINT64_FORMAT = "llu"
  283. const m_FC_UTF8_MAX_LEN = 6
  284. const m_FC_VARIABLE = "variable"
  285. const m_FC_VERTICAL_LAYOUT = "verticallayout"
  286. const m_FC_WEIGHT = "weight"
  287. const m_FC_WEIGHT_BLACK = 210
  288. const m_FC_WEIGHT_BOLD = 200
  289. const m_FC_WEIGHT_BOOK = 75
  290. const m_FC_WEIGHT_DEMIBOLD = 180
  291. const m_FC_WEIGHT_DEMILIGHT = 55
  292. const m_FC_WEIGHT_EXTRABLACK = 215
  293. const m_FC_WEIGHT_EXTRABOLD = 205
  294. const m_FC_WEIGHT_EXTRALIGHT = 40
  295. const m_FC_WEIGHT_HEAVY = "FC_WEIGHT_BLACK"
  296. const m_FC_WEIGHT_LIGHT = 50
  297. const m_FC_WEIGHT_MEDIUM = 100
  298. const m_FC_WEIGHT_NORMAL = "FC_WEIGHT_REGULAR"
  299. const m_FC_WEIGHT_REGULAR = 80
  300. const m_FC_WEIGHT_SEMIBOLD = "FC_WEIGHT_DEMIBOLD"
  301. const m_FC_WEIGHT_SEMILIGHT = "FC_WEIGHT_DEMILIGHT"
  302. const m_FC_WEIGHT_THIN = 0
  303. const m_FC_WEIGHT_ULTRABLACK = "FC_WEIGHT_EXTRABLACK"
  304. const m_FC_WEIGHT_ULTRABOLD = "FC_WEIGHT_EXTRABOLD"
  305. const m_FC_WEIGHT_ULTRALIGHT = "FC_WEIGHT_EXTRALIGHT"
  306. const m_FC_WIDTH = "width"
  307. const m_FC_WIDTH_CONDENSED = 75
  308. const m_FC_WIDTH_EXPANDED = 125
  309. const m_FC_WIDTH_EXTRACONDENSED = 63
  310. const m_FC_WIDTH_EXTRAEXPANDED = 150
  311. const m_FC_WIDTH_NORMAL = 100
  312. const m_FC_WIDTH_SEMICONDENSED = 87
  313. const m_FC_WIDTH_SEMIEXPANDED = 113
  314. const m_FC_WIDTH_ULTRACONDENSED = 50
  315. const m_FC_WIDTH_ULTRAEXPANDED = 200
  316. const m_FD_SETSIZE = "__DARWIN_FD_SETSIZE"
  317. const m_FILENAME_MAX = 1024
  318. const m_FLT16_DECIMAL_DIG = "__FLT16_DECIMAL_DIG__"
  319. const m_FLT16_DIG = "__FLT16_DIG__"
  320. const m_FLT16_EPSILON = "__FLT16_EPSILON__"
  321. const m_FLT16_MANT_DIG = "__FLT16_MANT_DIG__"
  322. const m_FLT16_MAX = "__FLT16_MAX__"
  323. const m_FLT16_MAX_10_EXP = "__FLT16_MAX_10_EXP__"
  324. const m_FLT16_MAX_EXP = "__FLT16_MAX_EXP__"
  325. const m_FLT16_MIN = "__FLT16_MIN__"
  326. const m_FLT16_MIN_10_EXP = "__FLT16_MIN_10_EXP__"
  327. const m_FLT16_MIN_EXP = "__FLT16_MIN_EXP__"
  328. const m_FLT16_TRUE_MIN = "__FLT16_TRUE_MIN__"
  329. const m_FLT_DECIMAL_DIG = "__FLT_DECIMAL_DIG__"
  330. const m_FLT_DIG = "__FLT_DIG__"
  331. const m_FLT_EPSILON = "__FLT_EPSILON__"
  332. const m_FLT_EVAL_METHOD = "__FLT_EVAL_METHOD__"
  333. const m_FLT_HAS_SUBNORM = "__FLT_HAS_DENORM__"
  334. const m_FLT_MANT_DIG = "__FLT_MANT_DIG__"
  335. const m_FLT_MAX = "__FLT_MAX__"
  336. const m_FLT_MAX_10_EXP = "__FLT_MAX_10_EXP__"
  337. const m_FLT_MAX_EXP = "__FLT_MAX_EXP__"
  338. const m_FLT_MIN = "__FLT_MIN__"
  339. const m_FLT_MIN_10_EXP = "__FLT_MIN_10_EXP__"
  340. const m_FLT_MIN_EXP = "__FLT_MIN_EXP__"
  341. const m_FLT_RADIX = "__FLT_RADIX__"
  342. const m_FLT_TRUE_MIN = "__FLT_DENORM_MIN__"
  343. const m_FONTCONFIG_PATH = "/etc/fonts"
  344. const m_FOOTPRINT_INTERVAL_RESET = 0x1
  345. const m_FOPEN_MAX = 20
  346. const m_FPE_FLTDIV = 1
  347. const m_FPE_FLTINV = 5
  348. const m_FPE_FLTOVF = 2
  349. const m_FPE_FLTRES = 4
  350. const m_FPE_FLTSUB = 6
  351. const m_FPE_FLTUND = 3
  352. const m_FPE_INTDIV = 7
  353. const m_FPE_INTOVF = 8
  354. const m_FPE_NOOP = 0
  355. const m_FP_CHOP = 3
  356. const m_FP_INFINITE = 2
  357. const m_FP_NAN = 1
  358. const m_FP_NORMAL = 4
  359. const m_FP_PREC_24B = 0
  360. const m_FP_PREC_53B = 2
  361. const m_FP_PREC_64B = 3
  362. const m_FP_QNAN = "FP_NAN"
  363. const m_FP_RND_DOWN = 1
  364. const m_FP_RND_NEAR = 0
  365. const m_FP_RND_UP = 2
  366. const m_FP_SNAN = "FP_NAN"
  367. const m_FP_STATE_BYTES = 512
  368. const m_FP_SUBNORMAL = 5
  369. const m_FP_SUPERNORMAL = 6
  370. const m_FP_ZERO = 3
  371. const m_F_LOCK = 1
  372. const m_F_OK = 0
  373. const m_F_TEST = 3
  374. const m_F_TLOCK = 2
  375. const m_F_ULOCK = 0
  376. const m_FcDontCare = 2
  377. const m_FcFalse = 0
  378. const m_FcTrue = 1
  379. const m_GETTEXT_PACKAGE = "fontconfig"
  380. const m_HAVE_CFLOCALECOPYCURRENT = 1
  381. const m_HAVE_CFPREFERENCESCOPYAPPVALUE = 1
  382. const m_HAVE_CONFIG_H = 1
  383. const m_HAVE_DIRENT_H = 1
  384. const m_HAVE_DLFCN_H = 1
  385. const m_HAVE_FCNTL_H = 1
  386. const m_HAVE_FSTATFS = 1
  387. const m_HAVE_FSTATVFS = 1
  388. const m_HAVE_GETOPT = 1
  389. const m_HAVE_GETOPT_LONG = 1
  390. const m_HAVE_GETPAGESIZE = 1
  391. const m_HAVE_GETPROGNAME = 1
  392. const m_HAVE_ICONV = 1
  393. const m_HAVE_INTEL_ATOMIC_PRIMITIVES = 1
  394. const m_HAVE_INTTYPES_H = 1
  395. const m_HAVE_LINK = 1
  396. const m_HAVE_LRAND48 = 1
  397. const m_HAVE_LSTAT = 1
  398. const m_HAVE_MKDTEMP = 1
  399. const m_HAVE_MKOSTEMP = 1
  400. const m_HAVE_MKSTEMP = 1
  401. const m_HAVE_MMAP = 1
  402. const m_HAVE_POSIX_FADVISE = 0
  403. const m_HAVE_PTHREAD = 1
  404. const m_HAVE_PTHREAD_PRIO_INHERIT = 1
  405. const m_HAVE_RAND = 1
  406. const m_HAVE_RANDOM = 1
  407. const m_HAVE_RAND_R = 1
  408. const m_HAVE_READLINK = 1
  409. const m_HAVE_STDATOMIC_PRIMITIVES = 1
  410. const m_HAVE_STDINT_H = 1
  411. const m_HAVE_STDIO_H = 1
  412. const m_HAVE_STDLIB_H = 1
  413. const m_HAVE_STRERROR = 1
  414. const m_HAVE_STRERROR_R = 1
  415. const m_HAVE_STRINGS_H = 1
  416. const m_HAVE_STRING_H = 1
  417. const m_HAVE_STRUCT_DIRENT_D_TYPE = 1
  418. const m_HAVE_STRUCT_STATFS_F_FLAGS = 1
  419. const m_HAVE_STRUCT_STATFS_F_FSTYPENAME = 1
  420. const m_HAVE_SYS_MOUNT_H = 1
  421. const m_HAVE_SYS_PARAM_H = 1
  422. const m_HAVE_SYS_STATVFS_H = 1
  423. const m_HAVE_SYS_STAT_H = 1
  424. const m_HAVE_SYS_TYPES_H = 1
  425. const m_HAVE_UNISTD_H = 1
  426. const m_HAVE_VPRINTF = 1
  427. const m_HAVE_WARNING_CPP_DIRECTIVE = 1
  428. const m_HAVE_WCHAR_H = 1
  429. const m_HAVE_XML_SETDOCTYPEDECLHANDLER = 1
  430. const m_HUGE = "MAXFLOAT"
  431. const m_ILL_BADSTK = 8
  432. const m_ILL_COPROC = 7
  433. const m_ILL_ILLADR = 5
  434. const m_ILL_ILLOPC = 1
  435. const m_ILL_ILLOPN = 4
  436. const m_ILL_ILLTRP = 2
  437. const m_ILL_NOOP = 0
  438. const m_ILL_PRVOPC = 3
  439. const m_ILL_PRVREG = 6
  440. const m_INFINITY = "HUGE_VALF"
  441. const m_INTMAX_MAX = "__INTMAX_MAX__"
  442. const m_INTPTR_MAX = "__INTPTR_MAX__"
  443. const m_INT_FAST16_MAX = "__INT_LEAST16_MAX"
  444. const m_INT_FAST16_MIN = "__INT_LEAST16_MIN"
  445. const m_INT_FAST32_MAX = "__INT_LEAST32_MAX"
  446. const m_INT_FAST32_MIN = "__INT_LEAST32_MIN"
  447. const m_INT_FAST64_MAX = "__INT_LEAST64_MAX"
  448. const m_INT_FAST64_MIN = "__INT_LEAST64_MIN"
  449. const m_INT_FAST8_MAX = "__INT_LEAST8_MAX"
  450. const m_INT_FAST8_MIN = "__INT_LEAST8_MIN"
  451. const m_INT_LEAST16_MAX = "__INT_LEAST16_MAX"
  452. const m_INT_LEAST16_MIN = "__INT_LEAST16_MIN"
  453. const m_INT_LEAST32_MAX = "__INT_LEAST32_MAX"
  454. const m_INT_LEAST32_MIN = "__INT_LEAST32_MIN"
  455. const m_INT_LEAST64_MAX = "__INT_LEAST64_MAX"
  456. const m_INT_LEAST64_MIN = "__INT_LEAST64_MIN"
  457. const m_INT_LEAST8_MAX = "__INT_LEAST8_MAX"
  458. const m_INT_LEAST8_MIN = "__INT_LEAST8_MIN"
  459. const m_IOPOL_APPLICATION = "IOPOL_STANDARD"
  460. const m_IOPOL_ATIME_UPDATES_DEFAULT = 0
  461. const m_IOPOL_ATIME_UPDATES_OFF = 1
  462. const m_IOPOL_DEFAULT = 0
  463. const m_IOPOL_IMPORTANT = 1
  464. const m_IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0
  465. const m_IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1
  466. const m_IOPOL_MATERIALIZE_DATALESS_FILES_ON = 2
  467. const m_IOPOL_NORMAL = "IOPOL_IMPORTANT"
  468. const m_IOPOL_PASSIVE = 2
  469. const m_IOPOL_SCOPE_DARWIN_BG = 2
  470. const m_IOPOL_SCOPE_PROCESS = 0
  471. const m_IOPOL_SCOPE_THREAD = 1
  472. const m_IOPOL_STANDARD = 5
  473. const m_IOPOL_THROTTLE = 3
  474. const m_IOPOL_TYPE_DISK = 0
  475. const m_IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES = 9
  476. const m_IOPOL_TYPE_VFS_ATIME_UPDATES = 2
  477. const m_IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY = 10
  478. const m_IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 6
  479. const m_IOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 7
  480. const m_IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3
  481. const m_IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 8
  482. const m_IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4
  483. const m_IOPOL_TYPE_VFS_TRIGGER_RESOLVE = 5
  484. const m_IOPOL_UTILITY = 4
  485. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF = 0
  486. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON = 1
  487. const m_IOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0
  488. const m_IOPOL_VFS_CONTENT_PROTECTION_IGNORE = 1
  489. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT = 0
  490. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON = 1
  491. const m_IOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0
  492. const m_IOPOL_VFS_IGNORE_PERMISSIONS_ON = 1
  493. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT = 0
  494. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON = 1
  495. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0
  496. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_ON = 1
  497. const m_IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1
  498. const m_IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0
  499. const m_IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0
  500. const m_IOPOL_VFS_TRIGGER_RESOLVE_OFF = 1
  501. const m_LCK_NAME = ".LCK"
  502. const m_LDBL_DECIMAL_DIG = "__LDBL_DECIMAL_DIG__"
  503. const m_LDBL_DIG = "__LDBL_DIG__"
  504. const m_LDBL_EPSILON = "__LDBL_EPSILON__"
  505. const m_LDBL_HAS_SUBNORM = "__LDBL_HAS_DENORM__"
  506. const m_LDBL_MANT_DIG = "__LDBL_MANT_DIG__"
  507. const m_LDBL_MAX = "__LDBL_MAX__"
  508. const m_LDBL_MAX_10_EXP = "__LDBL_MAX_10_EXP__"
  509. const m_LDBL_MAX_EXP = "__LDBL_MAX_EXP__"
  510. const m_LDBL_MIN = "__LDBL_MIN__"
  511. const m_LDBL_MIN_10_EXP = "__LDBL_MIN_10_EXP__"
  512. const m_LDBL_MIN_EXP = "__LDBL_MIN_EXP__"
  513. const m_LDBL_TRUE_MIN = "__LDBL_DENORM_MIN__"
  514. const m_LITTLE_ENDIAN = "__DARWIN_LITTLE_ENDIAN"
  515. const m_LT_OBJDIR = ".libs/"
  516. const m_L_INCR = "SEEK_CUR"
  517. const m_L_SET = "SEEK_SET"
  518. const m_L_XTND = "SEEK_END"
  519. const m_L_ctermid = 1024
  520. const m_L_tmpnam = 1024
  521. const m_MAC_OS_VERSION_11_0 = "__MAC_11_0"
  522. const m_MAC_OS_VERSION_11_1 = "__MAC_11_1"
  523. const m_MAC_OS_VERSION_11_3 = "__MAC_11_3"
  524. const m_MAC_OS_VERSION_11_4 = "__MAC_11_4"
  525. const m_MAC_OS_VERSION_11_5 = "__MAC_11_5"
  526. const m_MAC_OS_VERSION_11_6 = "__MAC_11_6"
  527. const m_MAC_OS_VERSION_12_0 = "__MAC_12_0"
  528. const m_MAC_OS_VERSION_12_1 = "__MAC_12_1"
  529. const m_MAC_OS_VERSION_12_2 = "__MAC_12_2"
  530. const m_MAC_OS_VERSION_12_3 = "__MAC_12_3"
  531. const m_MAC_OS_VERSION_12_4 = "__MAC_12_4"
  532. const m_MAC_OS_VERSION_12_5 = "__MAC_12_5"
  533. const m_MAC_OS_VERSION_12_6 = "__MAC_12_6"
  534. const m_MAC_OS_VERSION_12_7 = "__MAC_12_7"
  535. const m_MAC_OS_VERSION_13_0 = "__MAC_13_0"
  536. const m_MAC_OS_VERSION_13_1 = "__MAC_13_1"
  537. const m_MAC_OS_VERSION_13_2 = "__MAC_13_2"
  538. const m_MAC_OS_VERSION_13_3 = "__MAC_13_3"
  539. const m_MAC_OS_VERSION_13_4 = "__MAC_13_4"
  540. const m_MAC_OS_VERSION_13_5 = "__MAC_13_5"
  541. const m_MAC_OS_VERSION_13_6 = "__MAC_13_6"
  542. const m_MAC_OS_VERSION_14_0 = "__MAC_14_0"
  543. const m_MAC_OS_VERSION_14_1 = "__MAC_14_1"
  544. const m_MAC_OS_VERSION_14_2 = "__MAC_14_2"
  545. const m_MAC_OS_VERSION_14_3 = "__MAC_14_3"
  546. const m_MAC_OS_VERSION_14_4 = "__MAC_14_4"
  547. const m_MAC_OS_VERSION_14_5 = "__MAC_14_5"
  548. const m_MAC_OS_VERSION_15_0 = "__MAC_15_0"
  549. const m_MAC_OS_VERSION_15_1 = "__MAC_15_1"
  550. const m_MAC_OS_VERSION_15_2 = "__MAC_15_2"
  551. const m_MAC_OS_X_VERSION_10_0 = "__MAC_10_0"
  552. const m_MAC_OS_X_VERSION_10_1 = "__MAC_10_1"
  553. const m_MAC_OS_X_VERSION_10_10 = "__MAC_10_10"
  554. const m_MAC_OS_X_VERSION_10_10_2 = "__MAC_10_10_2"
  555. const m_MAC_OS_X_VERSION_10_10_3 = "__MAC_10_10_3"
  556. const m_MAC_OS_X_VERSION_10_11 = "__MAC_10_11"
  557. const m_MAC_OS_X_VERSION_10_11_2 = "__MAC_10_11_2"
  558. const m_MAC_OS_X_VERSION_10_11_3 = "__MAC_10_11_3"
  559. const m_MAC_OS_X_VERSION_10_11_4 = "__MAC_10_11_4"
  560. const m_MAC_OS_X_VERSION_10_12 = "__MAC_10_12"
  561. const m_MAC_OS_X_VERSION_10_12_1 = "__MAC_10_12_1"
  562. const m_MAC_OS_X_VERSION_10_12_2 = "__MAC_10_12_2"
  563. const m_MAC_OS_X_VERSION_10_12_4 = "__MAC_10_12_4"
  564. const m_MAC_OS_X_VERSION_10_13 = "__MAC_10_13"
  565. const m_MAC_OS_X_VERSION_10_13_1 = "__MAC_10_13_1"
  566. const m_MAC_OS_X_VERSION_10_13_2 = "__MAC_10_13_2"
  567. const m_MAC_OS_X_VERSION_10_13_4 = "__MAC_10_13_4"
  568. const m_MAC_OS_X_VERSION_10_14 = "__MAC_10_14"
  569. const m_MAC_OS_X_VERSION_10_14_1 = "__MAC_10_14_1"
  570. const m_MAC_OS_X_VERSION_10_14_4 = "__MAC_10_14_4"
  571. const m_MAC_OS_X_VERSION_10_14_5 = "__MAC_10_14_5"
  572. const m_MAC_OS_X_VERSION_10_14_6 = "__MAC_10_14_6"
  573. const m_MAC_OS_X_VERSION_10_15 = "__MAC_10_15"
  574. const m_MAC_OS_X_VERSION_10_15_1 = "__MAC_10_15_1"
  575. const m_MAC_OS_X_VERSION_10_15_4 = "__MAC_10_15_4"
  576. const m_MAC_OS_X_VERSION_10_16 = "__MAC_10_16"
  577. const m_MAC_OS_X_VERSION_10_2 = "__MAC_10_2"
  578. const m_MAC_OS_X_VERSION_10_3 = "__MAC_10_3"
  579. const m_MAC_OS_X_VERSION_10_4 = "__MAC_10_4"
  580. const m_MAC_OS_X_VERSION_10_5 = "__MAC_10_5"
  581. const m_MAC_OS_X_VERSION_10_6 = "__MAC_10_6"
  582. const m_MAC_OS_X_VERSION_10_7 = "__MAC_10_7"
  583. const m_MAC_OS_X_VERSION_10_8 = "__MAC_10_8"
  584. const m_MAC_OS_X_VERSION_10_9 = "__MAC_10_9"
  585. const m_MATH_ERREXCEPT = 2
  586. const m_MATH_ERRNO = 1
  587. const m_MAXFLOAT = "0x1.fffffep+127f"
  588. const m_MB_CUR_MAX = "__mb_cur_max"
  589. const m_MB_LEN_MAX = 1
  590. const m_MINSIGSTKSZ = 32768
  591. const m_M_1_PI = 0.318309886183790671537767526745028724
  592. const m_M_2_PI = 0.636619772367581343075535053490057448
  593. const m_M_2_SQRTPI = 1.12837916709551257389615890312154517
  594. const m_M_E = 2.71828182845904523536028747135266250
  595. const m_M_LN10 = 2.30258509299404568401799145468436421
  596. const m_M_LN2 = 0.693147180559945309417232121458176568
  597. const m_M_LOG10E = 0.434294481903251827651128918916605082
  598. const m_M_LOG2E = 1.44269504088896340735992468100189214
  599. const m_M_PI = 3.14159265358979323846264338327950288
  600. const m_M_PI_2 = 1.57079632679489661923132169163975144
  601. const m_M_PI_4 = 0.785398163397448309615660845819875721
  602. const m_M_SQRT1_2 = 0.707106781186547524400844362104849039
  603. const m_M_SQRT2 = 1.41421356237309504880168872420969808
  604. const m_NBBY = "__DARWIN_NBBY"
  605. const m_NDEBUG = 1
  606. const m_NEW_NAME = ".NEW"
  607. const m_NFDBITS = "__DARWIN_NFDBITS"
  608. const m_NSIG = "__DARWIN_NSIG"
  609. const m_OVERFLOW = 3
  610. const m_PACKAGE = "fontconfig"
  611. const m_PACKAGE_BUGREPORT = "https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new"
  612. const m_PACKAGE_NAME = "fontconfig"
  613. const m_PACKAGE_STRING = "fontconfig 2.14.1"
  614. const m_PACKAGE_TARNAME = "fontconfig"
  615. const m_PACKAGE_URL = ""
  616. const m_PACKAGE_VERSION = "2.14.1"
  617. const m_PDP_ENDIAN = "__DARWIN_PDP_ENDIAN"
  618. const m_PLOSS = 6
  619. const m_POLL_ERR = 4
  620. const m_POLL_HUP = 6
  621. const m_POLL_IN = 1
  622. const m_POLL_MSG = 3
  623. const m_POLL_OUT = 2
  624. const m_POLL_PRI = 5
  625. const m_PRIO_DARWIN_BG = 0x1000
  626. const m_PRIO_DARWIN_NONUI = 0x1001
  627. const m_PRIO_DARWIN_PROCESS = 4
  628. const m_PRIO_DARWIN_THREAD = 3
  629. const m_PRIO_MAX = 20
  630. const m_PRIO_PGRP = 1
  631. const m_PRIO_PROCESS = 0
  632. const m_PRIO_USER = 2
  633. const m_PTRDIFF_MAX = "__PTRDIFF_MAX__"
  634. const m_P_tmpdir = "/var/tmp/"
  635. const m_RAND_MAX = 0x7fffffff
  636. const m_RENAME_EXCL = 0x00000004
  637. const m_RENAME_NOFOLLOW_ANY = 0x00000010
  638. const m_RENAME_RESERVED1 = 0x00000008
  639. const m_RENAME_SECLUDE = 0x00000001
  640. const m_RENAME_SWAP = 0x00000002
  641. const m_RLIMIT_AS = 5
  642. const m_RLIMIT_CORE = 4
  643. const m_RLIMIT_CPU = 0
  644. const m_RLIMIT_CPU_USAGE_MONITOR = 0x2
  645. const m_RLIMIT_DATA = 2
  646. const m_RLIMIT_FOOTPRINT_INTERVAL = 0x4
  647. const m_RLIMIT_FSIZE = 1
  648. const m_RLIMIT_MEMLOCK = 6
  649. const m_RLIMIT_NOFILE = 8
  650. const m_RLIMIT_NPROC = 7
  651. const m_RLIMIT_RSS = "RLIMIT_AS"
  652. const m_RLIMIT_STACK = 3
  653. const m_RLIMIT_THREAD_CPULIMITS = 0x3
  654. const m_RLIMIT_WAKEUPS_MONITOR = 0x1
  655. const m_RLIM_NLIMITS = 9
  656. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  657. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  658. const m_RUSAGE_INFO_CURRENT = "RUSAGE_INFO_V6"
  659. const m_RUSAGE_INFO_V0 = 0
  660. const m_RUSAGE_INFO_V1 = 1
  661. const m_RUSAGE_INFO_V2 = 2
  662. const m_RUSAGE_INFO_V3 = 3
  663. const m_RUSAGE_INFO_V4 = 4
  664. const m_RUSAGE_INFO_V5 = 5
  665. const m_RUSAGE_INFO_V6 = 6
  666. const m_RUSAGE_SELF = 0
  667. const m_RU_PROC_RUNS_RESLIDE = 0x00000001
  668. const m_SA_64REGSET = 0x0200
  669. const m_SA_NOCLDSTOP = 0x0008
  670. const m_SA_NOCLDWAIT = 0x0020
  671. const m_SA_NODEFER = 0x0010
  672. const m_SA_ONSTACK = 0x0001
  673. const m_SA_RESETHAND = 0x0004
  674. const m_SA_RESTART = 0x0002
  675. const m_SA_SIGINFO = 0x0040
  676. const m_SA_USERTRAMP = 0x0100
  677. const m_SEEK_CUR = 1
  678. const m_SEEK_DATA = 4
  679. const m_SEEK_END = 2
  680. const m_SEEK_HOLE = 3
  681. const m_SEEK_SET = 0
  682. const m_SEGV_ACCERR = 2
  683. const m_SEGV_MAPERR = 1
  684. const m_SEGV_NOOP = 0
  685. const m_SF_APPEND = 0x00040000
  686. const m_SF_ARCHIVED = 0x00010000
  687. const m_SF_DATALESS = 0x40000000
  688. const m_SF_FIRMLINK = 0x00800000
  689. const m_SF_IMMUTABLE = 0x00020000
  690. const m_SF_NOUNLINK = 0x00100000
  691. const m_SF_RESTRICTED = 0x00080000
  692. const m_SF_SETTABLE = 0x3fff0000
  693. const m_SF_SUPPORTED = 0x009f0000
  694. const m_SF_SYNTHETIC = 0xc0000000
  695. const m_SIGABRT = 6
  696. const m_SIGALRM = 14
  697. const m_SIGBUS = 10
  698. const m_SIGCHLD = 20
  699. const m_SIGCONT = 19
  700. const m_SIGEMT = 7
  701. const m_SIGEV_NONE = 0
  702. const m_SIGEV_SIGNAL = 1
  703. const m_SIGEV_THREAD = 3
  704. const m_SIGFPE = 8
  705. const m_SIGHUP = 1
  706. const m_SIGILL = 4
  707. const m_SIGINFO = 29
  708. const m_SIGINT = 2
  709. const m_SIGIO = 23
  710. const m_SIGIOT = "SIGABRT"
  711. const m_SIGKILL = 9
  712. const m_SIGPIPE = 13
  713. const m_SIGPROF = 27
  714. const m_SIGQUIT = 3
  715. const m_SIGSEGV = 11
  716. const m_SIGSTKSZ = 131072
  717. const m_SIGSTOP = 17
  718. const m_SIGSYS = 12
  719. const m_SIGTERM = 15
  720. const m_SIGTRAP = 5
  721. const m_SIGTSTP = 18
  722. const m_SIGTTIN = 21
  723. const m_SIGTTOU = 22
  724. const m_SIGURG = 16
  725. const m_SIGUSR1 = 30
  726. const m_SIGUSR2 = 31
  727. const m_SIGVTALRM = 26
  728. const m_SIGWINCH = 28
  729. const m_SIGXCPU = 24
  730. const m_SIGXFSZ = 25
  731. const m_SIG_BLOCK = 1
  732. const m_SIG_SETMASK = 3
  733. const m_SIG_UNBLOCK = 2
  734. const m_SING = 2
  735. const m_SIZE_MAX = "__SIZE_MAX__"
  736. const m_SI_ASYNCIO = 0x10004
  737. const m_SI_MESGQ = 0x10005
  738. const m_SI_QUEUE = 0x10002
  739. const m_SI_TIMER = 0x10003
  740. const m_SI_USER = 0x10001
  741. const m_SS_DISABLE = 0x0004
  742. const m_SS_ONSTACK = 0x0001
  743. const m_STDC_HEADERS = 1
  744. const m_STDERR_FILENO = 2
  745. const m_STDIN_FILENO = 0
  746. const m_STDOUT_FILENO = 1
  747. const m_SV_INTERRUPT = "SA_RESTART"
  748. const m_SV_NOCLDSTOP = "SA_NOCLDSTOP"
  749. const m_SV_NODEFER = "SA_NODEFER"
  750. const m_SV_ONSTACK = "SA_ONSTACK"
  751. const m_SV_RESETHAND = "SA_RESETHAND"
  752. const m_SV_SIGINFO = "SA_SIGINFO"
  753. const m_SYNC_VOLUME_FULLSYNC = 0x01
  754. const m_SYNC_VOLUME_WAIT = 0x02
  755. const m_S_BLKSIZE = 512
  756. const m_S_IEXEC = "S_IXUSR"
  757. const m_S_IFBLK = 0060000
  758. const m_S_IFCHR = 0020000
  759. const m_S_IFDIR = 0040000
  760. const m_S_IFIFO = 0010000
  761. const m_S_IFLNK = 0120000
  762. const m_S_IFMT = 0170000
  763. const m_S_IFREG = 0100000
  764. const m_S_IFSOCK = 0140000
  765. const m_S_IFWHT = 0160000
  766. const m_S_IREAD = "S_IRUSR"
  767. const m_S_IRGRP = 0000040
  768. const m_S_IROTH = 0000004
  769. const m_S_IRUSR = 0000400
  770. const m_S_IRWXG = 0000070
  771. const m_S_IRWXO = 0000007
  772. const m_S_IRWXU = 0000700
  773. const m_S_ISGID = 0002000
  774. const m_S_ISTXT = "S_ISVTX"
  775. const m_S_ISUID = 0004000
  776. const m_S_ISVTX = 0001000
  777. const m_S_IWGRP = 0000020
  778. const m_S_IWOTH = 0000002
  779. const m_S_IWRITE = "S_IWUSR"
  780. const m_S_IWUSR = 0000200
  781. const m_S_IXGRP = 0000010
  782. const m_S_IXOTH = 0000001
  783. const m_S_IXUSR = 0000100
  784. const m_TIME_UTC = 1
  785. const m_TLOSS = 5
  786. const m_TMP_MAX = 308915776
  787. const m_TMP_NAME = ".TMP-XXXXXX"
  788. const m_TRAP_BRKPT = 1
  789. const m_TRAP_TRACE = 2
  790. const m_UF_APPEND = 0x00000004
  791. const m_UF_COMPRESSED = 0x00000020
  792. const m_UF_DATAVAULT = 0x00000080
  793. const m_UF_HIDDEN = 0x00008000
  794. const m_UF_IMMUTABLE = 0x00000002
  795. const m_UF_NODUMP = 0x00000001
  796. const m_UF_OPAQUE = 0x00000008
  797. const m_UF_SETTABLE = 0x0000ffff
  798. const m_UF_TRACKED = 0x00000040
  799. const m_UINTMAX_MAX = "__UINTMAX_MAX__"
  800. const m_UINTPTR_MAX = "__UINTPTR_MAX__"
  801. const m_UINT_FAST16_MAX = "__UINT_LEAST16_MAX"
  802. const m_UINT_FAST32_MAX = "__UINT_LEAST32_MAX"
  803. const m_UINT_FAST64_MAX = "__UINT_LEAST64_MAX"
  804. const m_UINT_FAST8_MAX = "__UINT_LEAST8_MAX"
  805. const m_UINT_LEAST16_MAX = "__UINT_LEAST16_MAX"
  806. const m_UINT_LEAST32_MAX = "__UINT_LEAST32_MAX"
  807. const m_UINT_LEAST64_MAX = "__UINT_LEAST64_MAX"
  808. const m_UINT_LEAST8_MAX = "__UINT_LEAST8_MAX"
  809. const m_UNDERFLOW = 4
  810. const m_USE_ICONV = 0
  811. const m_VERSION = "2.14.1"
  812. const m_WAIT_MYPGRP = 0
  813. const m_WAKEMON_DISABLE = 0x02
  814. const m_WAKEMON_ENABLE = 0x01
  815. const m_WAKEMON_GET_PARAMS = 0x04
  816. const m_WAKEMON_MAKE_FATAL = 0x10
  817. const m_WAKEMON_SET_DEFAULTS = 0x08
  818. const m_WCHAR_MAX = "__WCHAR_MAX__"
  819. const m_WCONTINUED = 0x00000010
  820. const m_WCOREFLAG = 0200
  821. const m_WEXITED = 0x00000004
  822. const m_WNOHANG = 0x00000001
  823. const m_WNOWAIT = 0x00000020
  824. const m_WSTOPPED = 0x00000008
  825. const m_WUNTRACED = 0x00000002
  826. const m_X_TLOSS = 1.41484755040568800000e+16
  827. const m__ALL_SOURCE = 1
  828. const m__CS_DARWIN_USER_CACHE_DIR = 65538
  829. const m__CS_DARWIN_USER_DIR = 65536
  830. const m__CS_DARWIN_USER_TEMP_DIR = 65537
  831. const m__CS_PATH = 1
  832. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2
  833. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3
  834. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 4
  835. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5
  836. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6
  837. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7
  838. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 8
  839. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9
  840. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 10
  841. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11
  842. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12
  843. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13
  844. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14
  845. const m__CS_XBS5_ILP32_OFF32_CFLAGS = 20
  846. const m__CS_XBS5_ILP32_OFF32_LDFLAGS = 21
  847. const m__CS_XBS5_ILP32_OFF32_LIBS = 22
  848. const m__CS_XBS5_ILP32_OFF32_LINTFLAGS = 23
  849. const m__CS_XBS5_ILP32_OFFBIG_CFLAGS = 24
  850. const m__CS_XBS5_ILP32_OFFBIG_LDFLAGS = 25
  851. const m__CS_XBS5_ILP32_OFFBIG_LIBS = 26
  852. const m__CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 27
  853. const m__CS_XBS5_LP64_OFF64_CFLAGS = 28
  854. const m__CS_XBS5_LP64_OFF64_LDFLAGS = 29
  855. const m__CS_XBS5_LP64_OFF64_LIBS = 30
  856. const m__CS_XBS5_LP64_OFF64_LINTFLAGS = 31
  857. const m__CS_XBS5_LPBIG_OFFBIG_CFLAGS = 32
  858. const m__CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 33
  859. const m__CS_XBS5_LPBIG_OFFBIG_LIBS = 34
  860. const m__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 35
  861. const m__CTYPE_A = 256
  862. const m__CTYPE_B = 131072
  863. const m__CTYPE_C = 512
  864. const m__CTYPE_D = 1024
  865. const m__CTYPE_G = 2048
  866. const m__CTYPE_I = 524288
  867. const m__CTYPE_L = 4096
  868. const m__CTYPE_P = 8192
  869. const m__CTYPE_Q = 2097152
  870. const m__CTYPE_R = 262144
  871. const m__CTYPE_S = 16384
  872. const m__CTYPE_SW0 = 0x20000000
  873. const m__CTYPE_SW1 = 0x40000000
  874. const m__CTYPE_SW2 = 0x80000000
  875. const m__CTYPE_SW3 = 0xc0000000
  876. const m__CTYPE_SWM = 3758096384
  877. const m__CTYPE_SWS = 30
  878. const m__CTYPE_T = 1048576
  879. const m__CTYPE_U = 32768
  880. const m__CTYPE_X = 65536
  881. const m__DARWIN_C_SOURCE = 1
  882. const m__DARWIN_FEATURE_64_BIT_INODE = 1
  883. const m__DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
  884. const m__DARWIN_FEATURE_UNIX_CONFORMANCE = 3
  885. const m__FONTCONFIG_SRC_FCSTDINT_H = 1
  886. const m__FORTIFY_SOURCE = 2
  887. const m__GENERATED_STDINT_H = "fontconfig 2.14.1"
  888. const m__GNU_SOURCE = 1
  889. const m__HPUX_ALT_XOPEN_SOCKET_API = 1
  890. const m__I386_SIGNAL_H_ = 1
  891. const m__IOFBF = 0
  892. const m__IOLBF = 1
  893. const m__IONBF = 2
  894. const m__LP64 = 1
  895. const m__NETBSD_SOURCE = 1
  896. const m__OPENBSD_SOURCE = 1
  897. const m__PC_2_SYMLINKS = 15
  898. const m__PC_ALLOC_SIZE_MIN = 16
  899. const m__PC_ASYNC_IO = 17
  900. const m__PC_AUTH_OPAQUE_NP = 14
  901. const m__PC_CASE_PRESERVING = 12
  902. const m__PC_CASE_SENSITIVE = 11
  903. const m__PC_CHOWN_RESTRICTED = 7
  904. const m__PC_EXTENDED_SECURITY_NP = 13
  905. const m__PC_FILESIZEBITS = 18
  906. const m__PC_LINK_MAX = 1
  907. const m__PC_MAX_CANON = 2
  908. const m__PC_MAX_INPUT = 3
  909. const m__PC_MIN_HOLE_SIZE = 27
  910. const m__PC_NAME_CHARS_MAX = 10
  911. const m__PC_NAME_MAX = 4
  912. const m__PC_NO_TRUNC = 8
  913. const m__PC_PATH_MAX = 5
  914. const m__PC_PIPE_BUF = 6
  915. const m__PC_PRIO_IO = 19
  916. const m__PC_REC_INCR_XFER_SIZE = 20
  917. const m__PC_REC_MAX_XFER_SIZE = 21
  918. const m__PC_REC_MIN_XFER_SIZE = 22
  919. const m__PC_REC_XFER_ALIGN = 23
  920. const m__PC_SYMLINK_MAX = 24
  921. const m__PC_SYNC_IO = 25
  922. const m__PC_VDISABLE = 9
  923. const m__PC_XATTR_SIZE_BITS = 26
  924. const m__POSIX2_CHAR_TERM = 200112
  925. const m__POSIX2_C_BIND = 200112
  926. const m__POSIX2_C_DEV = 200112
  927. const m__POSIX2_FORT_RUN = 200112
  928. const m__POSIX2_LOCALEDEF = 200112
  929. const m__POSIX2_SW_DEV = 200112
  930. const m__POSIX2_UPE = 200112
  931. const m__POSIX2_VERSION = 200112
  932. const m__POSIX_CHOWN_RESTRICTED = 200112
  933. const m__POSIX_FSYNC = 200112
  934. const m__POSIX_IPV6 = 200112
  935. const m__POSIX_JOB_CONTROL = 200112
  936. const m__POSIX_MAPPED_FILES = 200112
  937. const m__POSIX_MEMORY_PROTECTION = 200112
  938. const m__POSIX_NO_TRUNC = 200112
  939. const m__POSIX_PTHREAD_SEMANTICS = 1
  940. const m__POSIX_READER_WRITER_LOCKS = 200112
  941. const m__POSIX_REGEXP = 200112
  942. const m__POSIX_SAVED_IDS = 200112
  943. const m__POSIX_SHELL = 200112
  944. const m__POSIX_SPAWN = 200112
  945. const m__POSIX_THREADS = 200112
  946. const m__POSIX_THREAD_ATTR_STACKADDR = 200112
  947. const m__POSIX_THREAD_ATTR_STACKSIZE = 200112
  948. const m__POSIX_THREAD_KEYS_MAX = 128
  949. const m__POSIX_THREAD_PROCESS_SHARED = 200112
  950. const m__POSIX_THREAD_SAFE_FUNCTIONS = 200112
  951. const m__POSIX_V6_ILP32_OFF32 = "__ILP32_OFF32"
  952. const m__POSIX_V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  953. const m__POSIX_V6_LP64_OFF64 = "__LP64_OFF64"
  954. const m__POSIX_V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  955. const m__POSIX_V7_ILP32_OFF32 = "__ILP32_OFF32"
  956. const m__POSIX_V7_ILP32_OFFBIG = "__ILP32_OFFBIG"
  957. const m__POSIX_V7_LP64_OFF64 = "__LP64_OFF64"
  958. const m__POSIX_V7_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  959. const m__POSIX_VERSION = 200112
  960. const m__QUAD_HIGHWORD = 1
  961. const m__QUAD_LOWWORD = 0
  962. const m__REENTRANT = 1
  963. const m__RLIMIT_POSIX_FLAG = 0x1000
  964. const m__RUNE_MAGIC_A = "RuneMagA"
  965. const m__SC_2_CHAR_TERM = 20
  966. const m__SC_2_C_BIND = 18
  967. const m__SC_2_C_DEV = 19
  968. const m__SC_2_FORT_DEV = 21
  969. const m__SC_2_FORT_RUN = 22
  970. const m__SC_2_LOCALEDEF = 23
  971. const m__SC_2_PBS = 59
  972. const m__SC_2_PBS_ACCOUNTING = 60
  973. const m__SC_2_PBS_CHECKPOINT = 61
  974. const m__SC_2_PBS_LOCATE = 62
  975. const m__SC_2_PBS_MESSAGE = 63
  976. const m__SC_2_PBS_TRACK = 64
  977. const m__SC_2_SW_DEV = 24
  978. const m__SC_2_UPE = 25
  979. const m__SC_2_VERSION = 17
  980. const m__SC_ADVISORY_INFO = 65
  981. const m__SC_AIO_LISTIO_MAX = 42
  982. const m__SC_AIO_MAX = 43
  983. const m__SC_AIO_PRIO_DELTA_MAX = 44
  984. const m__SC_ARG_MAX = 1
  985. const m__SC_ASYNCHRONOUS_IO = 28
  986. const m__SC_ATEXIT_MAX = 107
  987. const m__SC_BARRIERS = 66
  988. const m__SC_BC_BASE_MAX = 9
  989. const m__SC_BC_DIM_MAX = 10
  990. const m__SC_BC_SCALE_MAX = 11
  991. const m__SC_BC_STRING_MAX = 12
  992. const m__SC_CHILD_MAX = 2
  993. const m__SC_CLK_TCK = 3
  994. const m__SC_CLOCK_SELECTION = 67
  995. const m__SC_COLL_WEIGHTS_MAX = 13
  996. const m__SC_CPUTIME = 68
  997. const m__SC_DELAYTIMER_MAX = 45
  998. const m__SC_EXPR_NEST_MAX = 14
  999. const m__SC_FILE_LOCKING = 69
  1000. const m__SC_FSYNC = 38
  1001. const m__SC_GETGR_R_SIZE_MAX = 70
  1002. const m__SC_GETPW_R_SIZE_MAX = 71
  1003. const m__SC_HOST_NAME_MAX = 72
  1004. const m__SC_IOV_MAX = 56
  1005. const m__SC_IPV6 = 118
  1006. const m__SC_JOB_CONTROL = 6
  1007. const m__SC_LINE_MAX = 15
  1008. const m__SC_LOGIN_NAME_MAX = 73
  1009. const m__SC_MAPPED_FILES = 47
  1010. const m__SC_MEMLOCK = 30
  1011. const m__SC_MEMLOCK_RANGE = 31
  1012. const m__SC_MEMORY_PROTECTION = 32
  1013. const m__SC_MESSAGE_PASSING = 33
  1014. const m__SC_MONOTONIC_CLOCK = 74
  1015. const m__SC_MQ_OPEN_MAX = 46
  1016. const m__SC_MQ_PRIO_MAX = 75
  1017. const m__SC_NGROUPS_MAX = 4
  1018. const m__SC_NPROCESSORS_CONF = 57
  1019. const m__SC_NPROCESSORS_ONLN = 58
  1020. const m__SC_OPEN_MAX = 5
  1021. const m__SC_PAGESIZE = 29
  1022. const m__SC_PAGE_SIZE = "_SC_PAGESIZE"
  1023. const m__SC_PASS_MAX = 131
  1024. const m__SC_PHYS_PAGES = 200
  1025. const m__SC_PRIORITIZED_IO = 34
  1026. const m__SC_PRIORITY_SCHEDULING = 35
  1027. const m__SC_RAW_SOCKETS = 119
  1028. const m__SC_READER_WRITER_LOCKS = 76
  1029. const m__SC_REALTIME_SIGNALS = 36
  1030. const m__SC_REGEXP = 77
  1031. const m__SC_RE_DUP_MAX = 16
  1032. const m__SC_RTSIG_MAX = 48
  1033. const m__SC_SAVED_IDS = 7
  1034. const m__SC_SEMAPHORES = 37
  1035. const m__SC_SEM_NSEMS_MAX = 49
  1036. const m__SC_SEM_VALUE_MAX = 50
  1037. const m__SC_SHARED_MEMORY_OBJECTS = 39
  1038. const m__SC_SHELL = 78
  1039. const m__SC_SIGQUEUE_MAX = 51
  1040. const m__SC_SPAWN = 79
  1041. const m__SC_SPIN_LOCKS = 80
  1042. const m__SC_SPORADIC_SERVER = 81
  1043. const m__SC_SS_REPL_MAX = 126
  1044. const m__SC_STREAM_MAX = 26
  1045. const m__SC_SYMLOOP_MAX = 120
  1046. const m__SC_SYNCHRONIZED_IO = 40
  1047. const m__SC_THREADS = 96
  1048. const m__SC_THREAD_ATTR_STACKADDR = 82
  1049. const m__SC_THREAD_ATTR_STACKSIZE = 83
  1050. const m__SC_THREAD_CPUTIME = 84
  1051. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 85
  1052. const m__SC_THREAD_KEYS_MAX = 86
  1053. const m__SC_THREAD_PRIORITY_SCHEDULING = 89
  1054. const m__SC_THREAD_PRIO_INHERIT = 87
  1055. const m__SC_THREAD_PRIO_PROTECT = 88
  1056. const m__SC_THREAD_PROCESS_SHARED = 90
  1057. const m__SC_THREAD_SAFE_FUNCTIONS = 91
  1058. const m__SC_THREAD_SPORADIC_SERVER = 92
  1059. const m__SC_THREAD_STACK_MIN = 93
  1060. const m__SC_THREAD_THREADS_MAX = 94
  1061. const m__SC_TIMEOUTS = 95
  1062. const m__SC_TIMERS = 41
  1063. const m__SC_TIMER_MAX = 52
  1064. const m__SC_TRACE = 97
  1065. const m__SC_TRACE_EVENT_FILTER = 98
  1066. const m__SC_TRACE_EVENT_NAME_MAX = 127
  1067. const m__SC_TRACE_INHERIT = 99
  1068. const m__SC_TRACE_LOG = 100
  1069. const m__SC_TRACE_NAME_MAX = 128
  1070. const m__SC_TRACE_SYS_MAX = 129
  1071. const m__SC_TRACE_USER_EVENT_MAX = 130
  1072. const m__SC_TTY_NAME_MAX = 101
  1073. const m__SC_TYPED_MEMORY_OBJECTS = 102
  1074. const m__SC_TZNAME_MAX = 27
  1075. const m__SC_V6_ILP32_OFF32 = 103
  1076. const m__SC_V6_ILP32_OFFBIG = 104
  1077. const m__SC_V6_LP64_OFF64 = 105
  1078. const m__SC_V6_LPBIG_OFFBIG = 106
  1079. const m__SC_VERSION = 8
  1080. const m__SC_XBS5_ILP32_OFF32 = 122
  1081. const m__SC_XBS5_ILP32_OFFBIG = 123
  1082. const m__SC_XBS5_LP64_OFF64 = 124
  1083. const m__SC_XBS5_LPBIG_OFFBIG = 125
  1084. const m__SC_XOPEN_CRYPT = 108
  1085. const m__SC_XOPEN_ENH_I18N = 109
  1086. const m__SC_XOPEN_LEGACY = 110
  1087. const m__SC_XOPEN_REALTIME = 111
  1088. const m__SC_XOPEN_REALTIME_THREADS = 112
  1089. const m__SC_XOPEN_SHM = 113
  1090. const m__SC_XOPEN_STREAMS = 114
  1091. const m__SC_XOPEN_UNIX = 115
  1092. const m__SC_XOPEN_VERSION = 116
  1093. const m__SC_XOPEN_XCU_VERSION = 121
  1094. const m__STDINT_HAVE_STDINT_H = 1
  1095. const m__STRUCT_MCONTEXT = "_STRUCT_MCONTEXT64"
  1096. const m__TANDEM_SOURCE = 1
  1097. const m__THREAD_SAFE = 1
  1098. const m__V6_ILP32_OFF32 = "__ILP32_OFF32"
  1099. const m__V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  1100. const m__V6_LP64_OFF64 = "__LP64_OFF64"
  1101. const m__V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  1102. const m__WSTOPPED = 0177
  1103. const m__X86_INSTRUCTION_STATE_CACHELINE_SIZE = 64
  1104. const m__XBS5_ILP32_OFF32 = "__ILP32_OFF32"
  1105. const m__XBS5_ILP32_OFFBIG = "__ILP32_OFFBIG"
  1106. const m__XBS5_LP64_OFF64 = "__LP64_OFF64"
  1107. const m__XBS5_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  1108. const m__XOPEN_CRYPT = 1
  1109. const m__XOPEN_ENH_I18N = 1
  1110. const m__XOPEN_SHM = 1
  1111. const m__XOPEN_UNIX = 1
  1112. const m__XOPEN_VERSION = 600
  1113. const m__XOPEN_XCU_VERSION = 4
  1114. const m___API_TO_BE_DEPRECATED = 100000
  1115. const m___API_TO_BE_DEPRECATED_DRIVERKIT = 100000
  1116. const m___API_TO_BE_DEPRECATED_IOS = 100000
  1117. const m___API_TO_BE_DEPRECATED_MACCATALYST = 100000
  1118. const m___API_TO_BE_DEPRECATED_MACOS = 100000
  1119. const m___API_TO_BE_DEPRECATED_TVOS = 100000
  1120. const m___API_TO_BE_DEPRECATED_VISIONOS = 100000
  1121. const m___API_TO_BE_DEPRECATED_WATCHOS = 100000
  1122. const m___APPLE_CC__ = 6000
  1123. const m___APPLE__ = 1
  1124. const m___ATOMIC_ACQUIRE = 2
  1125. const m___ATOMIC_ACQ_REL = 4
  1126. const m___ATOMIC_CONSUME = 1
  1127. const m___ATOMIC_RELAXED = 0
  1128. const m___ATOMIC_RELEASE = 3
  1129. const m___ATOMIC_SEQ_CST = 5
  1130. const m___BIGGEST_ALIGNMENT__ = 16
  1131. const m___BITINT_MAXWIDTH__ = 8388608
  1132. const m___BLOCKS__ = 1
  1133. const m___BOOL_WIDTH__ = 8
  1134. const m___BRIDGEOS_2_0 = 20000
  1135. const m___BRIDGEOS_3_0 = 30000
  1136. const m___BRIDGEOS_3_1 = 30100
  1137. const m___BRIDGEOS_3_4 = 30400
  1138. const m___BRIDGEOS_4_0 = 40000
  1139. const m___BRIDGEOS_4_1 = 40100
  1140. const m___BRIDGEOS_5_0 = 50000
  1141. const m___BRIDGEOS_5_1 = 50100
  1142. const m___BRIDGEOS_5_3 = 50300
  1143. const m___BRIDGEOS_6_0 = 60000
  1144. const m___BRIDGEOS_6_2 = 60200
  1145. const m___BRIDGEOS_6_4 = 60400
  1146. const m___BRIDGEOS_6_5 = 60500
  1147. const m___BRIDGEOS_6_6 = 60600
  1148. const m___BRIDGEOS_7_0 = 70000
  1149. const m___BRIDGEOS_7_1 = 70100
  1150. const m___BRIDGEOS_7_2 = 70200
  1151. const m___BRIDGEOS_7_3 = 70300
  1152. const m___BRIDGEOS_7_4 = 70400
  1153. const m___BRIDGEOS_7_6 = 70600
  1154. const m___BRIDGEOS_8_0 = 80000
  1155. const m___BRIDGEOS_8_1 = 80100
  1156. const m___BRIDGEOS_8_2 = 80200
  1157. const m___BRIDGEOS_8_3 = 80300
  1158. const m___BRIDGEOS_8_4 = 80400
  1159. const m___BRIDGEOS_8_5 = 80500
  1160. const m___BRIDGEOS_9_0 = 90000
  1161. const m___BRIDGEOS_9_1 = 90100
  1162. const m___BRIDGEOS_9_2 = 90200
  1163. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1164. const m___CCGO__ = 1
  1165. const m___CHAR_BIT__ = 8
  1166. const m___CLANG_ATOMIC_BOOL_LOCK_FREE = 2
  1167. const m___CLANG_ATOMIC_CHAR16_T_LOCK_FREE = 2
  1168. const m___CLANG_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1169. const m___CLANG_ATOMIC_CHAR_LOCK_FREE = 2
  1170. const m___CLANG_ATOMIC_INT_LOCK_FREE = 2
  1171. const m___CLANG_ATOMIC_LLONG_LOCK_FREE = 2
  1172. const m___CLANG_ATOMIC_LONG_LOCK_FREE = 2
  1173. const m___CLANG_ATOMIC_POINTER_LOCK_FREE = 2
  1174. const m___CLANG_ATOMIC_SHORT_LOCK_FREE = 2
  1175. const m___CLANG_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1176. const m___CONSTANT_CFSTRINGS__ = 1
  1177. const m___DARWIN_64_BIT_INO_T = 1
  1178. const m___DARWIN_BIG_ENDIAN = 4321
  1179. const m___DARWIN_BYTE_ORDER = "__DARWIN_LITTLE_ENDIAN"
  1180. const m___DARWIN_CTYPE_TOP_inline = "__header_inline"
  1181. const m___DARWIN_CTYPE_inline = "__header_inline"
  1182. const m___DARWIN_C_ANSI = 010000
  1183. const m___DARWIN_C_FULL = 900000
  1184. const m___DARWIN_C_LEVEL = "__DARWIN_C_FULL"
  1185. const m___DARWIN_FD_SETSIZE = 1024
  1186. const m___DARWIN_LITTLE_ENDIAN = 1234
  1187. const m___DARWIN_NBBY = 8
  1188. const m___DARWIN_NON_CANCELABLE = 0
  1189. const m___DARWIN_NO_LONG_LONG = 0
  1190. const m___DARWIN_NSIG = 32
  1191. const m___DARWIN_ONLY_64_BIT_INO_T = 0
  1192. const m___DARWIN_ONLY_UNIX_CONFORMANCE = 1
  1193. const m___DARWIN_ONLY_VERS_1050 = 0
  1194. const m___DARWIN_PDP_ENDIAN = 3412
  1195. const m___DARWIN_SUF_1050 = "$1050"
  1196. const m___DARWIN_SUF_64_BIT_INO_T = "$INODE64"
  1197. const m___DARWIN_SUF_EXTSN = "$DARWIN_EXTSN"
  1198. const m___DARWIN_UNIX03 = 1
  1199. const m___DARWIN_VERS_1050 = 1
  1200. const m___DARWIN_WCHAR_MAX = "__WCHAR_MAX__"
  1201. const m___DBL_DECIMAL_DIG__ = 17
  1202. const m___DBL_DENORM_MIN__ = 4.9406564584124654e-324
  1203. const m___DBL_DIG__ = 15
  1204. const m___DBL_EPSILON__ = 2.2204460492503131e-16
  1205. const m___DBL_HAS_DENORM__ = 1
  1206. const m___DBL_HAS_INFINITY__ = 1
  1207. const m___DBL_HAS_QUIET_NAN__ = 1
  1208. const m___DBL_MANT_DIG__ = 53
  1209. const m___DBL_MAX_10_EXP__ = 308
  1210. const m___DBL_MAX_EXP__ = 1024
  1211. const m___DBL_MAX__ = 1.7976931348623157e+308
  1212. const m___DBL_MIN__ = 2.2250738585072014e-308
  1213. const m___DECIMAL_DIG__ = "__LDBL_DECIMAL_DIG__"
  1214. const m___DRIVERKIT_19_0 = 190000
  1215. const m___DRIVERKIT_20_0 = 200000
  1216. const m___DRIVERKIT_21_0 = 210000
  1217. const m___DRIVERKIT_22_0 = 220000
  1218. const m___DRIVERKIT_22_4 = 220400
  1219. const m___DRIVERKIT_22_5 = 220500
  1220. const m___DRIVERKIT_22_6 = 220600
  1221. const m___DRIVERKIT_23_0 = 230000
  1222. const m___DRIVERKIT_23_1 = 230100
  1223. const m___DRIVERKIT_23_2 = 230200
  1224. const m___DRIVERKIT_23_3 = 230300
  1225. const m___DRIVERKIT_23_4 = 230400
  1226. const m___DRIVERKIT_23_5 = 230500
  1227. const m___DRIVERKIT_24_0 = 240000
  1228. const m___DRIVERKIT_24_1 = 240100
  1229. const m___DRIVERKIT_24_2 = 240200
  1230. const m___DYNAMIC__ = 1
  1231. const m___ENABLE_LEGACY_MAC_AVAILABILITY = 1
  1232. const m___ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ = 150000
  1233. const m___ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ = 150000
  1234. const m___EXTENSIONS__ = 1
  1235. const m___FINITE_MATH_ONLY__ = 0
  1236. const m___FLT16_DECIMAL_DIG__ = 5
  1237. const m___FLT16_DENORM_MIN__ = 5.9604644775390625e-8
  1238. const m___FLT16_DIG__ = 3
  1239. const m___FLT16_EPSILON__ = 9.765625e-4
  1240. const m___FLT16_HAS_DENORM__ = 1
  1241. const m___FLT16_HAS_INFINITY__ = 1
  1242. const m___FLT16_HAS_QUIET_NAN__ = 1
  1243. const m___FLT16_MANT_DIG__ = 11
  1244. const m___FLT16_MAX_10_EXP__ = 4
  1245. const m___FLT16_MAX_EXP__ = 16
  1246. const m___FLT16_MAX__ = 6.5504e+4
  1247. const m___FLT16_MIN__ = 6.103515625e-5
  1248. const m___FLT_DECIMAL_DIG__ = 9
  1249. const m___FLT_DENORM_MIN__ = 1.40129846e-45
  1250. const m___FLT_DIG__ = 6
  1251. const m___FLT_EPSILON__ = 1.19209290e-7
  1252. const m___FLT_HAS_DENORM__ = 1
  1253. const m___FLT_HAS_INFINITY__ = 1
  1254. const m___FLT_HAS_QUIET_NAN__ = 1
  1255. const m___FLT_MANT_DIG__ = 24
  1256. const m___FLT_MAX_10_EXP__ = 38
  1257. const m___FLT_MAX_EXP__ = 128
  1258. const m___FLT_MAX__ = 3.40282347e+38
  1259. const m___FLT_MIN__ = 1.17549435e-38
  1260. const m___FLT_RADIX__ = 2
  1261. const m___FPCLASS_NEGINF = 0x0004
  1262. const m___FPCLASS_NEGNORMAL = 0x0008
  1263. const m___FPCLASS_NEGSUBNORMAL = 0x0010
  1264. const m___FPCLASS_NEGZERO = 0x0020
  1265. const m___FPCLASS_POSINF = 0x0200
  1266. const m___FPCLASS_POSNORMAL = 0x0100
  1267. const m___FPCLASS_POSSUBNORMAL = 0x0080
  1268. const m___FPCLASS_POSZERO = 0x0040
  1269. const m___FPCLASS_QNAN = 0x0002
  1270. const m___FPCLASS_SNAN = 0x0001
  1271. const m___FUNCTION__ = "__func__"
  1272. const m___FXSR__ = 1
  1273. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  1274. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  1275. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  1276. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1277. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  1278. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  1279. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  1280. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  1281. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  1282. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  1283. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  1284. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1285. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  1286. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  1287. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 = 1
  1288. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  1289. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  1290. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  1291. const m___GNUC_MINOR__ = 2
  1292. const m___GNUC_PATCHLEVEL__ = 1
  1293. const m___GNUC_STDC_INLINE__ = 1
  1294. const m___GNUC__ = 4
  1295. const m___GXX_ABI_VERSION = 1002
  1296. const m___INT16_FMTd__ = "hd"
  1297. const m___INT16_FMTi__ = "hi"
  1298. const m___INT16_MAX__ = 32767
  1299. const m___INT16_TYPE__ = "short"
  1300. const m___INT32_FMTd__ = "d"
  1301. const m___INT32_FMTi__ = "i"
  1302. const m___INT32_MAX__ = 2147483647
  1303. const m___INT32_TYPE__ = "int"
  1304. const m___INT64_C_SUFFIX__ = "LL"
  1305. const m___INT64_FMTd__ = "lld"
  1306. const m___INT64_FMTi__ = "lli"
  1307. const m___INT64_MAX__ = 9223372036854775807
  1308. const m___INT8_FMTd__ = "hhd"
  1309. const m___INT8_FMTi__ = "hhi"
  1310. const m___INT8_MAX__ = 127
  1311. const m___INTMAX_C_SUFFIX__ = "L"
  1312. const m___INTMAX_FMTd__ = "ld"
  1313. const m___INTMAX_FMTi__ = "li"
  1314. const m___INTMAX_MAX__ = 9223372036854775807
  1315. const m___INTMAX_WIDTH__ = 64
  1316. const m___INTPTR_FMTd__ = "ld"
  1317. const m___INTPTR_FMTi__ = "li"
  1318. const m___INTPTR_MAX__ = 9223372036854775807
  1319. const m___INTPTR_WIDTH__ = 64
  1320. const m___INT_FAST16_FMTd__ = "hd"
  1321. const m___INT_FAST16_FMTi__ = "hi"
  1322. const m___INT_FAST16_MAX__ = 32767
  1323. const m___INT_FAST16_TYPE__ = "short"
  1324. const m___INT_FAST16_WIDTH__ = 16
  1325. const m___INT_FAST32_FMTd__ = "d"
  1326. const m___INT_FAST32_FMTi__ = "i"
  1327. const m___INT_FAST32_MAX__ = 2147483647
  1328. const m___INT_FAST32_TYPE__ = "int"
  1329. const m___INT_FAST32_WIDTH__ = 32
  1330. const m___INT_FAST64_FMTd__ = "lld"
  1331. const m___INT_FAST64_FMTi__ = "lli"
  1332. const m___INT_FAST64_MAX__ = 9223372036854775807
  1333. const m___INT_FAST64_WIDTH__ = 64
  1334. const m___INT_FAST8_FMTd__ = "hhd"
  1335. const m___INT_FAST8_FMTi__ = "hhi"
  1336. const m___INT_FAST8_MAX__ = 127
  1337. const m___INT_FAST8_WIDTH__ = 8
  1338. const m___INT_LEAST16_FMTd__ = "hd"
  1339. const m___INT_LEAST16_FMTi__ = "hi"
  1340. const m___INT_LEAST16_MAX__ = 32767
  1341. const m___INT_LEAST16_TYPE__ = "short"
  1342. const m___INT_LEAST16_WIDTH__ = 16
  1343. const m___INT_LEAST32_FMTd__ = "d"
  1344. const m___INT_LEAST32_FMTi__ = "i"
  1345. const m___INT_LEAST32_MAX__ = 2147483647
  1346. const m___INT_LEAST32_TYPE__ = "int"
  1347. const m___INT_LEAST32_WIDTH__ = 32
  1348. const m___INT_LEAST64_FMTd__ = "lld"
  1349. const m___INT_LEAST64_FMTi__ = "lli"
  1350. const m___INT_LEAST64_MAX = "INT64_MAX"
  1351. const m___INT_LEAST64_MAX__ = 9223372036854775807
  1352. const m___INT_LEAST64_MIN = "INT64_MIN"
  1353. const m___INT_LEAST64_WIDTH__ = 64
  1354. const m___INT_LEAST8_FMTd__ = "hhd"
  1355. const m___INT_LEAST8_FMTi__ = "hhi"
  1356. const m___INT_LEAST8_MAX__ = 127
  1357. const m___INT_LEAST8_WIDTH__ = 8
  1358. const m___INT_MAX__ = 2147483647
  1359. const m___INT_WIDTH__ = 32
  1360. const m___IPHONE_10_0 = 100000
  1361. const m___IPHONE_10_1 = 100100
  1362. const m___IPHONE_10_2 = 100200
  1363. const m___IPHONE_10_3 = 100300
  1364. const m___IPHONE_11_0 = 110000
  1365. const m___IPHONE_11_1 = 110100
  1366. const m___IPHONE_11_2 = 110200
  1367. const m___IPHONE_11_3 = 110300
  1368. const m___IPHONE_11_4 = 110400
  1369. const m___IPHONE_12_0 = 120000
  1370. const m___IPHONE_12_1 = 120100
  1371. const m___IPHONE_12_2 = 120200
  1372. const m___IPHONE_12_3 = 120300
  1373. const m___IPHONE_12_4 = 120400
  1374. const m___IPHONE_13_0 = 130000
  1375. const m___IPHONE_13_1 = 130100
  1376. const m___IPHONE_13_2 = 130200
  1377. const m___IPHONE_13_3 = 130300
  1378. const m___IPHONE_13_4 = 130400
  1379. const m___IPHONE_13_5 = 130500
  1380. const m___IPHONE_13_6 = 130600
  1381. const m___IPHONE_13_7 = 130700
  1382. const m___IPHONE_14_0 = 140000
  1383. const m___IPHONE_14_1 = 140100
  1384. const m___IPHONE_14_2 = 140200
  1385. const m___IPHONE_14_3 = 140300
  1386. const m___IPHONE_14_4 = 140400
  1387. const m___IPHONE_14_5 = 140500
  1388. const m___IPHONE_14_6 = 140600
  1389. const m___IPHONE_14_7 = 140700
  1390. const m___IPHONE_14_8 = 140800
  1391. const m___IPHONE_15_0 = 150000
  1392. const m___IPHONE_15_1 = 150100
  1393. const m___IPHONE_15_2 = 150200
  1394. const m___IPHONE_15_3 = 150300
  1395. const m___IPHONE_15_4 = 150400
  1396. const m___IPHONE_15_5 = 150500
  1397. const m___IPHONE_15_6 = 150600
  1398. const m___IPHONE_15_7 = 150700
  1399. const m___IPHONE_15_8 = 150800
  1400. const m___IPHONE_16_0 = 160000
  1401. const m___IPHONE_16_1 = 160100
  1402. const m___IPHONE_16_2 = 160200
  1403. const m___IPHONE_16_3 = 160300
  1404. const m___IPHONE_16_4 = 160400
  1405. const m___IPHONE_16_5 = 160500
  1406. const m___IPHONE_16_6 = 160600
  1407. const m___IPHONE_16_7 = 160700
  1408. const m___IPHONE_17_0 = 170000
  1409. const m___IPHONE_17_1 = 170100
  1410. const m___IPHONE_17_2 = 170200
  1411. const m___IPHONE_17_3 = 170300
  1412. const m___IPHONE_17_4 = 170400
  1413. const m___IPHONE_17_5 = 170500
  1414. const m___IPHONE_18_0 = 180000
  1415. const m___IPHONE_18_1 = 180100
  1416. const m___IPHONE_18_2 = 180200
  1417. const m___IPHONE_2_0 = 20000
  1418. const m___IPHONE_2_1 = 20100
  1419. const m___IPHONE_2_2 = 20200
  1420. const m___IPHONE_3_0 = 30000
  1421. const m___IPHONE_3_1 = 30100
  1422. const m___IPHONE_3_2 = 30200
  1423. const m___IPHONE_4_0 = 40000
  1424. const m___IPHONE_4_1 = 40100
  1425. const m___IPHONE_4_2 = 40200
  1426. const m___IPHONE_4_3 = 40300
  1427. const m___IPHONE_5_0 = 50000
  1428. const m___IPHONE_5_1 = 50100
  1429. const m___IPHONE_6_0 = 60000
  1430. const m___IPHONE_6_1 = 60100
  1431. const m___IPHONE_7_0 = 70000
  1432. const m___IPHONE_7_1 = 70100
  1433. const m___IPHONE_8_0 = 80000
  1434. const m___IPHONE_8_1 = 80100
  1435. const m___IPHONE_8_2 = 80200
  1436. const m___IPHONE_8_3 = 80300
  1437. const m___IPHONE_8_4 = 80400
  1438. const m___IPHONE_9_0 = 90000
  1439. const m___IPHONE_9_1 = 90100
  1440. const m___IPHONE_9_2 = 90200
  1441. const m___IPHONE_9_3 = 90300
  1442. const m___LAHF_SAHF__ = 1
  1443. const m___LASTBRANCH_MAX = 32
  1444. const m___LDBL_DECIMAL_DIG__ = 17
  1445. const m___LDBL_DENORM_MIN__ = 4.9406564584124654e-324
  1446. const m___LDBL_DIG__ = 15
  1447. const m___LDBL_EPSILON__ = 2.2204460492503131e-16
  1448. const m___LDBL_HAS_DENORM__ = 1
  1449. const m___LDBL_HAS_INFINITY__ = 1
  1450. const m___LDBL_HAS_QUIET_NAN__ = 1
  1451. const m___LDBL_MANT_DIG__ = 53
  1452. const m___LDBL_MAX_10_EXP__ = 308
  1453. const m___LDBL_MAX_EXP__ = 1024
  1454. const m___LDBL_MAX__ = 1.7976931348623157e+308
  1455. const m___LDBL_MIN__ = 2.2250738585072014e-308
  1456. const m___LITTLE_ENDIAN__ = 1
  1457. const m___LLONG_WIDTH__ = 64
  1458. const m___LONG_LONG_MAX__ = 9223372036854775807
  1459. const m___LONG_MAX__ = 9223372036854775807
  1460. const m___LONG_WIDTH__ = 64
  1461. const m___LP64_OFF64 = 1
  1462. const m___LP64__ = 1
  1463. const m___LPBIG_OFFBIG = 1
  1464. const m___MACH__ = 1
  1465. const m___MAC_10_0 = 1000
  1466. const m___MAC_10_1 = 1010
  1467. const m___MAC_10_10 = 101000
  1468. const m___MAC_10_10_2 = 101002
  1469. const m___MAC_10_10_3 = 101003
  1470. const m___MAC_10_11 = 101100
  1471. const m___MAC_10_11_2 = 101102
  1472. const m___MAC_10_11_3 = 101103
  1473. const m___MAC_10_11_4 = 101104
  1474. const m___MAC_10_12 = 101200
  1475. const m___MAC_10_12_1 = 101201
  1476. const m___MAC_10_12_2 = 101202
  1477. const m___MAC_10_12_4 = 101204
  1478. const m___MAC_10_13 = 101300
  1479. const m___MAC_10_13_1 = 101301
  1480. const m___MAC_10_13_2 = 101302
  1481. const m___MAC_10_13_4 = 101304
  1482. const m___MAC_10_14 = 101400
  1483. const m___MAC_10_14_1 = 101401
  1484. const m___MAC_10_14_4 = 101404
  1485. const m___MAC_10_14_5 = 101405
  1486. const m___MAC_10_14_6 = 101406
  1487. const m___MAC_10_15 = 101500
  1488. const m___MAC_10_15_1 = 101501
  1489. const m___MAC_10_15_4 = 101504
  1490. const m___MAC_10_16 = 101600
  1491. const m___MAC_10_2 = 1020
  1492. const m___MAC_10_3 = 1030
  1493. const m___MAC_10_4 = 1040
  1494. const m___MAC_10_5 = 1050
  1495. const m___MAC_10_6 = 1060
  1496. const m___MAC_10_7 = 1070
  1497. const m___MAC_10_8 = 1080
  1498. const m___MAC_10_9 = 1090
  1499. const m___MAC_11_0 = 110000
  1500. const m___MAC_11_1 = 110100
  1501. const m___MAC_11_3 = 110300
  1502. const m___MAC_11_4 = 110400
  1503. const m___MAC_11_5 = 110500
  1504. const m___MAC_11_6 = 110600
  1505. const m___MAC_12_0 = 120000
  1506. const m___MAC_12_1 = 120100
  1507. const m___MAC_12_2 = 120200
  1508. const m___MAC_12_3 = 120300
  1509. const m___MAC_12_4 = 120400
  1510. const m___MAC_12_5 = 120500
  1511. const m___MAC_12_6 = 120600
  1512. const m___MAC_12_7 = 120700
  1513. const m___MAC_13_0 = 130000
  1514. const m___MAC_13_1 = 130100
  1515. const m___MAC_13_2 = 130200
  1516. const m___MAC_13_3 = 130300
  1517. const m___MAC_13_4 = 130400
  1518. const m___MAC_13_5 = 130500
  1519. const m___MAC_13_6 = 130600
  1520. const m___MAC_14_0 = 140000
  1521. const m___MAC_14_1 = 140100
  1522. const m___MAC_14_2 = 140200
  1523. const m___MAC_14_3 = 140300
  1524. const m___MAC_14_4 = 140400
  1525. const m___MAC_14_5 = 140500
  1526. const m___MAC_15_0 = 150000
  1527. const m___MAC_15_1 = 150100
  1528. const m___MAC_15_2 = 150200
  1529. const m___MAC_OS_X_VERSION_MAX_ALLOWED = "__MAC_15_2"
  1530. const m___MAC_OS_X_VERSION_MIN_REQUIRED = "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__"
  1531. const m___MMX__ = 1
  1532. const m___NO_INLINE__ = 1
  1533. const m___NO_MATH_ERRNO__ = 1
  1534. const m___NO_MATH_INLINES = 1
  1535. const m___OBJC_BOOL_IS_BOOL = 0
  1536. const m___OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES = 3
  1537. const m___OPENCL_MEMORY_SCOPE_DEVICE = 2
  1538. const m___OPENCL_MEMORY_SCOPE_SUB_GROUP = 4
  1539. const m___OPENCL_MEMORY_SCOPE_WORK_GROUP = 1
  1540. const m___OPENCL_MEMORY_SCOPE_WORK_ITEM = 0
  1541. const m___ORDER_BIG_ENDIAN__ = 4321
  1542. const m___ORDER_LITTLE_ENDIAN__ = 1234
  1543. const m___ORDER_PDP_ENDIAN__ = 3412
  1544. const m___PIC__ = 2
  1545. const m___POINTER_WIDTH__ = 64
  1546. const m___PRAGMA_REDEFINE_EXTNAME = 1
  1547. const m___PRETTY_FUNCTION__ = "__func__"
  1548. const m___PTHREAD_ATTR_SIZE__ = 56
  1549. const m___PTHREAD_CONDATTR_SIZE__ = 8
  1550. const m___PTHREAD_COND_SIZE__ = 40
  1551. const m___PTHREAD_MUTEXATTR_SIZE__ = 8
  1552. const m___PTHREAD_MUTEX_SIZE__ = 56
  1553. const m___PTHREAD_ONCE_SIZE__ = 8
  1554. const m___PTHREAD_RWLOCKATTR_SIZE__ = 16
  1555. const m___PTHREAD_RWLOCK_SIZE__ = 192
  1556. const m___PTHREAD_SIZE__ = 8176
  1557. const m___PTRDIFF_FMTd__ = "ld"
  1558. const m___PTRDIFF_FMTi__ = "li"
  1559. const m___PTRDIFF_MAX__ = 9223372036854775807
  1560. const m___PTRDIFF_WIDTH__ = 64
  1561. const m___SALC = 0x4000
  1562. const m___SAPP = 0x0100
  1563. const m___SCHAR_MAX__ = 127
  1564. const m___SEG_FS = 1
  1565. const m___SEG_GS = 1
  1566. const m___SEOF = 0x0020
  1567. const m___SERR = 0x0040
  1568. const m___SHRT_MAX__ = 32767
  1569. const m___SHRT_WIDTH__ = 16
  1570. const m___SIGN = 0x8000
  1571. const m___SIG_ATOMIC_MAX__ = 2147483647
  1572. const m___SIG_ATOMIC_WIDTH__ = 32
  1573. const m___SIZEOF_DOUBLE__ = 8
  1574. const m___SIZEOF_FLOAT__ = 4
  1575. const m___SIZEOF_INT128__ = 16
  1576. const m___SIZEOF_INT__ = 4
  1577. const m___SIZEOF_LONG_DOUBLE__ = 8
  1578. const m___SIZEOF_LONG_LONG__ = 8
  1579. const m___SIZEOF_LONG__ = 8
  1580. const m___SIZEOF_POINTER__ = 8
  1581. const m___SIZEOF_PTRDIFF_T__ = 8
  1582. const m___SIZEOF_SHORT__ = 2
  1583. const m___SIZEOF_SIZE_T__ = 8
  1584. const m___SIZEOF_WCHAR_T__ = 4
  1585. const m___SIZEOF_WINT_T__ = 4
  1586. const m___SIZE_FMTX__ = "lX"
  1587. const m___SIZE_FMTo__ = "lo"
  1588. const m___SIZE_FMTu__ = "lu"
  1589. const m___SIZE_FMTx__ = "lx"
  1590. const m___SIZE_MAX__ = 18446744073709551615
  1591. const m___SIZE_WIDTH__ = 64
  1592. const m___SLBF = 0x0001
  1593. const m___SMBF = 0x0080
  1594. const m___SMOD = 0x2000
  1595. const m___SNBF = 0x0002
  1596. const m___SNPT = 0x0800
  1597. const m___SOFF = 0x1000
  1598. const m___SOPT = 0x0400
  1599. const m___SRD = 0x0004
  1600. const m___SRW = 0x0010
  1601. const m___SSE2_MATH__ = 1
  1602. const m___SSE2__ = 1
  1603. const m___SSE3__ = 1
  1604. const m___SSE4_1__ = 1
  1605. const m___SSE_MATH__ = 1
  1606. const m___SSE__ = 1
  1607. const m___SSP__ = 1
  1608. const m___SSSE3__ = 1
  1609. const m___SSTR = 0x0200
  1610. const m___STDC_HOSTED__ = 1
  1611. const m___STDC_NO_THREADS__ = 1
  1612. const m___STDC_UTF_16__ = 1
  1613. const m___STDC_UTF_32__ = 1
  1614. const m___STDC_VERSION__ = 201710
  1615. const m___STDC_WANT_IEC_60559_ATTRIBS_EXT__ = 1
  1616. const m___STDC_WANT_IEC_60559_BFP_EXT__ = 1
  1617. const m___STDC_WANT_IEC_60559_DFP_EXT__ = 1
  1618. const m___STDC_WANT_IEC_60559_FUNCS_EXT__ = 1
  1619. const m___STDC_WANT_IEC_60559_TYPES_EXT__ = 1
  1620. const m___STDC_WANT_LIB_EXT1__ = 1
  1621. const m___STDC_WANT_LIB_EXT2__ = 1
  1622. const m___STDC_WANT_MATH_SPEC_FUNCS__ = 1
  1623. const m___STDC__ = 1
  1624. const m___SWR = 0x0008
  1625. const m___TVOS_10_0 = 100000
  1626. const m___TVOS_10_0_1 = 100001
  1627. const m___TVOS_10_1 = 100100
  1628. const m___TVOS_10_2 = 100200
  1629. const m___TVOS_11_0 = 110000
  1630. const m___TVOS_11_1 = 110100
  1631. const m___TVOS_11_2 = 110200
  1632. const m___TVOS_11_3 = 110300
  1633. const m___TVOS_11_4 = 110400
  1634. const m___TVOS_12_0 = 120000
  1635. const m___TVOS_12_1 = 120100
  1636. const m___TVOS_12_2 = 120200
  1637. const m___TVOS_12_3 = 120300
  1638. const m___TVOS_12_4 = 120400
  1639. const m___TVOS_13_0 = 130000
  1640. const m___TVOS_13_2 = 130200
  1641. const m___TVOS_13_3 = 130300
  1642. const m___TVOS_13_4 = 130400
  1643. const m___TVOS_14_0 = 140000
  1644. const m___TVOS_14_1 = 140100
  1645. const m___TVOS_14_2 = 140200
  1646. const m___TVOS_14_3 = 140300
  1647. const m___TVOS_14_5 = 140500
  1648. const m___TVOS_14_6 = 140600
  1649. const m___TVOS_14_7 = 140700
  1650. const m___TVOS_15_0 = 150000
  1651. const m___TVOS_15_1 = 150100
  1652. const m___TVOS_15_2 = 150200
  1653. const m___TVOS_15_3 = 150300
  1654. const m___TVOS_15_4 = 150400
  1655. const m___TVOS_15_5 = 150500
  1656. const m___TVOS_15_6 = 150600
  1657. const m___TVOS_16_0 = 160000
  1658. const m___TVOS_16_1 = 160100
  1659. const m___TVOS_16_2 = 160200
  1660. const m___TVOS_16_3 = 160300
  1661. const m___TVOS_16_4 = 160400
  1662. const m___TVOS_16_5 = 160500
  1663. const m___TVOS_16_6 = 160600
  1664. const m___TVOS_17_0 = 170000
  1665. const m___TVOS_17_1 = 170100
  1666. const m___TVOS_17_2 = 170200
  1667. const m___TVOS_17_3 = 170300
  1668. const m___TVOS_17_4 = 170400
  1669. const m___TVOS_17_5 = 170500
  1670. const m___TVOS_18_0 = 180000
  1671. const m___TVOS_18_1 = 180100
  1672. const m___TVOS_18_2 = 180200
  1673. const m___TVOS_9_0 = 90000
  1674. const m___TVOS_9_1 = 90100
  1675. const m___TVOS_9_2 = 90200
  1676. const m___UINT16_FMTX__ = "hX"
  1677. const m___UINT16_FMTo__ = "ho"
  1678. const m___UINT16_FMTu__ = "hu"
  1679. const m___UINT16_FMTx__ = "hx"
  1680. const m___UINT16_MAX__ = 65535
  1681. const m___UINT32_C_SUFFIX__ = "U"
  1682. const m___UINT32_FMTX__ = "X"
  1683. const m___UINT32_FMTo__ = "o"
  1684. const m___UINT32_FMTu__ = "u"
  1685. const m___UINT32_FMTx__ = "x"
  1686. const m___UINT32_MAX__ = 4294967295
  1687. const m___UINT64_C_SUFFIX__ = "ULL"
  1688. const m___UINT64_FMTX__ = "llX"
  1689. const m___UINT64_FMTo__ = "llo"
  1690. const m___UINT64_FMTu__ = "llu"
  1691. const m___UINT64_FMTx__ = "llx"
  1692. const m___UINT64_MAX__ = "18446744073709551615U"
  1693. const m___UINT8_FMTX__ = "hhX"
  1694. const m___UINT8_FMTo__ = "hho"
  1695. const m___UINT8_FMTu__ = "hhu"
  1696. const m___UINT8_FMTx__ = "hhx"
  1697. const m___UINT8_MAX__ = 255
  1698. const m___UINTMAX_C_SUFFIX__ = "UL"
  1699. const m___UINTMAX_FMTX__ = "lX"
  1700. const m___UINTMAX_FMTo__ = "lo"
  1701. const m___UINTMAX_FMTu__ = "lu"
  1702. const m___UINTMAX_FMTx__ = "lx"
  1703. const m___UINTMAX_MAX__ = 18446744073709551615
  1704. const m___UINTMAX_WIDTH__ = 64
  1705. const m___UINTPTR_FMTX__ = "lX"
  1706. const m___UINTPTR_FMTo__ = "lo"
  1707. const m___UINTPTR_FMTu__ = "lu"
  1708. const m___UINTPTR_FMTx__ = "lx"
  1709. const m___UINTPTR_MAX__ = 18446744073709551615
  1710. const m___UINTPTR_WIDTH__ = 64
  1711. const m___UINT_FAST16_FMTX__ = "hX"
  1712. const m___UINT_FAST16_FMTo__ = "ho"
  1713. const m___UINT_FAST16_FMTu__ = "hu"
  1714. const m___UINT_FAST16_FMTx__ = "hx"
  1715. const m___UINT_FAST16_MAX__ = 65535
  1716. const m___UINT_FAST32_FMTX__ = "X"
  1717. const m___UINT_FAST32_FMTo__ = "o"
  1718. const m___UINT_FAST32_FMTu__ = "u"
  1719. const m___UINT_FAST32_FMTx__ = "x"
  1720. const m___UINT_FAST32_MAX__ = 4294967295
  1721. const m___UINT_FAST64_FMTX__ = "llX"
  1722. const m___UINT_FAST64_FMTo__ = "llo"
  1723. const m___UINT_FAST64_FMTu__ = "llu"
  1724. const m___UINT_FAST64_FMTx__ = "llx"
  1725. const m___UINT_FAST64_MAX__ = "18446744073709551615U"
  1726. const m___UINT_FAST8_FMTX__ = "hhX"
  1727. const m___UINT_FAST8_FMTo__ = "hho"
  1728. const m___UINT_FAST8_FMTu__ = "hhu"
  1729. const m___UINT_FAST8_FMTx__ = "hhx"
  1730. const m___UINT_FAST8_MAX__ = 255
  1731. const m___UINT_LEAST16_FMTX__ = "hX"
  1732. const m___UINT_LEAST16_FMTo__ = "ho"
  1733. const m___UINT_LEAST16_FMTu__ = "hu"
  1734. const m___UINT_LEAST16_FMTx__ = "hx"
  1735. const m___UINT_LEAST16_MAX__ = 65535
  1736. const m___UINT_LEAST32_FMTX__ = "X"
  1737. const m___UINT_LEAST32_FMTo__ = "o"
  1738. const m___UINT_LEAST32_FMTu__ = "u"
  1739. const m___UINT_LEAST32_FMTx__ = "x"
  1740. const m___UINT_LEAST32_MAX__ = 4294967295
  1741. const m___UINT_LEAST64_FMTX__ = "llX"
  1742. const m___UINT_LEAST64_FMTo__ = "llo"
  1743. const m___UINT_LEAST64_FMTu__ = "llu"
  1744. const m___UINT_LEAST64_FMTx__ = "llx"
  1745. const m___UINT_LEAST64_MAX = "UINT64_MAX"
  1746. const m___UINT_LEAST64_MAX__ = "18446744073709551615U"
  1747. const m___UINT_LEAST8_FMTX__ = "hhX"
  1748. const m___UINT_LEAST8_FMTo__ = "hho"
  1749. const m___UINT_LEAST8_FMTu__ = "hhu"
  1750. const m___UINT_LEAST8_FMTx__ = "hhx"
  1751. const m___UINT_LEAST8_MAX__ = 255
  1752. const m___USER_LABEL_PREFIX__ = "_"
  1753. const m___VERSION__ = "Apple LLVM 16.0.0 (clang-1600.0.26.6)"
  1754. const m___VISIONOS_1_0 = 10000
  1755. const m___VISIONOS_1_1 = 10100
  1756. const m___VISIONOS_1_2 = 10200
  1757. const m___VISIONOS_2_0 = 20000
  1758. const m___VISIONOS_2_1 = 20100
  1759. const m___VISIONOS_2_2 = 20200
  1760. const m___WATCHOS_10_0 = 100000
  1761. const m___WATCHOS_10_1 = 100100
  1762. const m___WATCHOS_10_2 = 100200
  1763. const m___WATCHOS_10_3 = 100300
  1764. const m___WATCHOS_10_4 = 100400
  1765. const m___WATCHOS_10_5 = 100500
  1766. const m___WATCHOS_11_0 = 110000
  1767. const m___WATCHOS_11_1 = 110100
  1768. const m___WATCHOS_11_2 = 110200
  1769. const m___WATCHOS_1_0 = 10000
  1770. const m___WATCHOS_2_0 = 20000
  1771. const m___WATCHOS_2_1 = 20100
  1772. const m___WATCHOS_2_2 = 20200
  1773. const m___WATCHOS_3_0 = 30000
  1774. const m___WATCHOS_3_1 = 30100
  1775. const m___WATCHOS_3_1_1 = 30101
  1776. const m___WATCHOS_3_2 = 30200
  1777. const m___WATCHOS_4_0 = 40000
  1778. const m___WATCHOS_4_1 = 40100
  1779. const m___WATCHOS_4_2 = 40200
  1780. const m___WATCHOS_4_3 = 40300
  1781. const m___WATCHOS_5_0 = 50000
  1782. const m___WATCHOS_5_1 = 50100
  1783. const m___WATCHOS_5_2 = 50200
  1784. const m___WATCHOS_5_3 = 50300
  1785. const m___WATCHOS_6_0 = 60000
  1786. const m___WATCHOS_6_1 = 60100
  1787. const m___WATCHOS_6_2 = 60200
  1788. const m___WATCHOS_7_0 = 70000
  1789. const m___WATCHOS_7_1 = 70100
  1790. const m___WATCHOS_7_2 = 70200
  1791. const m___WATCHOS_7_3 = 70300
  1792. const m___WATCHOS_7_4 = 70400
  1793. const m___WATCHOS_7_5 = 70500
  1794. const m___WATCHOS_7_6 = 70600
  1795. const m___WATCHOS_8_0 = 80000
  1796. const m___WATCHOS_8_1 = 80100
  1797. const m___WATCHOS_8_3 = 80300
  1798. const m___WATCHOS_8_4 = 80400
  1799. const m___WATCHOS_8_5 = 80500
  1800. const m___WATCHOS_8_6 = 80600
  1801. const m___WATCHOS_8_7 = 80700
  1802. const m___WATCHOS_8_8 = 80800
  1803. const m___WATCHOS_9_0 = 90000
  1804. const m___WATCHOS_9_1 = 90100
  1805. const m___WATCHOS_9_2 = 90200
  1806. const m___WATCHOS_9_3 = 90300
  1807. const m___WATCHOS_9_4 = 90400
  1808. const m___WATCHOS_9_5 = 90500
  1809. const m___WATCHOS_9_6 = 90600
  1810. const m___WCHAR_MAX__ = 2147483647
  1811. const m___WCHAR_TYPE__ = "int"
  1812. const m___WCHAR_WIDTH__ = 32
  1813. const m___WINT_MAX__ = 2147483647
  1814. const m___WINT_TYPE__ = "int"
  1815. const m___WINT_WIDTH__ = 32
  1816. const m___amd64 = 1
  1817. const m___amd64__ = 1
  1818. const m___apple_build_version__ = 16000026
  1819. const m___clang__ = 1
  1820. const m___clang_literal_encoding__ = "UTF-8"
  1821. const m___clang_major__ = 16
  1822. const m___clang_minor__ = 0
  1823. const m___clang_patchlevel__ = 0
  1824. const m___clang_version__ = "16.0.0 (clang-1600.0.26.6)"
  1825. const m___clang_wide_literal_encoding__ = "UTF-32"
  1826. const m___code_model_small__ = 1
  1827. const m___const = "const"
  1828. const m___core2 = 1
  1829. const m___core2__ = 1
  1830. const m___has_ptrcheck = 0
  1831. const m___has_safe_buffers = 0
  1832. const m___header_inline = "inline"
  1833. const m___llvm__ = 1
  1834. const m___nonnull = "_Nonnull"
  1835. const m___null_unspecified = "_Null_unspecified"
  1836. const m___nullable = "_Nullable"
  1837. const m___pic__ = 2
  1838. const m___restrict = "restrict"
  1839. const m___restrict_arr = "restrict"
  1840. const m___signed = "signed"
  1841. const m___tune_core2__ = 1
  1842. const m___volatile = "volatile"
  1843. const m___x86_64 = 1
  1844. const m___x86_64__ = 1
  1845. const m_ru_first = "ru_ixrss"
  1846. const m_ru_last = "ru_nivcsw"
  1847. const m_static_assert = "_Static_assert"
  1848. const m_stderr = "__stderrp"
  1849. const m_stdin = "__stdinp"
  1850. const m_stdout = "__stdoutp"
  1851. const m_sv_onstack = "sv_flags"
  1852. type t__builtin_va_list = uintptr
  1853. type t__predefined_size_t = uint64
  1854. type t__predefined_wchar_t = int32
  1855. type t__predefined_ptrdiff_t = int64
  1856. type t__int8_t = int8
  1857. type t__uint8_t = uint8
  1858. type t__int16_t = int16
  1859. type t__uint16_t = uint16
  1860. type t__int32_t = int32
  1861. type t__uint32_t = uint32
  1862. type t__int64_t = int64
  1863. type t__uint64_t = uint64
  1864. type t__darwin_intptr_t = int64
  1865. type t__darwin_natural_t = uint32
  1866. type t__darwin_ct_rune_t = int32
  1867. type t__mbstate_t = struct {
  1868. F_mbstateL [0]int64
  1869. F__mbstate8 [128]int8
  1870. }
  1871. type t__darwin_mbstate_t = struct {
  1872. F_mbstateL [0]int64
  1873. F__mbstate8 [128]int8
  1874. }
  1875. type t__darwin_ptrdiff_t = int64
  1876. type t__darwin_size_t = uint64
  1877. type t__darwin_va_list = uintptr
  1878. type t__darwin_wchar_t = int32
  1879. type t__darwin_rune_t = int32
  1880. type t__darwin_wint_t = int32
  1881. type t__darwin_clock_t = uint64
  1882. type t__darwin_socklen_t = uint32
  1883. type t__darwin_ssize_t = int64
  1884. type t__darwin_time_t = int64
  1885. type t__darwin_blkcnt_t = int64
  1886. type t__darwin_blksize_t = int32
  1887. type t__darwin_dev_t = int32
  1888. type t__darwin_fsblkcnt_t = uint32
  1889. type t__darwin_fsfilcnt_t = uint32
  1890. type t__darwin_gid_t = uint32
  1891. type t__darwin_id_t = uint32
  1892. type t__darwin_ino64_t = uint64
  1893. type t__darwin_ino_t = uint64
  1894. type t__darwin_mach_port_name_t = uint32
  1895. type t__darwin_mach_port_t = uint32
  1896. type t__darwin_mode_t = uint16
  1897. type t__darwin_off_t = int64
  1898. type t__darwin_pid_t = int32
  1899. type t__darwin_sigset_t = uint32
  1900. type t__darwin_suseconds_t = int32
  1901. type t__darwin_uid_t = uint32
  1902. type t__darwin_useconds_t = uint32
  1903. type t__darwin_uuid_t = [16]uint8
  1904. type t__darwin_uuid_string_t = [37]int8
  1905. type t__darwin_pthread_handler_rec = struct {
  1906. F__routine uintptr
  1907. F__arg uintptr
  1908. F__next uintptr
  1909. }
  1910. type T_opaque_pthread_attr_t = struct {
  1911. F__sig int64
  1912. F__opaque [56]int8
  1913. }
  1914. type T_opaque_pthread_cond_t = struct {
  1915. F__sig int64
  1916. F__opaque [40]int8
  1917. }
  1918. type T_opaque_pthread_condattr_t = struct {
  1919. F__sig int64
  1920. F__opaque [8]int8
  1921. }
  1922. type T_opaque_pthread_mutex_t = struct {
  1923. F__sig int64
  1924. F__opaque [56]int8
  1925. }
  1926. type T_opaque_pthread_mutexattr_t = struct {
  1927. F__sig int64
  1928. F__opaque [8]int8
  1929. }
  1930. type T_opaque_pthread_once_t = struct {
  1931. F__sig int64
  1932. F__opaque [8]int8
  1933. }
  1934. type T_opaque_pthread_rwlock_t = struct {
  1935. F__sig int64
  1936. F__opaque [192]int8
  1937. }
  1938. type T_opaque_pthread_rwlockattr_t = struct {
  1939. F__sig int64
  1940. F__opaque [16]int8
  1941. }
  1942. type T_opaque_pthread_t = struct {
  1943. F__sig int64
  1944. F__cleanup_stack uintptr
  1945. F__opaque [8176]int8
  1946. }
  1947. type t__darwin_pthread_attr_t = struct {
  1948. F__sig int64
  1949. F__opaque [56]int8
  1950. }
  1951. type t__darwin_pthread_cond_t = struct {
  1952. F__sig int64
  1953. F__opaque [40]int8
  1954. }
  1955. type t__darwin_pthread_condattr_t = struct {
  1956. F__sig int64
  1957. F__opaque [8]int8
  1958. }
  1959. type t__darwin_pthread_key_t = uint64
  1960. type t__darwin_pthread_mutex_t = struct {
  1961. F__sig int64
  1962. F__opaque [56]int8
  1963. }
  1964. type t__darwin_pthread_mutexattr_t = struct {
  1965. F__sig int64
  1966. F__opaque [8]int8
  1967. }
  1968. type t__darwin_pthread_once_t = struct {
  1969. F__sig int64
  1970. F__opaque [8]int8
  1971. }
  1972. type t__darwin_pthread_rwlock_t = struct {
  1973. F__sig int64
  1974. F__opaque [192]int8
  1975. }
  1976. type t__darwin_pthread_rwlockattr_t = struct {
  1977. F__sig int64
  1978. F__opaque [16]int8
  1979. }
  1980. type t__darwin_pthread_t = uintptr
  1981. type Tint64_t = int64
  1982. type Tuint64_t = uint64
  1983. type Tint_least64_t = int64
  1984. type Tuint_least64_t = uint64
  1985. type Tint_fast64_t = int64
  1986. type Tuint_fast64_t = uint64
  1987. type Tint32_t = int32
  1988. type Tuint32_t = uint32
  1989. type Tint_least32_t = int32
  1990. type Tuint_least32_t = uint32
  1991. type Tint_fast32_t = int32
  1992. type Tuint_fast32_t = uint32
  1993. type Tint16_t = int16
  1994. type Tuint16_t = uint16
  1995. type Tint_least16_t = int16
  1996. type Tuint_least16_t = uint16
  1997. type Tint_fast16_t = int16
  1998. type Tuint_fast16_t = uint16
  1999. type Tint8_t = int8
  2000. type Tuint8_t = uint8
  2001. type Tint_least8_t = int8
  2002. type Tuint_least8_t = uint8
  2003. type Tint_fast8_t = int8
  2004. type Tuint_fast8_t = uint8
  2005. type Tintptr_t = int64
  2006. type Tuintptr_t = uint64
  2007. type Tintmax_t = int64
  2008. type Tuintmax_t = uint64
  2009. type t__darwin_nl_item = int32
  2010. type t__darwin_wctrans_t = int32
  2011. type t__darwin_wctype_t = uint32
  2012. type Tidtype_t = int32
  2013. const _P_ALL = 0
  2014. const _P_PID = 1
  2015. const _P_PGID = 2
  2016. type Tpid_t = int32
  2017. type Tid_t = uint32
  2018. type Tsig_atomic_t = int32
  2019. type Tu_int8_t = uint8
  2020. type Tu_int16_t = uint16
  2021. type Tu_int32_t = uint32
  2022. type Tu_int64_t = uint64
  2023. type Tregister_t = int64
  2024. type Tuser_addr_t = uint64
  2025. type Tuser_size_t = uint64
  2026. type Tuser_ssize_t = int64
  2027. type Tuser_long_t = int64
  2028. type Tuser_ulong_t = uint64
  2029. type Tuser_time_t = int64
  2030. type Tuser_off_t = int64
  2031. type Tsyscall_arg_t = uint64
  2032. type t__darwin_i386_thread_state = struct {
  2033. F__eax uint32
  2034. F__ebx uint32
  2035. F__ecx uint32
  2036. F__edx uint32
  2037. F__edi uint32
  2038. F__esi uint32
  2039. F__ebp uint32
  2040. F__esp uint32
  2041. F__ss uint32
  2042. F__eflags uint32
  2043. F__eip uint32
  2044. F__cs uint32
  2045. F__ds uint32
  2046. F__es uint32
  2047. F__fs uint32
  2048. F__gs uint32
  2049. }
  2050. type t__darwin_fp_control = struct {
  2051. F__ccgo0 uint16
  2052. }
  2053. type t__darwin_fp_control_t = struct {
  2054. F__ccgo0 uint16
  2055. }
  2056. type t__darwin_fp_status = struct {
  2057. F__ccgo0 uint16
  2058. }
  2059. type t__darwin_fp_status_t = struct {
  2060. F__ccgo0 uint16
  2061. }
  2062. type t__darwin_mmst_reg = struct {
  2063. F__mmst_reg [10]int8
  2064. F__mmst_rsrv [6]int8
  2065. }
  2066. type t__darwin_xmm_reg = struct {
  2067. F__xmm_reg [16]int8
  2068. }
  2069. type t__darwin_ymm_reg = struct {
  2070. F__ymm_reg [32]int8
  2071. }
  2072. type t__darwin_zmm_reg = struct {
  2073. F__zmm_reg [64]int8
  2074. }
  2075. type t__darwin_opmask_reg = struct {
  2076. F__opmask_reg [8]int8
  2077. }
  2078. type t__darwin_i386_float_state = struct {
  2079. F__fpu_reserved [2]int32
  2080. F__fpu_fcw t__darwin_fp_control
  2081. F__fpu_fsw t__darwin_fp_status
  2082. F__fpu_ftw t__uint8_t
  2083. F__fpu_rsrv1 t__uint8_t
  2084. F__fpu_fop t__uint16_t
  2085. F__fpu_ip t__uint32_t
  2086. F__fpu_cs t__uint16_t
  2087. F__fpu_rsrv2 t__uint16_t
  2088. F__fpu_dp t__uint32_t
  2089. F__fpu_ds t__uint16_t
  2090. F__fpu_rsrv3 t__uint16_t
  2091. F__fpu_mxcsr t__uint32_t
  2092. F__fpu_mxcsrmask t__uint32_t
  2093. F__fpu_stmm0 t__darwin_mmst_reg
  2094. F__fpu_stmm1 t__darwin_mmst_reg
  2095. F__fpu_stmm2 t__darwin_mmst_reg
  2096. F__fpu_stmm3 t__darwin_mmst_reg
  2097. F__fpu_stmm4 t__darwin_mmst_reg
  2098. F__fpu_stmm5 t__darwin_mmst_reg
  2099. F__fpu_stmm6 t__darwin_mmst_reg
  2100. F__fpu_stmm7 t__darwin_mmst_reg
  2101. F__fpu_xmm0 t__darwin_xmm_reg
  2102. F__fpu_xmm1 t__darwin_xmm_reg
  2103. F__fpu_xmm2 t__darwin_xmm_reg
  2104. F__fpu_xmm3 t__darwin_xmm_reg
  2105. F__fpu_xmm4 t__darwin_xmm_reg
  2106. F__fpu_xmm5 t__darwin_xmm_reg
  2107. F__fpu_xmm6 t__darwin_xmm_reg
  2108. F__fpu_xmm7 t__darwin_xmm_reg
  2109. F__fpu_rsrv4 [224]int8
  2110. F__fpu_reserved1 int32
  2111. }
  2112. type t__darwin_i386_avx_state = struct {
  2113. F__fpu_reserved [2]int32
  2114. F__fpu_fcw t__darwin_fp_control
  2115. F__fpu_fsw t__darwin_fp_status
  2116. F__fpu_ftw t__uint8_t
  2117. F__fpu_rsrv1 t__uint8_t
  2118. F__fpu_fop t__uint16_t
  2119. F__fpu_ip t__uint32_t
  2120. F__fpu_cs t__uint16_t
  2121. F__fpu_rsrv2 t__uint16_t
  2122. F__fpu_dp t__uint32_t
  2123. F__fpu_ds t__uint16_t
  2124. F__fpu_rsrv3 t__uint16_t
  2125. F__fpu_mxcsr t__uint32_t
  2126. F__fpu_mxcsrmask t__uint32_t
  2127. F__fpu_stmm0 t__darwin_mmst_reg
  2128. F__fpu_stmm1 t__darwin_mmst_reg
  2129. F__fpu_stmm2 t__darwin_mmst_reg
  2130. F__fpu_stmm3 t__darwin_mmst_reg
  2131. F__fpu_stmm4 t__darwin_mmst_reg
  2132. F__fpu_stmm5 t__darwin_mmst_reg
  2133. F__fpu_stmm6 t__darwin_mmst_reg
  2134. F__fpu_stmm7 t__darwin_mmst_reg
  2135. F__fpu_xmm0 t__darwin_xmm_reg
  2136. F__fpu_xmm1 t__darwin_xmm_reg
  2137. F__fpu_xmm2 t__darwin_xmm_reg
  2138. F__fpu_xmm3 t__darwin_xmm_reg
  2139. F__fpu_xmm4 t__darwin_xmm_reg
  2140. F__fpu_xmm5 t__darwin_xmm_reg
  2141. F__fpu_xmm6 t__darwin_xmm_reg
  2142. F__fpu_xmm7 t__darwin_xmm_reg
  2143. F__fpu_rsrv4 [224]int8
  2144. F__fpu_reserved1 int32
  2145. F__avx_reserved1 [64]int8
  2146. F__fpu_ymmh0 t__darwin_xmm_reg
  2147. F__fpu_ymmh1 t__darwin_xmm_reg
  2148. F__fpu_ymmh2 t__darwin_xmm_reg
  2149. F__fpu_ymmh3 t__darwin_xmm_reg
  2150. F__fpu_ymmh4 t__darwin_xmm_reg
  2151. F__fpu_ymmh5 t__darwin_xmm_reg
  2152. F__fpu_ymmh6 t__darwin_xmm_reg
  2153. F__fpu_ymmh7 t__darwin_xmm_reg
  2154. }
  2155. type t__darwin_i386_avx512_state = struct {
  2156. F__fpu_reserved [2]int32
  2157. F__fpu_fcw t__darwin_fp_control
  2158. F__fpu_fsw t__darwin_fp_status
  2159. F__fpu_ftw t__uint8_t
  2160. F__fpu_rsrv1 t__uint8_t
  2161. F__fpu_fop t__uint16_t
  2162. F__fpu_ip t__uint32_t
  2163. F__fpu_cs t__uint16_t
  2164. F__fpu_rsrv2 t__uint16_t
  2165. F__fpu_dp t__uint32_t
  2166. F__fpu_ds t__uint16_t
  2167. F__fpu_rsrv3 t__uint16_t
  2168. F__fpu_mxcsr t__uint32_t
  2169. F__fpu_mxcsrmask t__uint32_t
  2170. F__fpu_stmm0 t__darwin_mmst_reg
  2171. F__fpu_stmm1 t__darwin_mmst_reg
  2172. F__fpu_stmm2 t__darwin_mmst_reg
  2173. F__fpu_stmm3 t__darwin_mmst_reg
  2174. F__fpu_stmm4 t__darwin_mmst_reg
  2175. F__fpu_stmm5 t__darwin_mmst_reg
  2176. F__fpu_stmm6 t__darwin_mmst_reg
  2177. F__fpu_stmm7 t__darwin_mmst_reg
  2178. F__fpu_xmm0 t__darwin_xmm_reg
  2179. F__fpu_xmm1 t__darwin_xmm_reg
  2180. F__fpu_xmm2 t__darwin_xmm_reg
  2181. F__fpu_xmm3 t__darwin_xmm_reg
  2182. F__fpu_xmm4 t__darwin_xmm_reg
  2183. F__fpu_xmm5 t__darwin_xmm_reg
  2184. F__fpu_xmm6 t__darwin_xmm_reg
  2185. F__fpu_xmm7 t__darwin_xmm_reg
  2186. F__fpu_rsrv4 [224]int8
  2187. F__fpu_reserved1 int32
  2188. F__avx_reserved1 [64]int8
  2189. F__fpu_ymmh0 t__darwin_xmm_reg
  2190. F__fpu_ymmh1 t__darwin_xmm_reg
  2191. F__fpu_ymmh2 t__darwin_xmm_reg
  2192. F__fpu_ymmh3 t__darwin_xmm_reg
  2193. F__fpu_ymmh4 t__darwin_xmm_reg
  2194. F__fpu_ymmh5 t__darwin_xmm_reg
  2195. F__fpu_ymmh6 t__darwin_xmm_reg
  2196. F__fpu_ymmh7 t__darwin_xmm_reg
  2197. F__fpu_k0 t__darwin_opmask_reg
  2198. F__fpu_k1 t__darwin_opmask_reg
  2199. F__fpu_k2 t__darwin_opmask_reg
  2200. F__fpu_k3 t__darwin_opmask_reg
  2201. F__fpu_k4 t__darwin_opmask_reg
  2202. F__fpu_k5 t__darwin_opmask_reg
  2203. F__fpu_k6 t__darwin_opmask_reg
  2204. F__fpu_k7 t__darwin_opmask_reg
  2205. F__fpu_zmmh0 t__darwin_ymm_reg
  2206. F__fpu_zmmh1 t__darwin_ymm_reg
  2207. F__fpu_zmmh2 t__darwin_ymm_reg
  2208. F__fpu_zmmh3 t__darwin_ymm_reg
  2209. F__fpu_zmmh4 t__darwin_ymm_reg
  2210. F__fpu_zmmh5 t__darwin_ymm_reg
  2211. F__fpu_zmmh6 t__darwin_ymm_reg
  2212. F__fpu_zmmh7 t__darwin_ymm_reg
  2213. }
  2214. type t__darwin_i386_exception_state = struct {
  2215. F__trapno t__uint16_t
  2216. F__cpu t__uint16_t
  2217. F__err t__uint32_t
  2218. F__faultvaddr t__uint32_t
  2219. }
  2220. type t__darwin_x86_debug_state32 = struct {
  2221. F__dr0 uint32
  2222. F__dr1 uint32
  2223. F__dr2 uint32
  2224. F__dr3 uint32
  2225. F__dr4 uint32
  2226. F__dr5 uint32
  2227. F__dr6 uint32
  2228. F__dr7 uint32
  2229. }
  2230. type t__x86_instruction_state = struct {
  2231. F__insn_stream_valid_bytes int32
  2232. F__insn_offset int32
  2233. F__out_of_synch int32
  2234. F__insn_bytes [2380]t__uint8_t
  2235. F__insn_cacheline [64]t__uint8_t
  2236. }
  2237. type t__last_branch_record = struct {
  2238. F__from_ip t__uint64_t
  2239. F__to_ip t__uint64_t
  2240. F__ccgo16 uint32
  2241. }
  2242. type t__last_branch_state = struct {
  2243. F__lbr_count int32
  2244. F__ccgo4 uint32
  2245. F__lbrs [32]t__last_branch_record
  2246. }
  2247. type t__x86_pagein_state = struct {
  2248. F__pagein_error int32
  2249. }
  2250. type t__darwin_x86_thread_state64 = struct {
  2251. F__rax t__uint64_t
  2252. F__rbx t__uint64_t
  2253. F__rcx t__uint64_t
  2254. F__rdx t__uint64_t
  2255. F__rdi t__uint64_t
  2256. F__rsi t__uint64_t
  2257. F__rbp t__uint64_t
  2258. F__rsp t__uint64_t
  2259. F__r8 t__uint64_t
  2260. F__r9 t__uint64_t
  2261. F__r10 t__uint64_t
  2262. F__r11 t__uint64_t
  2263. F__r12 t__uint64_t
  2264. F__r13 t__uint64_t
  2265. F__r14 t__uint64_t
  2266. F__r15 t__uint64_t
  2267. F__rip t__uint64_t
  2268. F__rflags t__uint64_t
  2269. F__cs t__uint64_t
  2270. F__fs t__uint64_t
  2271. F__gs t__uint64_t
  2272. }
  2273. type t__darwin_x86_thread_full_state64 = struct {
  2274. F__ss64 t__darwin_x86_thread_state64
  2275. F__ds t__uint64_t
  2276. F__es t__uint64_t
  2277. F__ss t__uint64_t
  2278. F__gsbase t__uint64_t
  2279. }
  2280. type t__darwin_x86_float_state64 = struct {
  2281. F__fpu_reserved [2]int32
  2282. F__fpu_fcw t__darwin_fp_control
  2283. F__fpu_fsw t__darwin_fp_status
  2284. F__fpu_ftw t__uint8_t
  2285. F__fpu_rsrv1 t__uint8_t
  2286. F__fpu_fop t__uint16_t
  2287. F__fpu_ip t__uint32_t
  2288. F__fpu_cs t__uint16_t
  2289. F__fpu_rsrv2 t__uint16_t
  2290. F__fpu_dp t__uint32_t
  2291. F__fpu_ds t__uint16_t
  2292. F__fpu_rsrv3 t__uint16_t
  2293. F__fpu_mxcsr t__uint32_t
  2294. F__fpu_mxcsrmask t__uint32_t
  2295. F__fpu_stmm0 t__darwin_mmst_reg
  2296. F__fpu_stmm1 t__darwin_mmst_reg
  2297. F__fpu_stmm2 t__darwin_mmst_reg
  2298. F__fpu_stmm3 t__darwin_mmst_reg
  2299. F__fpu_stmm4 t__darwin_mmst_reg
  2300. F__fpu_stmm5 t__darwin_mmst_reg
  2301. F__fpu_stmm6 t__darwin_mmst_reg
  2302. F__fpu_stmm7 t__darwin_mmst_reg
  2303. F__fpu_xmm0 t__darwin_xmm_reg
  2304. F__fpu_xmm1 t__darwin_xmm_reg
  2305. F__fpu_xmm2 t__darwin_xmm_reg
  2306. F__fpu_xmm3 t__darwin_xmm_reg
  2307. F__fpu_xmm4 t__darwin_xmm_reg
  2308. F__fpu_xmm5 t__darwin_xmm_reg
  2309. F__fpu_xmm6 t__darwin_xmm_reg
  2310. F__fpu_xmm7 t__darwin_xmm_reg
  2311. F__fpu_xmm8 t__darwin_xmm_reg
  2312. F__fpu_xmm9 t__darwin_xmm_reg
  2313. F__fpu_xmm10 t__darwin_xmm_reg
  2314. F__fpu_xmm11 t__darwin_xmm_reg
  2315. F__fpu_xmm12 t__darwin_xmm_reg
  2316. F__fpu_xmm13 t__darwin_xmm_reg
  2317. F__fpu_xmm14 t__darwin_xmm_reg
  2318. F__fpu_xmm15 t__darwin_xmm_reg
  2319. F__fpu_rsrv4 [96]int8
  2320. F__fpu_reserved1 int32
  2321. }
  2322. type t__darwin_x86_avx_state64 = struct {
  2323. F__fpu_reserved [2]int32
  2324. F__fpu_fcw t__darwin_fp_control
  2325. F__fpu_fsw t__darwin_fp_status
  2326. F__fpu_ftw t__uint8_t
  2327. F__fpu_rsrv1 t__uint8_t
  2328. F__fpu_fop t__uint16_t
  2329. F__fpu_ip t__uint32_t
  2330. F__fpu_cs t__uint16_t
  2331. F__fpu_rsrv2 t__uint16_t
  2332. F__fpu_dp t__uint32_t
  2333. F__fpu_ds t__uint16_t
  2334. F__fpu_rsrv3 t__uint16_t
  2335. F__fpu_mxcsr t__uint32_t
  2336. F__fpu_mxcsrmask t__uint32_t
  2337. F__fpu_stmm0 t__darwin_mmst_reg
  2338. F__fpu_stmm1 t__darwin_mmst_reg
  2339. F__fpu_stmm2 t__darwin_mmst_reg
  2340. F__fpu_stmm3 t__darwin_mmst_reg
  2341. F__fpu_stmm4 t__darwin_mmst_reg
  2342. F__fpu_stmm5 t__darwin_mmst_reg
  2343. F__fpu_stmm6 t__darwin_mmst_reg
  2344. F__fpu_stmm7 t__darwin_mmst_reg
  2345. F__fpu_xmm0 t__darwin_xmm_reg
  2346. F__fpu_xmm1 t__darwin_xmm_reg
  2347. F__fpu_xmm2 t__darwin_xmm_reg
  2348. F__fpu_xmm3 t__darwin_xmm_reg
  2349. F__fpu_xmm4 t__darwin_xmm_reg
  2350. F__fpu_xmm5 t__darwin_xmm_reg
  2351. F__fpu_xmm6 t__darwin_xmm_reg
  2352. F__fpu_xmm7 t__darwin_xmm_reg
  2353. F__fpu_xmm8 t__darwin_xmm_reg
  2354. F__fpu_xmm9 t__darwin_xmm_reg
  2355. F__fpu_xmm10 t__darwin_xmm_reg
  2356. F__fpu_xmm11 t__darwin_xmm_reg
  2357. F__fpu_xmm12 t__darwin_xmm_reg
  2358. F__fpu_xmm13 t__darwin_xmm_reg
  2359. F__fpu_xmm14 t__darwin_xmm_reg
  2360. F__fpu_xmm15 t__darwin_xmm_reg
  2361. F__fpu_rsrv4 [96]int8
  2362. F__fpu_reserved1 int32
  2363. F__avx_reserved1 [64]int8
  2364. F__fpu_ymmh0 t__darwin_xmm_reg
  2365. F__fpu_ymmh1 t__darwin_xmm_reg
  2366. F__fpu_ymmh2 t__darwin_xmm_reg
  2367. F__fpu_ymmh3 t__darwin_xmm_reg
  2368. F__fpu_ymmh4 t__darwin_xmm_reg
  2369. F__fpu_ymmh5 t__darwin_xmm_reg
  2370. F__fpu_ymmh6 t__darwin_xmm_reg
  2371. F__fpu_ymmh7 t__darwin_xmm_reg
  2372. F__fpu_ymmh8 t__darwin_xmm_reg
  2373. F__fpu_ymmh9 t__darwin_xmm_reg
  2374. F__fpu_ymmh10 t__darwin_xmm_reg
  2375. F__fpu_ymmh11 t__darwin_xmm_reg
  2376. F__fpu_ymmh12 t__darwin_xmm_reg
  2377. F__fpu_ymmh13 t__darwin_xmm_reg
  2378. F__fpu_ymmh14 t__darwin_xmm_reg
  2379. F__fpu_ymmh15 t__darwin_xmm_reg
  2380. }
  2381. type t__darwin_x86_avx512_state64 = struct {
  2382. F__fpu_reserved [2]int32
  2383. F__fpu_fcw t__darwin_fp_control
  2384. F__fpu_fsw t__darwin_fp_status
  2385. F__fpu_ftw t__uint8_t
  2386. F__fpu_rsrv1 t__uint8_t
  2387. F__fpu_fop t__uint16_t
  2388. F__fpu_ip t__uint32_t
  2389. F__fpu_cs t__uint16_t
  2390. F__fpu_rsrv2 t__uint16_t
  2391. F__fpu_dp t__uint32_t
  2392. F__fpu_ds t__uint16_t
  2393. F__fpu_rsrv3 t__uint16_t
  2394. F__fpu_mxcsr t__uint32_t
  2395. F__fpu_mxcsrmask t__uint32_t
  2396. F__fpu_stmm0 t__darwin_mmst_reg
  2397. F__fpu_stmm1 t__darwin_mmst_reg
  2398. F__fpu_stmm2 t__darwin_mmst_reg
  2399. F__fpu_stmm3 t__darwin_mmst_reg
  2400. F__fpu_stmm4 t__darwin_mmst_reg
  2401. F__fpu_stmm5 t__darwin_mmst_reg
  2402. F__fpu_stmm6 t__darwin_mmst_reg
  2403. F__fpu_stmm7 t__darwin_mmst_reg
  2404. F__fpu_xmm0 t__darwin_xmm_reg
  2405. F__fpu_xmm1 t__darwin_xmm_reg
  2406. F__fpu_xmm2 t__darwin_xmm_reg
  2407. F__fpu_xmm3 t__darwin_xmm_reg
  2408. F__fpu_xmm4 t__darwin_xmm_reg
  2409. F__fpu_xmm5 t__darwin_xmm_reg
  2410. F__fpu_xmm6 t__darwin_xmm_reg
  2411. F__fpu_xmm7 t__darwin_xmm_reg
  2412. F__fpu_xmm8 t__darwin_xmm_reg
  2413. F__fpu_xmm9 t__darwin_xmm_reg
  2414. F__fpu_xmm10 t__darwin_xmm_reg
  2415. F__fpu_xmm11 t__darwin_xmm_reg
  2416. F__fpu_xmm12 t__darwin_xmm_reg
  2417. F__fpu_xmm13 t__darwin_xmm_reg
  2418. F__fpu_xmm14 t__darwin_xmm_reg
  2419. F__fpu_xmm15 t__darwin_xmm_reg
  2420. F__fpu_rsrv4 [96]int8
  2421. F__fpu_reserved1 int32
  2422. F__avx_reserved1 [64]int8
  2423. F__fpu_ymmh0 t__darwin_xmm_reg
  2424. F__fpu_ymmh1 t__darwin_xmm_reg
  2425. F__fpu_ymmh2 t__darwin_xmm_reg
  2426. F__fpu_ymmh3 t__darwin_xmm_reg
  2427. F__fpu_ymmh4 t__darwin_xmm_reg
  2428. F__fpu_ymmh5 t__darwin_xmm_reg
  2429. F__fpu_ymmh6 t__darwin_xmm_reg
  2430. F__fpu_ymmh7 t__darwin_xmm_reg
  2431. F__fpu_ymmh8 t__darwin_xmm_reg
  2432. F__fpu_ymmh9 t__darwin_xmm_reg
  2433. F__fpu_ymmh10 t__darwin_xmm_reg
  2434. F__fpu_ymmh11 t__darwin_xmm_reg
  2435. F__fpu_ymmh12 t__darwin_xmm_reg
  2436. F__fpu_ymmh13 t__darwin_xmm_reg
  2437. F__fpu_ymmh14 t__darwin_xmm_reg
  2438. F__fpu_ymmh15 t__darwin_xmm_reg
  2439. F__fpu_k0 t__darwin_opmask_reg
  2440. F__fpu_k1 t__darwin_opmask_reg
  2441. F__fpu_k2 t__darwin_opmask_reg
  2442. F__fpu_k3 t__darwin_opmask_reg
  2443. F__fpu_k4 t__darwin_opmask_reg
  2444. F__fpu_k5 t__darwin_opmask_reg
  2445. F__fpu_k6 t__darwin_opmask_reg
  2446. F__fpu_k7 t__darwin_opmask_reg
  2447. F__fpu_zmmh0 t__darwin_ymm_reg
  2448. F__fpu_zmmh1 t__darwin_ymm_reg
  2449. F__fpu_zmmh2 t__darwin_ymm_reg
  2450. F__fpu_zmmh3 t__darwin_ymm_reg
  2451. F__fpu_zmmh4 t__darwin_ymm_reg
  2452. F__fpu_zmmh5 t__darwin_ymm_reg
  2453. F__fpu_zmmh6 t__darwin_ymm_reg
  2454. F__fpu_zmmh7 t__darwin_ymm_reg
  2455. F__fpu_zmmh8 t__darwin_ymm_reg
  2456. F__fpu_zmmh9 t__darwin_ymm_reg
  2457. F__fpu_zmmh10 t__darwin_ymm_reg
  2458. F__fpu_zmmh11 t__darwin_ymm_reg
  2459. F__fpu_zmmh12 t__darwin_ymm_reg
  2460. F__fpu_zmmh13 t__darwin_ymm_reg
  2461. F__fpu_zmmh14 t__darwin_ymm_reg
  2462. F__fpu_zmmh15 t__darwin_ymm_reg
  2463. F__fpu_zmm16 t__darwin_zmm_reg
  2464. F__fpu_zmm17 t__darwin_zmm_reg
  2465. F__fpu_zmm18 t__darwin_zmm_reg
  2466. F__fpu_zmm19 t__darwin_zmm_reg
  2467. F__fpu_zmm20 t__darwin_zmm_reg
  2468. F__fpu_zmm21 t__darwin_zmm_reg
  2469. F__fpu_zmm22 t__darwin_zmm_reg
  2470. F__fpu_zmm23 t__darwin_zmm_reg
  2471. F__fpu_zmm24 t__darwin_zmm_reg
  2472. F__fpu_zmm25 t__darwin_zmm_reg
  2473. F__fpu_zmm26 t__darwin_zmm_reg
  2474. F__fpu_zmm27 t__darwin_zmm_reg
  2475. F__fpu_zmm28 t__darwin_zmm_reg
  2476. F__fpu_zmm29 t__darwin_zmm_reg
  2477. F__fpu_zmm30 t__darwin_zmm_reg
  2478. F__fpu_zmm31 t__darwin_zmm_reg
  2479. }
  2480. type t__darwin_x86_exception_state64 = struct {
  2481. F__trapno t__uint16_t
  2482. F__cpu t__uint16_t
  2483. F__err t__uint32_t
  2484. F__faultvaddr t__uint64_t
  2485. }
  2486. type t__darwin_x86_debug_state64 = struct {
  2487. F__dr0 t__uint64_t
  2488. F__dr1 t__uint64_t
  2489. F__dr2 t__uint64_t
  2490. F__dr3 t__uint64_t
  2491. F__dr4 t__uint64_t
  2492. F__dr5 t__uint64_t
  2493. F__dr6 t__uint64_t
  2494. F__dr7 t__uint64_t
  2495. }
  2496. type t__darwin_x86_cpmu_state64 = struct {
  2497. F__ctrs [16]t__uint64_t
  2498. }
  2499. type t__darwin_mcontext32 = struct {
  2500. F__es t__darwin_i386_exception_state
  2501. F__ss t__darwin_i386_thread_state
  2502. F__fs t__darwin_i386_float_state
  2503. }
  2504. type t__darwin_mcontext_avx32 = struct {
  2505. F__es t__darwin_i386_exception_state
  2506. F__ss t__darwin_i386_thread_state
  2507. F__fs t__darwin_i386_avx_state
  2508. }
  2509. type t__darwin_mcontext_avx512_32 = struct {
  2510. F__es t__darwin_i386_exception_state
  2511. F__ss t__darwin_i386_thread_state
  2512. F__fs t__darwin_i386_avx512_state
  2513. }
  2514. type t__darwin_mcontext64 = struct {
  2515. F__es t__darwin_x86_exception_state64
  2516. F__ss t__darwin_x86_thread_state64
  2517. F__fs t__darwin_x86_float_state64
  2518. }
  2519. type t__darwin_mcontext64_full = struct {
  2520. F__es t__darwin_x86_exception_state64
  2521. F__ss t__darwin_x86_thread_full_state64
  2522. F__fs t__darwin_x86_float_state64
  2523. }
  2524. type t__darwin_mcontext_avx64 = struct {
  2525. F__es t__darwin_x86_exception_state64
  2526. F__ss t__darwin_x86_thread_state64
  2527. F__fs t__darwin_x86_avx_state64
  2528. }
  2529. type t__darwin_mcontext_avx64_full = struct {
  2530. F__es t__darwin_x86_exception_state64
  2531. F__ss t__darwin_x86_thread_full_state64
  2532. F__fs t__darwin_x86_avx_state64
  2533. }
  2534. type t__darwin_mcontext_avx512_64 = struct {
  2535. F__es t__darwin_x86_exception_state64
  2536. F__ss t__darwin_x86_thread_state64
  2537. F__fs t__darwin_x86_avx512_state64
  2538. }
  2539. type t__darwin_mcontext_avx512_64_full = struct {
  2540. F__es t__darwin_x86_exception_state64
  2541. F__ss t__darwin_x86_thread_full_state64
  2542. F__fs t__darwin_x86_avx512_state64
  2543. }
  2544. type Tmcontext_t = uintptr
  2545. type Tpthread_attr_t = struct {
  2546. F__sig int64
  2547. F__opaque [56]int8
  2548. }
  2549. type t__darwin_sigaltstack = struct {
  2550. Fss_sp uintptr
  2551. Fss_size t__darwin_size_t
  2552. Fss_flags int32
  2553. }
  2554. type Tstack_t = struct {
  2555. Fss_sp uintptr
  2556. Fss_size t__darwin_size_t
  2557. Fss_flags int32
  2558. }
  2559. type t__darwin_ucontext = struct {
  2560. Fuc_onstack int32
  2561. Fuc_sigmask t__darwin_sigset_t
  2562. Fuc_stack t__darwin_sigaltstack
  2563. Fuc_link uintptr
  2564. Fuc_mcsize t__darwin_size_t
  2565. Fuc_mcontext uintptr
  2566. }
  2567. type Tucontext_t = struct {
  2568. Fuc_onstack int32
  2569. Fuc_sigmask t__darwin_sigset_t
  2570. Fuc_stack t__darwin_sigaltstack
  2571. Fuc_link uintptr
  2572. Fuc_mcsize t__darwin_size_t
  2573. Fuc_mcontext uintptr
  2574. }
  2575. type Tsigset_t = uint32
  2576. type Tsize_t = uint64
  2577. type Tuid_t = uint32
  2578. type Tsigval = struct {
  2579. Fsival_ptr [0]uintptr
  2580. Fsival_int int32
  2581. F__ccgo_pad2 [4]byte
  2582. }
  2583. type Tsigevent = struct {
  2584. Fsigev_notify int32
  2585. Fsigev_signo int32
  2586. Fsigev_value Tsigval
  2587. Fsigev_notify_function uintptr
  2588. Fsigev_notify_attributes uintptr
  2589. }
  2590. type Tsiginfo_t = struct {
  2591. Fsi_signo int32
  2592. Fsi_errno int32
  2593. Fsi_code int32
  2594. Fsi_pid Tpid_t
  2595. Fsi_uid Tuid_t
  2596. Fsi_status int32
  2597. Fsi_addr uintptr
  2598. Fsi_value Tsigval
  2599. Fsi_band int64
  2600. F__pad [7]uint64
  2601. }
  2602. type t__siginfo = Tsiginfo_t
  2603. type t__sigaction_u = struct {
  2604. F__sa_sigaction [0]uintptr
  2605. F__sa_handler uintptr
  2606. }
  2607. type t__sigaction = struct {
  2608. F__sigaction_u t__sigaction_u
  2609. Fsa_tramp uintptr
  2610. Fsa_mask Tsigset_t
  2611. Fsa_flags int32
  2612. }
  2613. type Tsigaction = struct {
  2614. F__sigaction_u t__sigaction_u
  2615. Fsa_mask Tsigset_t
  2616. Fsa_flags int32
  2617. }
  2618. type Tsig_t = uintptr
  2619. type Tsigvec = struct {
  2620. Fsv_handler uintptr
  2621. Fsv_mask int32
  2622. Fsv_flags int32
  2623. }
  2624. type Tsigstack = struct {
  2625. Fss_sp uintptr
  2626. Fss_onstack int32
  2627. }
  2628. type Ttimeval = struct {
  2629. Ftv_sec t__darwin_time_t
  2630. Ftv_usec t__darwin_suseconds_t
  2631. }
  2632. type Trlim_t = uint64
  2633. type Trusage = struct {
  2634. Fru_utime Ttimeval
  2635. Fru_stime Ttimeval
  2636. Fru_maxrss int64
  2637. Fru_ixrss int64
  2638. Fru_idrss int64
  2639. Fru_isrss int64
  2640. Fru_minflt int64
  2641. Fru_majflt int64
  2642. Fru_nswap int64
  2643. Fru_inblock int64
  2644. Fru_oublock int64
  2645. Fru_msgsnd int64
  2646. Fru_msgrcv int64
  2647. Fru_nsignals int64
  2648. Fru_nvcsw int64
  2649. Fru_nivcsw int64
  2650. }
  2651. type Trusage_info_t = uintptr
  2652. type Trusage_info_v0 = struct {
  2653. Fri_uuid [16]Tuint8_t
  2654. Fri_user_time Tuint64_t
  2655. Fri_system_time Tuint64_t
  2656. Fri_pkg_idle_wkups Tuint64_t
  2657. Fri_interrupt_wkups Tuint64_t
  2658. Fri_pageins Tuint64_t
  2659. Fri_wired_size Tuint64_t
  2660. Fri_resident_size Tuint64_t
  2661. Fri_phys_footprint Tuint64_t
  2662. Fri_proc_start_abstime Tuint64_t
  2663. Fri_proc_exit_abstime Tuint64_t
  2664. }
  2665. type Trusage_info_v1 = struct {
  2666. Fri_uuid [16]Tuint8_t
  2667. Fri_user_time Tuint64_t
  2668. Fri_system_time Tuint64_t
  2669. Fri_pkg_idle_wkups Tuint64_t
  2670. Fri_interrupt_wkups Tuint64_t
  2671. Fri_pageins Tuint64_t
  2672. Fri_wired_size Tuint64_t
  2673. Fri_resident_size Tuint64_t
  2674. Fri_phys_footprint Tuint64_t
  2675. Fri_proc_start_abstime Tuint64_t
  2676. Fri_proc_exit_abstime Tuint64_t
  2677. Fri_child_user_time Tuint64_t
  2678. Fri_child_system_time Tuint64_t
  2679. Fri_child_pkg_idle_wkups Tuint64_t
  2680. Fri_child_interrupt_wkups Tuint64_t
  2681. Fri_child_pageins Tuint64_t
  2682. Fri_child_elapsed_abstime Tuint64_t
  2683. }
  2684. type Trusage_info_v2 = struct {
  2685. Fri_uuid [16]Tuint8_t
  2686. Fri_user_time Tuint64_t
  2687. Fri_system_time Tuint64_t
  2688. Fri_pkg_idle_wkups Tuint64_t
  2689. Fri_interrupt_wkups Tuint64_t
  2690. Fri_pageins Tuint64_t
  2691. Fri_wired_size Tuint64_t
  2692. Fri_resident_size Tuint64_t
  2693. Fri_phys_footprint Tuint64_t
  2694. Fri_proc_start_abstime Tuint64_t
  2695. Fri_proc_exit_abstime Tuint64_t
  2696. Fri_child_user_time Tuint64_t
  2697. Fri_child_system_time Tuint64_t
  2698. Fri_child_pkg_idle_wkups Tuint64_t
  2699. Fri_child_interrupt_wkups Tuint64_t
  2700. Fri_child_pageins Tuint64_t
  2701. Fri_child_elapsed_abstime Tuint64_t
  2702. Fri_diskio_bytesread Tuint64_t
  2703. Fri_diskio_byteswritten Tuint64_t
  2704. }
  2705. type Trusage_info_v3 = struct {
  2706. Fri_uuid [16]Tuint8_t
  2707. Fri_user_time Tuint64_t
  2708. Fri_system_time Tuint64_t
  2709. Fri_pkg_idle_wkups Tuint64_t
  2710. Fri_interrupt_wkups Tuint64_t
  2711. Fri_pageins Tuint64_t
  2712. Fri_wired_size Tuint64_t
  2713. Fri_resident_size Tuint64_t
  2714. Fri_phys_footprint Tuint64_t
  2715. Fri_proc_start_abstime Tuint64_t
  2716. Fri_proc_exit_abstime Tuint64_t
  2717. Fri_child_user_time Tuint64_t
  2718. Fri_child_system_time Tuint64_t
  2719. Fri_child_pkg_idle_wkups Tuint64_t
  2720. Fri_child_interrupt_wkups Tuint64_t
  2721. Fri_child_pageins Tuint64_t
  2722. Fri_child_elapsed_abstime Tuint64_t
  2723. Fri_diskio_bytesread Tuint64_t
  2724. Fri_diskio_byteswritten Tuint64_t
  2725. Fri_cpu_time_qos_default Tuint64_t
  2726. Fri_cpu_time_qos_maintenance Tuint64_t
  2727. Fri_cpu_time_qos_background Tuint64_t
  2728. Fri_cpu_time_qos_utility Tuint64_t
  2729. Fri_cpu_time_qos_legacy Tuint64_t
  2730. Fri_cpu_time_qos_user_initiated Tuint64_t
  2731. Fri_cpu_time_qos_user_interactive Tuint64_t
  2732. Fri_billed_system_time Tuint64_t
  2733. Fri_serviced_system_time Tuint64_t
  2734. }
  2735. type Trusage_info_v4 = struct {
  2736. Fri_uuid [16]Tuint8_t
  2737. Fri_user_time Tuint64_t
  2738. Fri_system_time Tuint64_t
  2739. Fri_pkg_idle_wkups Tuint64_t
  2740. Fri_interrupt_wkups Tuint64_t
  2741. Fri_pageins Tuint64_t
  2742. Fri_wired_size Tuint64_t
  2743. Fri_resident_size Tuint64_t
  2744. Fri_phys_footprint Tuint64_t
  2745. Fri_proc_start_abstime Tuint64_t
  2746. Fri_proc_exit_abstime Tuint64_t
  2747. Fri_child_user_time Tuint64_t
  2748. Fri_child_system_time Tuint64_t
  2749. Fri_child_pkg_idle_wkups Tuint64_t
  2750. Fri_child_interrupt_wkups Tuint64_t
  2751. Fri_child_pageins Tuint64_t
  2752. Fri_child_elapsed_abstime Tuint64_t
  2753. Fri_diskio_bytesread Tuint64_t
  2754. Fri_diskio_byteswritten Tuint64_t
  2755. Fri_cpu_time_qos_default Tuint64_t
  2756. Fri_cpu_time_qos_maintenance Tuint64_t
  2757. Fri_cpu_time_qos_background Tuint64_t
  2758. Fri_cpu_time_qos_utility Tuint64_t
  2759. Fri_cpu_time_qos_legacy Tuint64_t
  2760. Fri_cpu_time_qos_user_initiated Tuint64_t
  2761. Fri_cpu_time_qos_user_interactive Tuint64_t
  2762. Fri_billed_system_time Tuint64_t
  2763. Fri_serviced_system_time Tuint64_t
  2764. Fri_logical_writes Tuint64_t
  2765. Fri_lifetime_max_phys_footprint Tuint64_t
  2766. Fri_instructions Tuint64_t
  2767. Fri_cycles Tuint64_t
  2768. Fri_billed_energy Tuint64_t
  2769. Fri_serviced_energy Tuint64_t
  2770. Fri_interval_max_phys_footprint Tuint64_t
  2771. Fri_runnable_time Tuint64_t
  2772. }
  2773. type Trusage_info_v5 = struct {
  2774. Fri_uuid [16]Tuint8_t
  2775. Fri_user_time Tuint64_t
  2776. Fri_system_time Tuint64_t
  2777. Fri_pkg_idle_wkups Tuint64_t
  2778. Fri_interrupt_wkups Tuint64_t
  2779. Fri_pageins Tuint64_t
  2780. Fri_wired_size Tuint64_t
  2781. Fri_resident_size Tuint64_t
  2782. Fri_phys_footprint Tuint64_t
  2783. Fri_proc_start_abstime Tuint64_t
  2784. Fri_proc_exit_abstime Tuint64_t
  2785. Fri_child_user_time Tuint64_t
  2786. Fri_child_system_time Tuint64_t
  2787. Fri_child_pkg_idle_wkups Tuint64_t
  2788. Fri_child_interrupt_wkups Tuint64_t
  2789. Fri_child_pageins Tuint64_t
  2790. Fri_child_elapsed_abstime Tuint64_t
  2791. Fri_diskio_bytesread Tuint64_t
  2792. Fri_diskio_byteswritten Tuint64_t
  2793. Fri_cpu_time_qos_default Tuint64_t
  2794. Fri_cpu_time_qos_maintenance Tuint64_t
  2795. Fri_cpu_time_qos_background Tuint64_t
  2796. Fri_cpu_time_qos_utility Tuint64_t
  2797. Fri_cpu_time_qos_legacy Tuint64_t
  2798. Fri_cpu_time_qos_user_initiated Tuint64_t
  2799. Fri_cpu_time_qos_user_interactive Tuint64_t
  2800. Fri_billed_system_time Tuint64_t
  2801. Fri_serviced_system_time Tuint64_t
  2802. Fri_logical_writes Tuint64_t
  2803. Fri_lifetime_max_phys_footprint Tuint64_t
  2804. Fri_instructions Tuint64_t
  2805. Fri_cycles Tuint64_t
  2806. Fri_billed_energy Tuint64_t
  2807. Fri_serviced_energy Tuint64_t
  2808. Fri_interval_max_phys_footprint Tuint64_t
  2809. Fri_runnable_time Tuint64_t
  2810. Fri_flags Tuint64_t
  2811. }
  2812. type Trusage_info_v6 = struct {
  2813. Fri_uuid [16]Tuint8_t
  2814. Fri_user_time Tuint64_t
  2815. Fri_system_time Tuint64_t
  2816. Fri_pkg_idle_wkups Tuint64_t
  2817. Fri_interrupt_wkups Tuint64_t
  2818. Fri_pageins Tuint64_t
  2819. Fri_wired_size Tuint64_t
  2820. Fri_resident_size Tuint64_t
  2821. Fri_phys_footprint Tuint64_t
  2822. Fri_proc_start_abstime Tuint64_t
  2823. Fri_proc_exit_abstime Tuint64_t
  2824. Fri_child_user_time Tuint64_t
  2825. Fri_child_system_time Tuint64_t
  2826. Fri_child_pkg_idle_wkups Tuint64_t
  2827. Fri_child_interrupt_wkups Tuint64_t
  2828. Fri_child_pageins Tuint64_t
  2829. Fri_child_elapsed_abstime Tuint64_t
  2830. Fri_diskio_bytesread Tuint64_t
  2831. Fri_diskio_byteswritten Tuint64_t
  2832. Fri_cpu_time_qos_default Tuint64_t
  2833. Fri_cpu_time_qos_maintenance Tuint64_t
  2834. Fri_cpu_time_qos_background Tuint64_t
  2835. Fri_cpu_time_qos_utility Tuint64_t
  2836. Fri_cpu_time_qos_legacy Tuint64_t
  2837. Fri_cpu_time_qos_user_initiated Tuint64_t
  2838. Fri_cpu_time_qos_user_interactive Tuint64_t
  2839. Fri_billed_system_time Tuint64_t
  2840. Fri_serviced_system_time Tuint64_t
  2841. Fri_logical_writes Tuint64_t
  2842. Fri_lifetime_max_phys_footprint Tuint64_t
  2843. Fri_instructions Tuint64_t
  2844. Fri_cycles Tuint64_t
  2845. Fri_billed_energy Tuint64_t
  2846. Fri_serviced_energy Tuint64_t
  2847. Fri_interval_max_phys_footprint Tuint64_t
  2848. Fri_runnable_time Tuint64_t
  2849. Fri_flags Tuint64_t
  2850. Fri_user_ptime Tuint64_t
  2851. Fri_system_ptime Tuint64_t
  2852. Fri_pinstructions Tuint64_t
  2853. Fri_pcycles Tuint64_t
  2854. Fri_energy_nj Tuint64_t
  2855. Fri_penergy_nj Tuint64_t
  2856. Fri_secure_time_in_system Tuint64_t
  2857. Fri_secure_ptime_in_system Tuint64_t
  2858. Fri_neural_footprint Tuint64_t
  2859. Fri_lifetime_max_neural_footprint Tuint64_t
  2860. Fri_interval_max_neural_footprint Tuint64_t
  2861. Fri_reserved [9]Tuint64_t
  2862. }
  2863. type Trusage_info_current = struct {
  2864. Fri_uuid [16]Tuint8_t
  2865. Fri_user_time Tuint64_t
  2866. Fri_system_time Tuint64_t
  2867. Fri_pkg_idle_wkups Tuint64_t
  2868. Fri_interrupt_wkups Tuint64_t
  2869. Fri_pageins Tuint64_t
  2870. Fri_wired_size Tuint64_t
  2871. Fri_resident_size Tuint64_t
  2872. Fri_phys_footprint Tuint64_t
  2873. Fri_proc_start_abstime Tuint64_t
  2874. Fri_proc_exit_abstime Tuint64_t
  2875. Fri_child_user_time Tuint64_t
  2876. Fri_child_system_time Tuint64_t
  2877. Fri_child_pkg_idle_wkups Tuint64_t
  2878. Fri_child_interrupt_wkups Tuint64_t
  2879. Fri_child_pageins Tuint64_t
  2880. Fri_child_elapsed_abstime Tuint64_t
  2881. Fri_diskio_bytesread Tuint64_t
  2882. Fri_diskio_byteswritten Tuint64_t
  2883. Fri_cpu_time_qos_default Tuint64_t
  2884. Fri_cpu_time_qos_maintenance Tuint64_t
  2885. Fri_cpu_time_qos_background Tuint64_t
  2886. Fri_cpu_time_qos_utility Tuint64_t
  2887. Fri_cpu_time_qos_legacy Tuint64_t
  2888. Fri_cpu_time_qos_user_initiated Tuint64_t
  2889. Fri_cpu_time_qos_user_interactive Tuint64_t
  2890. Fri_billed_system_time Tuint64_t
  2891. Fri_serviced_system_time Tuint64_t
  2892. Fri_logical_writes Tuint64_t
  2893. Fri_lifetime_max_phys_footprint Tuint64_t
  2894. Fri_instructions Tuint64_t
  2895. Fri_cycles Tuint64_t
  2896. Fri_billed_energy Tuint64_t
  2897. Fri_serviced_energy Tuint64_t
  2898. Fri_interval_max_phys_footprint Tuint64_t
  2899. Fri_runnable_time Tuint64_t
  2900. Fri_flags Tuint64_t
  2901. Fri_user_ptime Tuint64_t
  2902. Fri_system_ptime Tuint64_t
  2903. Fri_pinstructions Tuint64_t
  2904. Fri_pcycles Tuint64_t
  2905. Fri_energy_nj Tuint64_t
  2906. Fri_penergy_nj Tuint64_t
  2907. Fri_secure_time_in_system Tuint64_t
  2908. Fri_secure_ptime_in_system Tuint64_t
  2909. Fri_neural_footprint Tuint64_t
  2910. Fri_lifetime_max_neural_footprint Tuint64_t
  2911. Fri_interval_max_neural_footprint Tuint64_t
  2912. Fri_reserved [9]Tuint64_t
  2913. }
  2914. type Trlimit = struct {
  2915. Frlim_cur Trlim_t
  2916. Frlim_max Trlim_t
  2917. }
  2918. type Tproc_rlimit_control_wakeupmon = struct {
  2919. Fwm_flags Tuint32_t
  2920. Fwm_rate Tint32_t
  2921. }
  2922. type Twait = struct {
  2923. Fw_T [0]struct {
  2924. F__ccgo0 uint32
  2925. }
  2926. Fw_S [0]struct {
  2927. F__ccgo0 uint32
  2928. }
  2929. Fw_status int32
  2930. }
  2931. type Tct_rune_t = int32
  2932. type Trune_t = int32
  2933. type Twchar_t = int32
  2934. type Tdiv_t = struct {
  2935. Fquot int32
  2936. Frem int32
  2937. }
  2938. type Tldiv_t = struct {
  2939. Fquot int64
  2940. Frem int64
  2941. }
  2942. type Tlldiv_t = struct {
  2943. Fquot int64
  2944. Frem int64
  2945. }
  2946. type Tmalloc_type_id_t = uint64
  2947. type Tdev_t = int32
  2948. type Tmode_t = uint16
  2949. type Tva_list = uintptr
  2950. type Tfpos_t = int64
  2951. type t__sbuf = struct {
  2952. F_base uintptr
  2953. F_size int32
  2954. }
  2955. type TFILE = struct {
  2956. F_p uintptr
  2957. F_r int32
  2958. F_w int32
  2959. F_flags int16
  2960. F_file int16
  2961. F_bf t__sbuf
  2962. F_lbfsize int32
  2963. F_cookie uintptr
  2964. F_close uintptr
  2965. F_read uintptr
  2966. F_seek uintptr
  2967. F_write uintptr
  2968. F_ub t__sbuf
  2969. F_extra uintptr
  2970. F_ur int32
  2971. F_ubuf [3]uint8
  2972. F_nbuf [1]uint8
  2973. F_lb t__sbuf
  2974. F_blksize int32
  2975. F_offset Tfpos_t
  2976. }
  2977. type t__sFILE = TFILE
  2978. type Toff_t = int64
  2979. type Tssize_t = int64
  2980. type Trsize_t = uint64
  2981. type Terrno_t = int32
  2982. type Twint_t = int32
  2983. type T_RuneEntry = struct {
  2984. F__min t__darwin_rune_t
  2985. F__max t__darwin_rune_t
  2986. F__map t__darwin_rune_t
  2987. F__types uintptr
  2988. }
  2989. type T_RuneRange = struct {
  2990. F__nranges int32
  2991. F__ranges uintptr
  2992. }
  2993. type T_RuneCharClass = struct {
  2994. F__name [14]int8
  2995. F__mask t__uint32_t
  2996. }
  2997. type T_RuneLocale = struct {
  2998. F__magic [8]int8
  2999. F__encoding [32]int8
  3000. F__sgetrune uintptr
  3001. F__sputrune uintptr
  3002. F__invalid_rune t__darwin_rune_t
  3003. F__runetype [256]t__uint32_t
  3004. F__maplower [256]t__darwin_rune_t
  3005. F__mapupper [256]t__darwin_rune_t
  3006. F__runetype_ext T_RuneRange
  3007. F__maplower_ext T_RuneRange
  3008. F__mapupper_ext T_RuneRange
  3009. F__variable uintptr
  3010. F__variable_len int32
  3011. F__ncharclasses int32
  3012. F__charclasses uintptr
  3013. }
  3014. type Tfloat_t = float32
  3015. type Tdouble_t = float64
  3016. type t__float2 = struct {
  3017. F__sinval float32
  3018. F__cosval float32
  3019. }
  3020. type t__double2 = struct {
  3021. F__sinval float64
  3022. F__cosval float64
  3023. }
  3024. type Texception = struct {
  3025. Ftype1 int32
  3026. Fname uintptr
  3027. Farg1 float64
  3028. Farg2 float64
  3029. Fretval float64
  3030. }
  3031. type Taccessx_descriptor = struct {
  3032. Fad_name_offset uint32
  3033. Fad_flags int32
  3034. Fad_pad [2]int32
  3035. }
  3036. type Tgid_t = uint32
  3037. type Tuseconds_t = uint32
  3038. type Tfd_set = struct {
  3039. Ffds_bits [32]t__int32_t
  3040. }
  3041. type Ttimespec = struct {
  3042. Ftv_sec t__darwin_time_t
  3043. Ftv_nsec int64
  3044. }
  3045. type Ttime_t = int64
  3046. type Tsuseconds_t = int32
  3047. type Tuuid_t = [16]uint8
  3048. type Tptrdiff_t = int64
  3049. type Tmax_align_t = float64
  3050. type Tu_char = uint8
  3051. type Tu_short = uint16
  3052. type Tu_int = uint32
  3053. type Tu_long = uint64
  3054. type Tushort = uint16
  3055. type Tuint = uint32
  3056. type Tu_quad_t = uint64
  3057. type Tquad_t = int64
  3058. type Tqaddr_t = uintptr
  3059. type Tcaddr_t = uintptr
  3060. type Tdaddr_t = int32
  3061. type Tfixpt_t = uint32
  3062. type Tblkcnt_t = int64
  3063. type Tblksize_t = int32
  3064. type Tin_addr_t = uint32
  3065. type Tin_port_t = uint16
  3066. type Tino_t = uint64
  3067. type Tino64_t = uint64
  3068. type Tkey_t = int32
  3069. type Tnlink_t = uint16
  3070. type Tsegsz_t = int32
  3071. type Tswblk_t = int32
  3072. type Tclock_t = uint64
  3073. type Tfd_mask = int32
  3074. type Tpthread_cond_t = struct {
  3075. F__sig int64
  3076. F__opaque [40]int8
  3077. }
  3078. type Tpthread_condattr_t = struct {
  3079. F__sig int64
  3080. F__opaque [8]int8
  3081. }
  3082. type Tpthread_mutex_t = struct {
  3083. F__sig int64
  3084. F__opaque [56]int8
  3085. }
  3086. type Tpthread_mutexattr_t = struct {
  3087. F__sig int64
  3088. F__opaque [8]int8
  3089. }
  3090. type Tpthread_once_t = struct {
  3091. F__sig int64
  3092. F__opaque [8]int8
  3093. }
  3094. type Tpthread_rwlock_t = struct {
  3095. F__sig int64
  3096. F__opaque [192]int8
  3097. }
  3098. type Tpthread_rwlockattr_t = struct {
  3099. F__sig int64
  3100. F__opaque [16]int8
  3101. }
  3102. type Tpthread_t = uintptr
  3103. type Tpthread_key_t = uint64
  3104. type Tfsblkcnt_t = uint32
  3105. type Tfsfilcnt_t = uint32
  3106. type Tostat = struct {
  3107. Fst_dev t__uint16_t
  3108. Fst_ino Tino_t
  3109. Fst_mode Tmode_t
  3110. Fst_nlink Tnlink_t
  3111. Fst_uid t__uint16_t
  3112. Fst_gid t__uint16_t
  3113. Fst_rdev t__uint16_t
  3114. Fst_size t__int32_t
  3115. Fst_atimespec Ttimespec
  3116. Fst_mtimespec Ttimespec
  3117. Fst_ctimespec Ttimespec
  3118. Fst_blksize t__int32_t
  3119. Fst_blocks t__int32_t
  3120. Fst_flags t__uint32_t
  3121. Fst_gen t__uint32_t
  3122. }
  3123. type Tstat = struct {
  3124. Fst_dev Tdev_t
  3125. Fst_mode Tmode_t
  3126. Fst_nlink Tnlink_t
  3127. Fst_ino t__darwin_ino64_t
  3128. Fst_uid Tuid_t
  3129. Fst_gid Tgid_t
  3130. Fst_rdev Tdev_t
  3131. Fst_atimespec Ttimespec
  3132. Fst_mtimespec Ttimespec
  3133. Fst_ctimespec Ttimespec
  3134. Fst_birthtimespec Ttimespec
  3135. Fst_size Toff_t
  3136. Fst_blocks Tblkcnt_t
  3137. Fst_blksize Tblksize_t
  3138. Fst_flags t__uint32_t
  3139. Fst_gen t__uint32_t
  3140. Fst_lspare t__int32_t
  3141. Fst_qspare [2]t__int64_t
  3142. }
  3143. type Tstat64 = struct {
  3144. Fst_dev Tdev_t
  3145. Fst_mode Tmode_t
  3146. Fst_nlink Tnlink_t
  3147. Fst_ino t__darwin_ino64_t
  3148. Fst_uid Tuid_t
  3149. Fst_gid Tgid_t
  3150. Fst_rdev Tdev_t
  3151. Fst_atimespec Ttimespec
  3152. Fst_mtimespec Ttimespec
  3153. Fst_ctimespec Ttimespec
  3154. Fst_birthtimespec Ttimespec
  3155. Fst_size Toff_t
  3156. Fst_blocks Tblkcnt_t
  3157. Fst_blksize Tblksize_t
  3158. Fst_flags t__uint32_t
  3159. Fst_gen t__uint32_t
  3160. Fst_lspare t__int32_t
  3161. Fst_qspare [2]t__int64_t
  3162. }
  3163. type Tfilesec_t = uintptr
  3164. type Ttm = struct {
  3165. Ftm_sec int32
  3166. Ftm_min int32
  3167. Ftm_hour int32
  3168. Ftm_mday int32
  3169. Ftm_mon int32
  3170. Ftm_year int32
  3171. Ftm_wday int32
  3172. Ftm_yday int32
  3173. Ftm_isdst int32
  3174. Ftm_gmtoff int64
  3175. Ftm_zone uintptr
  3176. } //TODO "timezone" // _time.h:103:13:
  3177. type Tclockid_t = int32
  3178. const __CLOCK_REALTIME = 0
  3179. const __CLOCK_MONOTONIC = 6
  3180. const __CLOCK_MONOTONIC_RAW = 4
  3181. const __CLOCK_MONOTONIC_RAW_APPROX = 5
  3182. const __CLOCK_UPTIME_RAW = 8
  3183. const __CLOCK_UPTIME_RAW_APPROX = 9
  3184. const __CLOCK_PROCESS_CPUTIME_ID = 12
  3185. const __CLOCK_THREAD_CPUTIME_ID = 16
  3186. type t__gnuc_va_list = uintptr
  3187. type TFcChar8 = uint8
  3188. type TFcChar16 = uint16
  3189. type TFcChar32 = uint32
  3190. type TFcBool = int32
  3191. type TFcType = int32
  3192. type __FcType = int32
  3193. const _FcTypeUnknown = -1
  3194. const _FcTypeVoid = 0
  3195. const _FcTypeInteger = 1
  3196. const _FcTypeDouble = 2
  3197. const _FcTypeString = 3
  3198. const _FcTypeBool = 4
  3199. const _FcTypeMatrix = 5
  3200. const _FcTypeCharSet = 6
  3201. const _FcTypeFTFace = 7
  3202. const _FcTypeLangSet = 8
  3203. const _FcTypeRange = 9
  3204. type TFcMatrix = struct {
  3205. Fxx float64
  3206. Fxy float64
  3207. Fyx float64
  3208. Fyy float64
  3209. }
  3210. type T_FcMatrix = TFcMatrix
  3211. type TFcCharSet = struct {
  3212. Fref TFcRef
  3213. Fnum int32
  3214. Fleaves_offset Tintptr_t
  3215. Fnumbers_offset Tintptr_t
  3216. }
  3217. type T_FcCharSet = TFcCharSet
  3218. type TFcObjectType = struct {
  3219. Fobject uintptr
  3220. Ftype1 TFcType
  3221. }
  3222. type T_FcObjectType = TFcObjectType
  3223. type TFcConstant = struct {
  3224. Fname uintptr
  3225. Fobject uintptr
  3226. Fvalue int32
  3227. }
  3228. type T_FcConstant = TFcConstant
  3229. type TFcResult = int32
  3230. type __FcResult = int32
  3231. const _FcResultMatch = 0
  3232. const _FcResultNoMatch = 1
  3233. const _FcResultTypeMismatch = 2
  3234. const _FcResultNoId = 3
  3235. const _FcResultOutOfMemory = 4
  3236. type TFcValueBinding = int32
  3237. type __FcValueBinding = int32
  3238. const _FcValueBindingWeak = 0
  3239. const _FcValueBindingStrong = 1
  3240. const _FcValueBindingSame = 2
  3241. const _FcValueBindingEnd = 2147483647
  3242. type TFcPattern = struct {
  3243. Fnum int32
  3244. Fsize int32
  3245. Felts_offset Tintptr_t
  3246. Fref TFcRef
  3247. }
  3248. type T_FcPattern = TFcPattern
  3249. type TFcPatternIter = struct {
  3250. Fdummy1 uintptr
  3251. Fdummy2 uintptr
  3252. }
  3253. type T_FcPatternIter = TFcPatternIter
  3254. type TFcRange = struct {
  3255. Fbegin float64
  3256. Fend float64
  3257. }
  3258. type T_FcRange = TFcRange
  3259. type TFcValue = struct {
  3260. Ftype1 TFcType
  3261. Fu struct {
  3262. Fi [0]int32
  3263. Fb [0]TFcBool
  3264. Fd [0]float64
  3265. Fm [0]uintptr
  3266. Fc [0]uintptr
  3267. Ff [0]uintptr
  3268. Fl [0]uintptr
  3269. Fr [0]uintptr
  3270. Fs uintptr
  3271. }
  3272. }
  3273. type T_FcValue = TFcValue
  3274. type TFcFontSet = struct {
  3275. Fnfont int32
  3276. Fsfont int32
  3277. Ffonts uintptr
  3278. }
  3279. type T_FcFontSet = TFcFontSet
  3280. type TFcObjectSet = struct {
  3281. Fnobject int32
  3282. Fsobject int32
  3283. Fobjects uintptr
  3284. }
  3285. type T_FcObjectSet = TFcObjectSet
  3286. type TFcMatchKind = int32
  3287. type __FcMatchKind = int32
  3288. const _FcMatchPattern = 0
  3289. const _FcMatchFont = 1
  3290. const _FcMatchScan = 2
  3291. const _FcMatchKindEnd = 3
  3292. const _FcMatchKindBegin = 0
  3293. type TFcLangResult = int32
  3294. type __FcLangResult = int32
  3295. const _FcLangEqual = 0
  3296. const _FcLangDifferentCountry = 1
  3297. const _FcLangDifferentTerritory = 1
  3298. const _FcLangDifferentLang = 2
  3299. type TFcSetName = int32
  3300. type __FcSetName = int32
  3301. const _FcSetSystem = 0
  3302. const _FcSetApplication = 1
  3303. type TFcConfigFileInfoIter = struct {
  3304. Fdummy1 uintptr
  3305. Fdummy2 uintptr
  3306. Fdummy3 uintptr
  3307. }
  3308. type T_FcConfigFileInfoIter = TFcConfigFileInfoIter
  3309. type TFcAtomic = struct {
  3310. Ffile uintptr
  3311. Fnew1 uintptr
  3312. Flck uintptr
  3313. Ftmp uintptr
  3314. }
  3315. type T_FcAtomic = TFcAtomic
  3316. type TFcEndian = int32
  3317. const _FcEndianBig = 0
  3318. const _FcEndianLittle = 1
  3319. type TFcConfig = struct {
  3320. FconfigDirs uintptr
  3321. FconfigMapDirs uintptr
  3322. FfontDirs uintptr
  3323. FcacheDirs uintptr
  3324. FconfigFiles uintptr
  3325. Fsubst [3]uintptr
  3326. FmaxObjects int32
  3327. FacceptGlobs uintptr
  3328. FrejectGlobs uintptr
  3329. FacceptPatterns uintptr
  3330. FrejectPatterns uintptr
  3331. Ffonts [2]uintptr
  3332. FrescanTime Ttime_t
  3333. FrescanInterval int32
  3334. Fref TFcRef
  3335. Fexpr_pool uintptr
  3336. FsysRoot uintptr
  3337. FavailConfigFiles uintptr
  3338. FrulesetList uintptr
  3339. }
  3340. type T_FcConfig = TFcConfig
  3341. type TFcStrList = struct {
  3342. Fset uintptr
  3343. Fn int32
  3344. }
  3345. type T_FcStrList = TFcStrList
  3346. type TFcStrSet = struct {
  3347. Fref TFcRef
  3348. Fnum int32
  3349. Fsize int32
  3350. Fstrs uintptr
  3351. Fcontrol uint32
  3352. }
  3353. type T_FcStrSet = TFcStrSet
  3354. type TFcCache = struct {
  3355. Fmagic uint32
  3356. Fversion int32
  3357. Fsize Tintptr_t
  3358. Fdir Tintptr_t
  3359. Fdirs Tintptr_t
  3360. Fdirs_count int32
  3361. Fset Tintptr_t
  3362. Fchecksum int32
  3363. Fchecksum_nano Tint64_t
  3364. }
  3365. type T_FcCache = TFcCache
  3366. type Tfc_mutex_impl_t = int32
  3367. type TFcMutex = int32
  3368. type Tfc_atomic_int_t = int32
  3369. type TFcRef = struct {
  3370. Fcount Tfc_atomic_int_t
  3371. }
  3372. type T_FcRef = TFcRef
  3373. type T_static_assert_on_line_141_failed = [1]int32
  3374. type TFcValueListPtr = uintptr
  3375. type T_FcValueList = struct {
  3376. Fnext uintptr
  3377. Fvalue TFcValue
  3378. Fbinding TFcValueBinding
  3379. }
  3380. type TFcValueList = struct {
  3381. Fnext uintptr
  3382. Fvalue TFcValue
  3383. Fbinding TFcValueBinding
  3384. }
  3385. type TFcObject = int32
  3386. type TFcPatternEltPtr = uintptr
  3387. type T_FcPatternElt = struct {
  3388. Fobject TFcObject
  3389. Fvalues uintptr
  3390. }
  3391. type TFcPatternElt = struct {
  3392. Fobject TFcObject
  3393. Fvalues uintptr
  3394. }
  3395. type TFcOp = int32
  3396. type __FcOp = int32
  3397. const _FcOpInteger = 0
  3398. const _FcOpDouble = 1
  3399. const _FcOpString = 2
  3400. const _FcOpMatrix = 3
  3401. const _FcOpRange = 4
  3402. const _FcOpBool = 5
  3403. const _FcOpCharSet = 6
  3404. const _FcOpLangSet = 7
  3405. const _FcOpNil = 8
  3406. const _FcOpField = 9
  3407. const _FcOpConst = 10
  3408. const _FcOpAssign = 11
  3409. const _FcOpAssignReplace = 12
  3410. const _FcOpPrependFirst = 13
  3411. const _FcOpPrepend = 14
  3412. const _FcOpAppend = 15
  3413. const _FcOpAppendLast = 16
  3414. const _FcOpDelete = 17
  3415. const _FcOpDeleteAll = 18
  3416. const _FcOpQuest = 19
  3417. const _FcOpOr = 20
  3418. const _FcOpAnd = 21
  3419. const _FcOpEqual = 22
  3420. const _FcOpNotEqual = 23
  3421. const _FcOpContains = 24
  3422. const _FcOpListing = 25
  3423. const _FcOpNotContains = 26
  3424. const _FcOpLess = 27
  3425. const _FcOpLessEqual = 28
  3426. const _FcOpMore = 29
  3427. const _FcOpMoreEqual = 30
  3428. const _FcOpPlus = 31
  3429. const _FcOpMinus = 32
  3430. const _FcOpTimes = 33
  3431. const _FcOpDivide = 34
  3432. const _FcOpNot = 35
  3433. const _FcOpComma = 36
  3434. const _FcOpFloor = 37
  3435. const _FcOpCeil = 38
  3436. const _FcOpRound = 39
  3437. const _FcOpTrunc = 40
  3438. const _FcOpInvalid = 41
  3439. type TFcOpFlags = int32
  3440. type __FcOpFlags = int32
  3441. const _FcOpFlagIgnoreBlanks = 1
  3442. type TFcExprMatrix = struct {
  3443. Fxx uintptr
  3444. Fxy uintptr
  3445. Fyx uintptr
  3446. Fyy uintptr
  3447. }
  3448. type T_FcExprMatrix = TFcExprMatrix
  3449. type TFcExprName = struct {
  3450. Fobject TFcObject
  3451. Fkind TFcMatchKind
  3452. }
  3453. type T_FcExprName = TFcExprName
  3454. type TFcExpr = struct {
  3455. Fop TFcOp
  3456. Fu struct {
  3457. Fdval [0]float64
  3458. Fsval [0]uintptr
  3459. Fmexpr [0]uintptr
  3460. Fbval [0]TFcBool
  3461. Fcval [0]uintptr
  3462. Flval [0]uintptr
  3463. Frval [0]uintptr
  3464. Fname [0]TFcExprName
  3465. Fconstant [0]uintptr
  3466. Ftree [0]struct {
  3467. Fleft uintptr
  3468. Fright uintptr
  3469. }
  3470. Fival int32
  3471. F__ccgo_pad11 [12]byte
  3472. }
  3473. }
  3474. type T_FcExpr = TFcExpr
  3475. type TFcExprPage = struct {
  3476. Fnext_page uintptr
  3477. Fnext uintptr
  3478. Fexprs [340]TFcExpr
  3479. }
  3480. type T_FcExprPage = TFcExprPage
  3481. type TFcQual = int32
  3482. type __FcQual = int32
  3483. const _FcQualAny = 0
  3484. const _FcQualAll = 1
  3485. const _FcQualFirst = 2
  3486. const _FcQualNotFirst = 3
  3487. type TFcTest = struct {
  3488. Fkind TFcMatchKind
  3489. Fqual TFcQual
  3490. Fobject TFcObject
  3491. Fop TFcOp
  3492. Fexpr uintptr
  3493. }
  3494. type T_FcTest = TFcTest
  3495. type TFcEdit = struct {
  3496. Fobject TFcObject
  3497. Fop TFcOp
  3498. Fexpr uintptr
  3499. Fbinding TFcValueBinding
  3500. }
  3501. type T_FcEdit = TFcEdit
  3502. type TFcDestroyFunc = uintptr
  3503. type TFcPtrListIter = struct {
  3504. Fdummy1 uintptr
  3505. Fdummy2 uintptr
  3506. Fdummy3 uintptr
  3507. }
  3508. type T_FcPtrListIter = TFcPtrListIter
  3509. type TFcRuleType = int32
  3510. type __FcRuleType = int32
  3511. const _FcRuleUnknown = 0
  3512. const _FcRuleTest = 1
  3513. const _FcRuleEdit = 2
  3514. type TFcRule = struct {
  3515. Fnext uintptr
  3516. Ftype1 TFcRuleType
  3517. Fu struct {
  3518. Fedit [0]uintptr
  3519. Ftest uintptr
  3520. }
  3521. }
  3522. type T_FcRule = TFcRule
  3523. type TFcRuleSet = struct {
  3524. Fref TFcRef
  3525. Fname uintptr
  3526. Fdescription uintptr
  3527. Fdomain uintptr
  3528. Fenabled TFcBool
  3529. Fsubst [3]uintptr
  3530. }
  3531. type T_FcRuleSet = TFcRuleSet
  3532. type TFcCharLeaf = struct {
  3533. Fmap1 [8]TFcChar32
  3534. }
  3535. type T_FcCharLeaf = TFcCharLeaf
  3536. type TFcStrBuf = struct {
  3537. Fbuf uintptr
  3538. Fallocated TFcBool
  3539. Ffailed TFcBool
  3540. Flen1 int32
  3541. Fsize int32
  3542. Fbuf_static [128]TFcChar8
  3543. }
  3544. type T_FcStrBuf = TFcStrBuf
  3545. type TFcHashFunc = uintptr
  3546. type TFcCompareFunc = uintptr
  3547. type TFcCopyFunc = uintptr
  3548. type TFcAlign = struct {
  3549. Fi [0]int32
  3550. Fip [0]Tintptr_t
  3551. Fb [0]TFcBool
  3552. Fp [0]uintptr
  3553. Fd float64
  3554. }
  3555. type T_FcAlign = TFcAlign
  3556. type TFcSerializeBucket = struct {
  3557. Fobject uintptr
  3558. Fhash Tuintptr_t
  3559. Foffset Tintptr_t
  3560. }
  3561. type T_FcSerializeBucket = TFcSerializeBucket
  3562. type TFcSerialize = struct {
  3563. Fsize Tintptr_t
  3564. Fcs_freezer uintptr
  3565. Flinear uintptr
  3566. Fbuckets uintptr
  3567. Fbuckets_count Tsize_t
  3568. Fbuckets_used Tsize_t
  3569. Fbuckets_used_max Tsize_t
  3570. }
  3571. type T_FcSerialize = TFcSerialize
  3572. type TFcGlyphName = struct {
  3573. Fucs TFcChar32
  3574. Fname [1]TFcChar8
  3575. }
  3576. type T_FcGlyphName = TFcGlyphName
  3577. type TFcCaseFold = struct {
  3578. Fupper TFcChar32
  3579. F__ccgo4 uint16
  3580. Foffset int16
  3581. }
  3582. type T_FcCaseFold = TFcCaseFold
  3583. type TFcFileTime = struct {
  3584. Ftime Ttime_t
  3585. Fset TFcBool
  3586. }
  3587. type T_FcFileTime = TFcFileTime
  3588. type TFcStatFS = struct {
  3589. Fis_remote_fs TFcBool
  3590. Fis_mtime_broken TFcBool
  3591. }
  3592. type T_FcStatFS = TFcStatFS
  3593. type TFcValuePromotionBuffer = struct {
  3594. Fu struct {
  3595. Fi [0]int32
  3596. Fl [0]int64
  3597. Fc [0][256]int8
  3598. Fd float64
  3599. F__ccgo_pad4 [248]byte
  3600. }
  3601. }
  3602. type T_FcValuePromotionBuffer = TFcValuePromotionBuffer
  3603. const _FC_INVALID_OBJECT = 0
  3604. const _FC_FAMILY_OBJECT = 1
  3605. const _FC_FAMILYLANG_OBJECT = 2
  3606. const _FC_STYLE_OBJECT = 3
  3607. const _FC_STYLELANG_OBJECT = 4
  3608. const _FC_FULLNAME_OBJECT = 5
  3609. const _FC_FULLNAMELANG_OBJECT = 6
  3610. const _FC_SLANT_OBJECT = 7
  3611. const _FC_WEIGHT_OBJECT = 8
  3612. const _FC_WIDTH_OBJECT = 9
  3613. const _FC_SIZE_OBJECT = 10
  3614. const _FC_ASPECT_OBJECT = 11
  3615. const _FC_PIXEL_SIZE_OBJECT = 12
  3616. const _FC_SPACING_OBJECT = 13
  3617. const _FC_FOUNDRY_OBJECT = 14
  3618. const _FC_ANTIALIAS_OBJECT = 15
  3619. const _FC_HINT_STYLE_OBJECT = 16
  3620. const _FC_HINTING_OBJECT = 17
  3621. const _FC_VERTICAL_LAYOUT_OBJECT = 18
  3622. const _FC_AUTOHINT_OBJECT = 19
  3623. const _FC_GLOBAL_ADVANCE_OBJECT = 20
  3624. const _FC_FILE_OBJECT = 21
  3625. const _FC_INDEX_OBJECT = 22
  3626. const _FC_RASTERIZER_OBJECT = 23
  3627. const _FC_OUTLINE_OBJECT = 24
  3628. const _FC_SCALABLE_OBJECT = 25
  3629. const _FC_DPI_OBJECT = 26
  3630. const _FC_RGBA_OBJECT = 27
  3631. const _FC_SCALE_OBJECT = 28
  3632. const _FC_MINSPACE_OBJECT = 29
  3633. const _FC_CHARWIDTH_OBJECT = 30
  3634. const _FC_CHAR_HEIGHT_OBJECT = 31
  3635. const _FC_MATRIX_OBJECT = 32
  3636. const _FC_CHARSET_OBJECT = 33
  3637. const _FC_LANG_OBJECT = 34
  3638. const _FC_FONTVERSION_OBJECT = 35
  3639. const _FC_CAPABILITY_OBJECT = 36
  3640. const _FC_FONTFORMAT_OBJECT = 37
  3641. const _FC_EMBOLDEN_OBJECT = 38
  3642. const _FC_EMBEDDED_BITMAP_OBJECT = 39
  3643. const _FC_DECORATIVE_OBJECT = 40
  3644. const _FC_LCD_FILTER_OBJECT = 41
  3645. const _FC_NAMELANG_OBJECT = 42
  3646. const _FC_FONT_FEATURES_OBJECT = 43
  3647. const _FC_PRGNAME_OBJECT = 44
  3648. const _FC_HASH_OBJECT = 45
  3649. const _FC_POSTSCRIPT_NAME_OBJECT = 46
  3650. const _FC_COLOR_OBJECT = 47
  3651. const _FC_SYMBOL_OBJECT = 48
  3652. const _FC_FONT_VARIATIONS_OBJECT = 49
  3653. const _FC_VARIABLE_OBJECT = 50
  3654. const _FC_FONT_HAS_HINT_OBJECT = 51
  3655. const _FC_ORDER_OBJECT = 52
  3656. const _FC_ONE_AFTER_MAX_BASE_OBJECT = 53
  3657. /*
  3658. * Copyright (c) 2000-2021 Apple Inc. All rights reserved.
  3659. *
  3660. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3661. *
  3662. * This file contains Original Code and/or Modifications of Original Code
  3663. * as defined in and that are subject to the Apple Public Source License
  3664. * Version 2.0 (the 'License'). You may not use this file except in
  3665. * compliance with the License. The rights granted to you under the License
  3666. * may not be used to create, or enable the creation or redistribution of,
  3667. * unlawful or unlicensed copies of an Apple operating system, or to
  3668. * circumvent, violate, or enable the circumvention or violation of, any
  3669. * terms of an Apple operating system software license agreement.
  3670. *
  3671. * Please obtain a copy of the License at
  3672. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  3673. *
  3674. * The Original Code and all software distributed under the License are
  3675. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3676. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3677. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3678. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3679. * Please see the License for the specific language governing rights and
  3680. * limitations under the License.
  3681. *
  3682. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3683. */
  3684. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  3685. /*
  3686. * Copyright (c) 1982, 1986, 1991, 1993, 1994
  3687. * The Regents of the University of California. All rights reserved.
  3688. * (c) UNIX System Laboratories, Inc.
  3689. * All or some portions of this file are derived from material licensed
  3690. * to the University of California by American Telephone and Telegraph
  3691. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3692. * the permission of UNIX System Laboratories, Inc.
  3693. *
  3694. * Redistribution and use in source and binary forms, with or without
  3695. * modification, are permitted provided that the following conditions
  3696. * are met:
  3697. * 1. Redistributions of source code must retain the above copyright
  3698. * notice, this list of conditions and the following disclaimer.
  3699. * 2. Redistributions in binary form must reproduce the above copyright
  3700. * notice, this list of conditions and the following disclaimer in the
  3701. * documentation and/or other materials provided with the distribution.
  3702. * 3. All advertising materials mentioning features or use of this software
  3703. * must display the following acknowledgement:
  3704. * This product includes software developed by the University of
  3705. * California, Berkeley and its contributors.
  3706. * 4. Neither the name of the University nor the names of its contributors
  3707. * may be used to endorse or promote products derived from this software
  3708. * without specific prior written permission.
  3709. *
  3710. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3711. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3712. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3713. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3714. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3715. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3716. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3717. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3718. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3719. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3720. * SUCH DAMAGE.
  3721. *
  3722. * @(#)types.h 8.4 (Berkeley) 1/21/94
  3723. */
  3724. /*
  3725. * Copyright (c) 2000-2014 Apple Inc. All rights reserved.
  3726. *
  3727. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3728. *
  3729. * This file contains Original Code and/or Modifications of Original Code
  3730. * as defined in and that are subject to the Apple Public Source License
  3731. * Version 2.0 (the 'License'). You may not use this file except in
  3732. * compliance with the License. The rights granted to you under the License
  3733. * may not be used to create, or enable the creation or redistribution of,
  3734. * unlawful or unlicensed copies of an Apple operating system, or to
  3735. * circumvent, violate, or enable the circumvention or violation of, any
  3736. * terms of an Apple operating system software license agreement.
  3737. *
  3738. * Please obtain a copy of the License at
  3739. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  3740. *
  3741. * The Original Code and all software distributed under the License are
  3742. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3743. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3744. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3745. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3746. * Please see the License for the specific language governing rights and
  3747. * limitations under the License.
  3748. *
  3749. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3750. */
  3751. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  3752. /*-
  3753. * Copyright (c) 1982, 1986, 1989, 1993
  3754. * The Regents of the University of California. All rights reserved.
  3755. * (c) UNIX System Laboratories, Inc.
  3756. * All or some portions of this file are derived from material licensed
  3757. * to the University of California by American Telephone and Telegraph
  3758. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3759. * the permission of UNIX System Laboratories, Inc.
  3760. *
  3761. * Redistribution and use in source and binary forms, with or without
  3762. * modification, are permitted provided that the following conditions
  3763. * are met:
  3764. * 1. Redistributions of source code must retain the above copyright
  3765. * notice, this list of conditions and the following disclaimer.
  3766. * 2. Redistributions in binary form must reproduce the above copyright
  3767. * notice, this list of conditions and the following disclaimer in the
  3768. * documentation and/or other materials provided with the distribution.
  3769. * 3. All advertising materials mentioning features or use of this software
  3770. * must display the following acknowledgement:
  3771. * This product includes software developed by the University of
  3772. * California, Berkeley and its contributors.
  3773. * 4. Neither the name of the University nor the names of its contributors
  3774. * may be used to endorse or promote products derived from this software
  3775. * without specific prior written permission.
  3776. *
  3777. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3778. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3779. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3780. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3781. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3782. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3783. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3784. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3785. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3786. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3787. * SUCH DAMAGE.
  3788. *
  3789. * @(#)stat.h 8.9 (Berkeley) 8/17/94
  3790. */
  3791. /*
  3792. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  3793. *
  3794. * @APPLE_LICENSE_HEADER_START@
  3795. *
  3796. * This file contains Original Code and/or Modifications of Original Code
  3797. * as defined in and that are subject to the Apple Public Source License
  3798. * Version 2.0 (the 'License'). You may not use this file except in
  3799. * compliance with the License. Please obtain a copy of the License at
  3800. * http://www.opensource.apple.com/apsl/ and read it before using this
  3801. * file.
  3802. *
  3803. * The Original Code and all software distributed under the License are
  3804. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3805. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3806. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3807. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3808. * Please see the License for the specific language governing rights and
  3809. * limitations under the License.
  3810. *
  3811. * @APPLE_LICENSE_HEADER_END@
  3812. */
  3813. /*-
  3814. * Copyright (c) 1990, 1993
  3815. * The Regents of the University of California. All rights reserved.
  3816. *
  3817. * Redistribution and use in source and binary forms, with or without
  3818. * modification, are permitted provided that the following conditions
  3819. * are met:
  3820. * 1. Redistributions of source code must retain the above copyright
  3821. * notice, this list of conditions and the following disclaimer.
  3822. * 2. Redistributions in binary form must reproduce the above copyright
  3823. * notice, this list of conditions and the following disclaimer in the
  3824. * documentation and/or other materials provided with the distribution.
  3825. * 3. All advertising materials mentioning features or use of this software
  3826. * must display the following acknowledgement:
  3827. * This product includes software developed by the University of
  3828. * California, Berkeley and its contributors.
  3829. * 4. Neither the name of the University nor the names of its contributors
  3830. * may be used to endorse or promote products derived from this software
  3831. * without specific prior written permission.
  3832. *
  3833. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3834. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3835. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3836. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3837. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3838. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3839. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3840. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3841. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3842. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3843. * SUCH DAMAGE.
  3844. *
  3845. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  3846. */
  3847. /*
  3848. * Copyright (c) 2023 Apple Inc. All rights reserved.
  3849. *
  3850. * @APPLE_LICENSE_HEADER_START@
  3851. *
  3852. * This file contains Original Code and/or Modifications of Original Code
  3853. * as defined in and that are subject to the Apple Public Source License
  3854. * Version 2.0 (the 'License'). You may not use this file except in
  3855. * compliance with the License. Please obtain a copy of the License at
  3856. * http://www.opensource.apple.com/apsl/ and read it before using this
  3857. * file.
  3858. *
  3859. * The Original Code and all software distributed under the License are
  3860. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3861. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3862. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3863. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3864. * Please see the License for the specific language governing rights and
  3865. * limitations under the License.
  3866. *
  3867. * @APPLE_LICENSE_HEADER_END@
  3868. */
  3869. /*-
  3870. * Copyright (c) 1990, 1993
  3871. * The Regents of the University of California. All rights reserved.
  3872. *
  3873. * Redistribution and use in source and binary forms, with or without
  3874. * modification, are permitted provided that the following conditions
  3875. * are met:
  3876. * 1. Redistributions of source code must retain the above copyright
  3877. * notice, this list of conditions and the following disclaimer.
  3878. * 2. Redistributions in binary form must reproduce the above copyright
  3879. * notice, this list of conditions and the following disclaimer in the
  3880. * documentation and/or other materials provided with the distribution.
  3881. * 3. All advertising materials mentioning features or use of this software
  3882. * must display the following acknowledgement:
  3883. * This product includes software developed by the University of
  3884. * California, Berkeley and its contributors.
  3885. * 4. Neither the name of the University nor the names of its contributors
  3886. * may be used to endorse or promote products derived from this software
  3887. * without specific prior written permission.
  3888. *
  3889. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3890. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3891. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3892. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3893. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3894. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3895. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3896. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3897. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3898. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3899. * SUCH DAMAGE.
  3900. *
  3901. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  3902. */
  3903. /*
  3904. * Copyright (c) 2000, 2023 Apple Computer, Inc. All rights reserved.
  3905. *
  3906. * @APPLE_LICENSE_HEADER_START@
  3907. *
  3908. * This file contains Original Code and/or Modifications of Original Code
  3909. * as defined in and that are subject to the Apple Public Source License
  3910. * Version 2.0 (the 'License'). You may not use this file except in
  3911. * compliance with the License. Please obtain a copy of the License at
  3912. * http://www.opensource.apple.com/apsl/ and read it before using this
  3913. * file.
  3914. *
  3915. * The Original Code and all software distributed under the License are
  3916. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3917. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3918. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3919. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3920. * Please see the License for the specific language governing rights and
  3921. * limitations under the License.
  3922. *
  3923. * @APPLE_LICENSE_HEADER_END@
  3924. */
  3925. /*
  3926. * Copyright (c) 1989, 1993
  3927. * The Regents of the University of California. All rights reserved.
  3928. * (c) UNIX System Laboratories, Inc.
  3929. * All or some portions of this file are derived from material licensed
  3930. * to the University of California by American Telephone and Telegraph
  3931. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3932. * the permission of UNIX System Laboratories, Inc.
  3933. *
  3934. * Redistribution and use in source and binary forms, with or without
  3935. * modification, are permitted provided that the following conditions
  3936. * are met:
  3937. * 1. Redistributions of source code must retain the above copyright
  3938. * notice, this list of conditions and the following disclaimer.
  3939. * 2. Redistributions in binary form must reproduce the above copyright
  3940. * notice, this list of conditions and the following disclaimer in the
  3941. * documentation and/or other materials provided with the distribution.
  3942. * 3. All advertising materials mentioning features or use of this software
  3943. * must display the following acknowledgement:
  3944. * This product includes software developed by the University of
  3945. * California, Berkeley and its contributors.
  3946. * 4. Neither the name of the University nor the names of its contributors
  3947. * may be used to endorse or promote products derived from this software
  3948. * without specific prior written permission.
  3949. *
  3950. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3951. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3952. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3953. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3954. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3955. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3956. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3957. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3958. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3959. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3960. * SUCH DAMAGE.
  3961. *
  3962. * @(#)time.h 8.3 (Berkeley) 1/21/94
  3963. */
  3964. /*
  3965. * Copyright (c) 2023 Apple Computer, Inc. All rights reserved.
  3966. *
  3967. * @APPLE_LICENSE_HEADER_START@
  3968. *
  3969. * This file contains Original Code and/or Modifications of Original Code
  3970. * as defined in and that are subject to the Apple Public Source License
  3971. * Version 2.0 (the 'License'). You may not use this file except in
  3972. * compliance with the License. Please obtain a copy of the License at
  3973. * http://www.opensource.apple.com/apsl/ and read it before using this
  3974. * file.
  3975. *
  3976. * The Original Code and all software distributed under the License are
  3977. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3978. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3979. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3980. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3981. * Please see the License for the specific language governing rights and
  3982. * limitations under the License.
  3983. *
  3984. * @APPLE_LICENSE_HEADER_END@
  3985. */
  3986. /*
  3987. * Copyright (c) 1989, 1993
  3988. * The Regents of the University of California. All rights reserved.
  3989. * (c) UNIX System Laboratories, Inc.
  3990. * All or some portions of this file are derived from material licensed
  3991. * to the University of California by American Telephone and Telegraph
  3992. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3993. * the permission of UNIX System Laboratories, Inc.
  3994. *
  3995. * Redistribution and use in source and binary forms, with or without
  3996. * modification, are permitted provided that the following conditions
  3997. * are met:
  3998. * 1. Redistributions of source code must retain the above copyright
  3999. * notice, this list of conditions and the following disclaimer.
  4000. * 2. Redistributions in binary form must reproduce the above copyright
  4001. * notice, this list of conditions and the following disclaimer in the
  4002. * documentation and/or other materials provided with the distribution.
  4003. * 3. All advertising materials mentioning features or use of this software
  4004. * must display the following acknowledgement:
  4005. * This product includes software developed by the University of
  4006. * California, Berkeley and its contributors.
  4007. * 4. Neither the name of the University nor the names of its contributors
  4008. * may be used to endorse or promote products derived from this software
  4009. * without specific prior written permission.
  4010. *
  4011. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  4012. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  4013. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  4014. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  4015. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  4016. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  4017. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  4018. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  4019. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  4020. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  4021. * SUCH DAMAGE.
  4022. *
  4023. * @(#)time.h 8.3 (Berkeley) 1/21/94
  4024. */
  4025. /*
  4026. * Copyright (c) 2000, 2002-2006, 2008-2010, 2012 Apple Inc. All rights reserved.
  4027. *
  4028. * @APPLE_LICENSE_HEADER_START@
  4029. *
  4030. * This file contains Original Code and/or Modifications of Original Code
  4031. * as defined in and that are subject to the Apple Public Source License
  4032. * Version 2.0 (the 'License'). You may not use this file except in
  4033. * compliance with the License. Please obtain a copy of the License at
  4034. * http://www.opensource.apple.com/apsl/ and read it before using this
  4035. * file.
  4036. *
  4037. * The Original Code and all software distributed under the License are
  4038. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4039. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4040. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4041. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4042. * Please see the License for the specific language governing rights and
  4043. * limitations under the License.
  4044. *
  4045. * @APPLE_LICENSE_HEADER_END@
  4046. */
  4047. /*-
  4048. * Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved
  4049. * Copyright (c) 1991, 1993, 1994
  4050. * The Regents of the University of California. All rights reserved.
  4051. *
  4052. * Redistribution and use in source and binary forms, with or without
  4053. * modification, are permitted provided that the following conditions
  4054. * are met:
  4055. * 1. Redistributions of source code must retain the above copyright
  4056. * notice, this list of conditions and the following disclaimer.
  4057. * 2. Redistributions in binary form must reproduce the above copyright
  4058. * notice, this list of conditions and the following disclaimer in the
  4059. * documentation and/or other materials provided with the distribution.
  4060. * 3. All advertising materials mentioning features or use of this software
  4061. * must display the following acknowledgement:
  4062. * This product includes software developed by the University of
  4063. * California, Berkeley and its contributors.
  4064. * 4. Neither the name of the University nor the names of its contributors
  4065. * may be used to endorse or promote products derived from this software
  4066. * without specific prior written permission.
  4067. *
  4068. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  4069. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  4070. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  4071. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  4072. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  4073. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  4074. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  4075. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  4076. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  4077. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  4078. * SUCH DAMAGE.
  4079. *
  4080. * @(#)unistd.h 8.12 (Berkeley) 4/27/95
  4081. *
  4082. * Copyright (c) 1998 Apple Compter, Inc.
  4083. * All Rights Reserved
  4084. */
  4085. /* History:
  4086. 7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr
  4087. 3/26/98 CHW at Apple added real interface to searchfs call
  4088. 3/5/98 CHW at Apple added hfs semantic system calls headers
  4089. */
  4090. func XFcAtomicCreate(tls *libc.TLS, file uintptr) (r uintptr) {
  4091. var atomic uintptr
  4092. var file_len, lck_len, new_len, tmp_len, total_len int32
  4093. _, _, _, _, _, _ = atomic, file_len, lck_len, new_len, tmp_len, total_len
  4094. file_len = libc.Int32FromUint64(libc.Xstrlen(tls, file))
  4095. new_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(5))
  4096. lck_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(5))
  4097. tmp_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(12))
  4098. total_len = libc.Int32FromUint64(libc.Uint64FromInt64(32) + libc.Uint64FromInt32(file_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(new_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(lck_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(tmp_len) + libc.Uint64FromInt32(1))
  4099. atomic = libc.Xmalloc(tls, libc.Uint64FromInt32(total_len))
  4100. if !(atomic != 0) {
  4101. return uintptr(0)
  4102. }
  4103. (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile = atomic + libc.UintptrFromInt32(1)*32
  4104. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, file, ^t__predefined_size_t(0))
  4105. (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 = (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile + uintptr(file_len) + uintptr(1)
  4106. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, file, ^t__predefined_size_t(0))
  4107. libc.X__builtin___strcat_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, __ccgo_ts, ^t__predefined_size_t(0))
  4108. (*TFcAtomic)(unsafe.Pointer(atomic)).Flck = (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 + uintptr(new_len) + uintptr(1)
  4109. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, file, ^t__predefined_size_t(0))
  4110. libc.X__builtin___strcat_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, __ccgo_ts+5, ^t__predefined_size_t(0))
  4111. (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp = (*TFcAtomic)(unsafe.Pointer(atomic)).Flck + uintptr(lck_len) + uintptr(1)
  4112. return atomic
  4113. }
  4114. func XFcAtomicLock(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  4115. bp := tls.Alloc(160)
  4116. defer tls.Free(160)
  4117. var f uintptr
  4118. var fd, ret int32
  4119. var no_link TFcBool
  4120. var now Ttime_t
  4121. var _ /* lck_stat at bp+0 */ Tstat
  4122. _, _, _, _, _ = f, fd, no_link, now, ret
  4123. fd = -int32(1)
  4124. f = uintptr(0)
  4125. no_link = m_FcFalse
  4126. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, ^t__predefined_size_t(0))
  4127. libc.X__builtin___strcat_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, __ccgo_ts+10, ^t__predefined_size_t(0))
  4128. fd = XFcMakeTempfile(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  4129. if fd < 0 {
  4130. return m_FcFalse
  4131. }
  4132. f = libc.Xfdopen(tls, fd, __ccgo_ts+22)
  4133. if !(f != 0) {
  4134. libc.Xclose(tls, fd)
  4135. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  4136. return m_FcFalse
  4137. }
  4138. ret = libc.Xfprintf(tls, f, __ccgo_ts+24, libc.VaList(bp+152, int64(libc.Xgetpid(tls))))
  4139. if ret <= 0 {
  4140. libc.Xfclose(tls, f)
  4141. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  4142. return m_FcFalse
  4143. }
  4144. if libc.Xfclose(tls, f) == -int32(1) {
  4145. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  4146. return m_FcFalse
  4147. }
  4148. ret = libc.Xlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  4149. if ret < 0 && (*(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_EPERM) || *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_ENOTSUP) || *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_EACCES)) {
  4150. /* the filesystem where atomic->lck points to may not supports
  4151. * the hard link. so better try to fallback
  4152. */
  4153. ret = libc.Xmkdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, uint16(0600))
  4154. no_link = int32(m_FcTrue)
  4155. }
  4156. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  4157. if ret < 0 {
  4158. /*
  4159. * If the file is around and old (> 10 minutes),
  4160. * assume the lock is stale. This assumes that any
  4161. * machines sharing the same filesystem will have clocks
  4162. * reasonably close to each other.
  4163. */
  4164. if XFcStat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, bp) >= 0 {
  4165. now = libc.Xtime(tls, uintptr(0))
  4166. if now-(*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec > int64(libc.Int32FromInt32(10)*libc.Int32FromInt32(60)) {
  4167. if no_link != 0 {
  4168. if libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  4169. return XFcAtomicLock(tls, atomic)
  4170. }
  4171. } else {
  4172. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  4173. return XFcAtomicLock(tls, atomic)
  4174. }
  4175. }
  4176. }
  4177. }
  4178. return m_FcFalse
  4179. }
  4180. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  4181. return int32(m_FcTrue)
  4182. }
  4183. func XFcAtomicNewFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  4184. return (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1
  4185. }
  4186. func XFcAtomicOrigFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  4187. return (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile
  4188. }
  4189. func XFcAtomicReplaceOrig(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  4190. if libc.Xrename(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile) < 0 {
  4191. return m_FcFalse
  4192. }
  4193. return int32(m_FcTrue)
  4194. }
  4195. func XFcAtomicDeleteNew(tls *libc.TLS, atomic uintptr) {
  4196. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  4197. }
  4198. func XFcAtomicUnlock(tls *libc.TLS, atomic uintptr) {
  4199. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == -int32(1) {
  4200. libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  4201. }
  4202. }
  4203. func XFcAtomicDestroy(tls *libc.TLS, atomic uintptr) {
  4204. libc.Xfree(tls, atomic)
  4205. }
  4206. const m_ATTRIBUTION_NAME_MAX = 255
  4207. const m_AT_EACCESS = 0x0010
  4208. const m_AT_FDONLY = 0x0400
  4209. const m_AT_REALDEV = 0x0200
  4210. const m_AT_REMOVEDIR = 0x0080
  4211. const m_AT_SYMLINK_FOLLOW = 0x0040
  4212. const m_AT_SYMLINK_NOFOLLOW = 0x0020
  4213. const m_AT_SYMLINK_NOFOLLOW_ANY = 0x0800
  4214. const m_CPF_IGNORE_MODE = 0x0002
  4215. const m_CPF_OVERWRITE = 0x0001
  4216. const m_DIRBLKSIZ = 1024
  4217. const m_DST_AUST = 2
  4218. const m_DST_CAN = 6
  4219. const m_DST_EET = 5
  4220. const m_DST_MET = 4
  4221. const m_DST_NONE = 0
  4222. const m_DST_USA = 1
  4223. const m_DST_WET = 3
  4224. const m_DTF_HIDEW = 0x0001
  4225. const m_DTF_NODUP = 0x0002
  4226. const m_DTF_REWIND = 0x0004
  4227. const m_DT_BLK = 6
  4228. const m_DT_CHR = 2
  4229. const m_DT_DIR = 4
  4230. const m_DT_FIFO = 1
  4231. const m_DT_LNK = 10
  4232. const m_DT_REG = 8
  4233. const m_DT_SOCK = 12
  4234. const m_DT_UNKNOWN = 0
  4235. const m_DT_WHT = 14
  4236. const m_FAPPEND = "O_APPEND"
  4237. const m_FASYNC = "O_ASYNC"
  4238. const m_FCNTL_FS_SPECIFIC_BASE = 0x00010000
  4239. const m_FC_ARCH_ENDIAN = "le64"
  4240. const m_FC_ARCH_SIZE_ALIGN = "64"
  4241. const m_FC_CACHE_MAGIC_ALLOC1 = 4228054021
  4242. const m_FC_CACHE_MAGIC_MMAP1 = 4228054020
  4243. const m_FC_CACHE_MAX_LEVEL = 16
  4244. const m_FC_CACHE_MIN_MMAP = 1024
  4245. const m_FD_CLOEXEC = 1
  4246. const m_FFDSYNC = "O_DSYNC"
  4247. const m_FFSYNC = "O_FSYNC"
  4248. const m_FILESEC_GUID = "FILESEC_UUID"
  4249. const m_FNDELAY = "O_NONBLOCK"
  4250. const m_FNONBLOCK = "O_NONBLOCK"
  4251. const m_FREAD = 0x00000001
  4252. const m_FWRITE = 0x00000002
  4253. const m_F_ADDFILESIGS = 61
  4254. const m_F_ADDFILESIGS_FOR_DYLD_SIM = 83
  4255. const m_F_ADDFILESIGS_INFO = 103
  4256. const m_F_ADDFILESIGS_RETURN = 97
  4257. const m_F_ADDFILESUPPL = 104
  4258. const m_F_ADDSIGS = 59
  4259. const m_F_ADDSIGS_MAIN_BINARY = 113
  4260. const m_F_ALLOCATEALL = 0x00000004
  4261. const m_F_ALLOCATECONTIG = 0x00000002
  4262. const m_F_ALLOCATEPERSIST = 0x00000008
  4263. const m_F_ATTRIBUTION_TAG = 111
  4264. const m_F_BARRIERFSYNC = 85
  4265. const m_F_CHECK_LV = 98
  4266. const m_F_CHKCLEAN = 41
  4267. const m_F_CREATE_TAG = 0x00000001
  4268. const m_F_DELETE_TAG = 0x00000002
  4269. const m_F_DUPFD = 0
  4270. const m_F_DUPFD_CLOEXEC = 67
  4271. const m_F_FINDSIGS = 78
  4272. const m_F_FLUSH_DATA = 40
  4273. const m_F_FREEZE_FS = 53
  4274. const m_F_FULLFSYNC = 51
  4275. const m_F_GETCODEDIR = 72
  4276. const m_F_GETFD = 1
  4277. const m_F_GETFL = 3
  4278. const m_F_GETLEASE = 107
  4279. const m_F_GETLK = 7
  4280. const m_F_GETLKPID = 66
  4281. const m_F_GETNOSIGPIPE = 74
  4282. const m_F_GETOWN = 5
  4283. const m_F_GETPATH = 50
  4284. const m_F_GETPATH_MTMINFO = 71
  4285. const m_F_GETPATH_NOFIRMLINK = 102
  4286. const m_F_GETPROTECTIONCLASS = 63
  4287. const m_F_GETPROTECTIONLEVEL = 77
  4288. const m_F_GETSIGSINFO = 105
  4289. const m_F_GLOBAL_NOCACHE = 55
  4290. const m_F_LOG2PHYS = 49
  4291. const m_F_LOG2PHYS_EXT = 65
  4292. const m_F_NOCACHE = 48
  4293. const m_F_NODIRECT = 62
  4294. const m_F_OFD_GETLK = 92
  4295. const m_F_OFD_SETLK = 90
  4296. const m_F_OFD_SETLKW = 91
  4297. const m_F_OFD_SETLKWTIMEOUT = 93
  4298. const m_F_PATHPKG_CHECK = 52
  4299. const m_F_PEOFPOSMODE = 3
  4300. const m_F_PREALLOCATE = 42
  4301. const m_F_PUNCHHOLE = 99
  4302. const m_F_QUERY_TAG = 0x00000004
  4303. const m_F_RDADVISE = 44
  4304. const m_F_RDAHEAD = 45
  4305. const m_F_RDLCK = 1
  4306. const m_F_SETBACKINGSTORE = 70
  4307. const m_F_SETFD = 2
  4308. const m_F_SETFL = 4
  4309. const m_F_SETLEASE = 106
  4310. const m_F_SETLK = 8
  4311. const m_F_SETLKW = 9
  4312. const m_F_SETLKWTIMEOUT = 10
  4313. const m_F_SETNOSIGPIPE = 73
  4314. const m_F_SETOWN = 6
  4315. const m_F_SETPROTECTIONCLASS = 64
  4316. const m_F_SETSIZE = 43
  4317. const m_F_SINGLE_WRITER = 76
  4318. const m_F_SPECULATIVE_READ = 101
  4319. const m_F_THAW_FS = 54
  4320. const m_F_TRANSCODEKEY = 75
  4321. const m_F_TRANSFEREXTENTS = 110
  4322. const m_F_TRIM_ACTIVE_FILE = 100
  4323. const m_F_UNLCK = 2
  4324. const m_F_VOLPOSMODE = 4
  4325. const m_F_WRLCK = 3
  4326. const m_GETSIGSINFO_PLATFORM_BINARY = 1
  4327. const m_ITIMER_PROF = 2
  4328. const m_ITIMER_REAL = 0
  4329. const m_ITIMER_VIRTUAL = 1
  4330. const m_LOCK_EX = 0x02
  4331. const m_LOCK_NB = 0x04
  4332. const m_LOCK_SH = 0x01
  4333. const m_LOCK_UN = 0x08
  4334. const m_MADV_CAN_REUSE = 9
  4335. const m_MADV_DONTNEED = "POSIX_MADV_DONTNEED"
  4336. const m_MADV_FREE = 5
  4337. const m_MADV_FREE_REUSABLE = 7
  4338. const m_MADV_FREE_REUSE = 8
  4339. const m_MADV_NORMAL = "POSIX_MADV_NORMAL"
  4340. const m_MADV_PAGEOUT = 10
  4341. const m_MADV_RANDOM = "POSIX_MADV_RANDOM"
  4342. const m_MADV_SEQUENTIAL = "POSIX_MADV_SEQUENTIAL"
  4343. const m_MADV_WILLNEED = "POSIX_MADV_WILLNEED"
  4344. const m_MADV_ZERO = 11
  4345. const m_MADV_ZERO_WIRED_PAGES = 6
  4346. const m_MAP_32BIT = 0x8000
  4347. const m_MAP_ANON = 0x1000
  4348. const m_MAP_ANONYMOUS = "MAP_ANON"
  4349. const m_MAP_COPY = "MAP_PRIVATE"
  4350. const m_MAP_FILE = 0x0000
  4351. const m_MAP_FIXED = 0x0010
  4352. const m_MAP_HASSEMAPHORE = 0x0200
  4353. const m_MAP_JIT = 0x0800
  4354. const m_MAP_NOCACHE = 0x0400
  4355. const m_MAP_NOEXTEND = 0x0100
  4356. const m_MAP_NORESERVE = 0x0040
  4357. const m_MAP_PRIVATE = 0x0002
  4358. const m_MAP_RENAME = 0x0020
  4359. const m_MAP_RESERVED0080 = 0x0080
  4360. const m_MAP_RESILIENT_CODESIGN = 0x2000
  4361. const m_MAP_RESILIENT_MEDIA = 0x4000
  4362. const m_MAP_SHARED = 1
  4363. const m_MAP_TPRO = 0x80000
  4364. const m_MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000
  4365. const m_MAP_UNIX03 = 0x40000
  4366. const m_MAXNAMLEN = "__DARWIN_MAXNAMLEN"
  4367. const m_MCL_CURRENT = 0x0001
  4368. const m_MCL_FUTURE = 0x0002
  4369. const m_MINCORE_ANONYMOUS = 0x80
  4370. const m_MINCORE_COPIED = 0x40
  4371. const m_MINCORE_INCORE = 0x1
  4372. const m_MINCORE_MODIFIED = 0x4
  4373. const m_MINCORE_MODIFIED_OTHER = 0x10
  4374. const m_MINCORE_PAGED_OUT = 0x20
  4375. const m_MINCORE_REFERENCED = 0x2
  4376. const m_MINCORE_REFERENCED_OTHER = 0x8
  4377. const m_MS_ASYNC = 0x0001
  4378. const m_MS_DEACTIVATE = 0x0008
  4379. const m_MS_INVALIDATE = 0x0002
  4380. const m_MS_KILLPAGES = 0x0004
  4381. const m_MS_SYNC = 0x0010
  4382. const m_O_ACCMODE = 0x0003
  4383. const m_O_ALERT = 0x20000000
  4384. const m_O_APPEND = 0x00000008
  4385. const m_O_ASYNC = 0x00000040
  4386. const m_O_BINARY = 0
  4387. const m_O_CLOEXEC = 0x01000000
  4388. const m_O_CREAT = 512
  4389. const m_O_DIRECTORY = 0x00100000
  4390. const m_O_DP_AUTHENTICATE = 0x0004
  4391. const m_O_DP_GETRAWENCRYPTED = 0x0001
  4392. const m_O_DP_GETRAWUNENCRYPTED = 0x0002
  4393. const m_O_DSYNC = 0x400000
  4394. const m_O_EVTONLY = 0x00008000
  4395. const m_O_EXCL = 0x00000800
  4396. const m_O_EXEC = 0x40000000
  4397. const m_O_EXLOCK = 0x00000020
  4398. const m_O_FSYNC = "O_SYNC"
  4399. const m_O_NDELAY = "O_NONBLOCK"
  4400. const m_O_NOCTTY = 0x00020000
  4401. const m_O_NOFOLLOW = 0x00000100
  4402. const m_O_NOFOLLOW_ANY = 0x20000000
  4403. const m_O_NONBLOCK = 0x00000004
  4404. const m_O_POPUP = 0x80000000
  4405. const m_O_RDONLY = 0
  4406. const m_O_RDWR = 2
  4407. const m_O_SHLOCK = 0x00000010
  4408. const m_O_SYMLINK = 0x00200000
  4409. const m_O_SYNC = 0x0080
  4410. const m_O_TRUNC = 0x00000400
  4411. const m_O_WRONLY = 0x0001
  4412. const m_POSIX_MADV_DONTNEED = 4
  4413. const m_POSIX_MADV_NORMAL = 0
  4414. const m_POSIX_MADV_RANDOM = 1
  4415. const m_POSIX_MADV_SEQUENTIAL = 2
  4416. const m_POSIX_MADV_WILLNEED = 3
  4417. const m_PROT_EXEC = 0x04
  4418. const m_PROT_NONE = 0x00
  4419. const m_PROT_READ = 1
  4420. const m_PROT_WRITE = 0x02
  4421. const m_USER_FSIGNATURES_CDHASH_LEN = 20
  4422. const m___DARWIN_MAXNAMLEN = 255
  4423. const m___DARWIN_MAXPATHLEN = 1024
  4424. const m___DTF_ATEND = 0x0020
  4425. const m___DTF_READALL = 0x0008
  4426. const m___DTF_SKIPREAD = 0x0010
  4427. const m_d_fileno = "d_ino"
  4428. type TMD5Context = struct {
  4429. Fbuf [4]TFcChar32
  4430. Fbits [2]TFcChar32
  4431. Fin [64]uint8
  4432. }
  4433. func _MD5Init(tls *libc.TLS, ctx uintptr) {
  4434. *(*TFcChar32)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  4435. *(*TFcChar32)(unsafe.Pointer(ctx + 1*4)) = uint32(0xefcdab89)
  4436. *(*TFcChar32)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98badcfe)
  4437. *(*TFcChar32)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  4438. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = uint32(0)
  4439. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) = uint32(0)
  4440. }
  4441. func _MD5Update(tls *libc.TLS, ctx uintptr, buf uintptr, len1 uint32) {
  4442. var p uintptr
  4443. var t, v1 TFcChar32
  4444. _, _, _ = p, t, v1
  4445. t = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  4446. v1 = t + len1<<libc.Int32FromInt32(3)
  4447. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = v1
  4448. if v1 < t {
  4449. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))++
  4450. }
  4451. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) += len1 >> int32(29)
  4452. t = t >> libc.Int32FromInt32(3) & uint32(0x3f)
  4453. if t != 0 {
  4454. p = ctx + 24 + uintptr(t)
  4455. t = uint32(64) - t
  4456. if len1 < t {
  4457. libc.X__builtin___memcpy_chk(tls, p, buf, uint64(len1), ^t__predefined_size_t(0))
  4458. return
  4459. }
  4460. libc.X__builtin___memcpy_chk(tls, p, buf, uint64(t), ^t__predefined_size_t(0))
  4461. _MD5Transform(tls, ctx, ctx+24)
  4462. buf += uintptr(t)
  4463. len1 -= t
  4464. }
  4465. for len1 >= uint32(64) {
  4466. libc.X__builtin___memcpy_chk(tls, ctx+24, buf, uint64(64), ^t__predefined_size_t(0))
  4467. _MD5Transform(tls, ctx, ctx+24)
  4468. buf += uintptr(64)
  4469. len1 -= uint32(64)
  4470. }
  4471. libc.X__builtin___memcpy_chk(tls, ctx+24, buf, uint64(len1), ^t__predefined_size_t(0))
  4472. }
  4473. func _MD5Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  4474. var count uint32
  4475. var p, v1 uintptr
  4476. _, _, _ = count, p, v1
  4477. count = *(*TFcChar32)(unsafe.Pointer(ctx + 16)) >> libc.Int32FromInt32(3) & uint32(0x3F)
  4478. p = ctx + 24 + uintptr(count)
  4479. v1 = p
  4480. p++
  4481. *(*uint8)(unsafe.Pointer(v1)) = uint8(0x80)
  4482. count = libc.Uint32FromInt32(libc.Int32FromInt32(64)-libc.Int32FromInt32(1)) - count
  4483. if count < uint32(8) {
  4484. libc.X__builtin___memset_chk(tls, p, 0, uint64(count), ^t__predefined_size_t(0))
  4485. _MD5Transform(tls, ctx, ctx+24)
  4486. libc.X__builtin___memset_chk(tls, ctx+24, 0, uint64(56), ^t__predefined_size_t(0))
  4487. } else {
  4488. libc.X__builtin___memset_chk(tls, p, 0, uint64(count-uint32(8)), ^t__predefined_size_t(0))
  4489. }
  4490. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 14*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  4491. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 15*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))
  4492. _MD5Transform(tls, ctx, ctx+24)
  4493. libc.X__builtin___memcpy_chk(tls, digest, ctx, uint64(16), ^t__predefined_size_t(0))
  4494. libc.X__builtin___memset_chk(tls, ctx, 0, uint64(88), ^t__predefined_size_t(0))
  4495. }
  4496. func _MD5Transform(tls *libc.TLS, buf uintptr, in uintptr) {
  4497. var a, b, c, d TFcChar32
  4498. _, _, _, _ = a, b, c, d
  4499. a = *(*TFcChar32)(unsafe.Pointer(buf))
  4500. b = *(*TFcChar32)(unsafe.Pointer(buf + 1*4))
  4501. c = *(*TFcChar32)(unsafe.Pointer(buf + 2*4))
  4502. d = *(*TFcChar32)(unsafe.Pointer(buf + 3*4))
  4503. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xd76aa478)
  4504. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4505. a += b
  4506. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xe8c7b756)
  4507. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4508. d += a
  4509. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x242070db)
  4510. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4511. c += d
  4512. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xc1bdceee)
  4513. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4514. b += c
  4515. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf57c0faf)
  4516. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4517. a += b
  4518. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0x4787c62a)
  4519. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4520. d += a
  4521. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa8304613)
  4522. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4523. c += d
  4524. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xfd469501)
  4525. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4526. b += c
  4527. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x698098d8)
  4528. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4529. a += b
  4530. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x8b44f7af)
  4531. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4532. d += a
  4533. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffff5bb1)
  4534. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4535. c += d
  4536. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x895cd7be)
  4537. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4538. b += c
  4539. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x6b901122)
  4540. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4541. a += b
  4542. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xfd987193)
  4543. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4544. d += a
  4545. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xa679438e)
  4546. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4547. c += d
  4548. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x49b40821)
  4549. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4550. b += c
  4551. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xf61e2562)
  4552. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4553. a += b
  4554. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xc040b340)
  4555. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4556. d += a
  4557. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x265e5a51)
  4558. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4559. c += d
  4560. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xe9b6c7aa)
  4561. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4562. b += c
  4563. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xd62f105d)
  4564. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4565. a += b
  4566. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0x02441453)
  4567. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4568. d += a
  4569. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xd8a1e681)
  4570. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4571. c += d
  4572. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xe7d3fbc8)
  4573. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4574. b += c
  4575. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x21e1cde6)
  4576. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4577. a += b
  4578. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xc33707d6)
  4579. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4580. d += a
  4581. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xf4d50d87)
  4582. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4583. c += d
  4584. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x455a14ed)
  4585. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4586. b += c
  4587. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xa9e3e905)
  4588. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4589. a += b
  4590. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xfcefa3f8)
  4591. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4592. d += a
  4593. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x676f02d9)
  4594. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4595. c += d
  4596. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x8d2a4c8a)
  4597. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4598. b += c
  4599. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfffa3942)
  4600. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4601. a += b
  4602. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x8771f681)
  4603. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4604. d += a
  4605. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x6d9d6122)
  4606. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4607. c += d
  4608. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xfde5380c)
  4609. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4610. b += c
  4611. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xa4beea44)
  4612. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4613. a += b
  4614. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0x4bdecfa9)
  4615. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4616. d += a
  4617. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xf6bb4b60)
  4618. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4619. c += d
  4620. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xbebfbc70)
  4621. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4622. b += c
  4623. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x289b7ec6)
  4624. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4625. a += b
  4626. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xeaa127fa)
  4627. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4628. d += a
  4629. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xd4ef3085)
  4630. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4631. c += d
  4632. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0x04881d05)
  4633. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4634. b += c
  4635. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xd9d4d039)
  4636. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4637. a += b
  4638. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0xe6db99e5)
  4639. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4640. d += a
  4641. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x1fa27cf8)
  4642. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4643. c += d
  4644. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xc4ac5665)
  4645. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4646. b += c
  4647. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xf4292244)
  4648. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4649. a += b
  4650. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x432aff97)
  4651. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4652. d += a
  4653. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xab9423a7)
  4654. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4655. c += d
  4656. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfc93a039)
  4657. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4658. b += c
  4659. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x655b59c3)
  4660. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4661. a += b
  4662. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0x8f0ccc92)
  4663. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4664. d += a
  4665. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffeff47d)
  4666. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4667. c += d
  4668. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0x85845dd1)
  4669. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4670. b += c
  4671. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x6fa87e4f)
  4672. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4673. a += b
  4674. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xfe2ce6e0)
  4675. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4676. d += a
  4677. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa3014314)
  4678. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4679. c += d
  4680. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x4e0811a1)
  4681. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4682. b += c
  4683. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf7537e82)
  4684. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4685. a += b
  4686. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0xbd3af235)
  4687. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4688. d += a
  4689. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x2ad7d2bb)
  4690. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4691. c += d
  4692. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xeb86d391)
  4693. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4694. b += c
  4695. *(*TFcChar32)(unsafe.Pointer(buf)) += a
  4696. *(*TFcChar32)(unsafe.Pointer(buf + 1*4)) += b
  4697. *(*TFcChar32)(unsafe.Pointer(buf + 2*4)) += c
  4698. *(*TFcChar32)(unsafe.Pointer(buf + 3*4)) += d
  4699. }
  4700. type Tflock = struct {
  4701. Fl_start Toff_t
  4702. Fl_len Toff_t
  4703. Fl_pid Tpid_t
  4704. Fl_type int16
  4705. Fl_whence int16
  4706. }
  4707. type Tflocktimeout = struct {
  4708. Ffl Tflock
  4709. Ftimeout Ttimespec
  4710. }
  4711. type Tradvisory = struct {
  4712. Fra_offset Toff_t
  4713. Fra_count int32
  4714. }
  4715. type Tfsignatures_t = struct {
  4716. Ffs_file_start Toff_t
  4717. Ffs_blob_start uintptr
  4718. Ffs_blob_size Tsize_t
  4719. Ffs_fsignatures_size Tsize_t
  4720. Ffs_cdhash [20]int8
  4721. Ffs_hash_type int32
  4722. }
  4723. type Tfsignatures = Tfsignatures_t
  4724. type Tfsupplement_t = struct {
  4725. Ffs_file_start Toff_t
  4726. Ffs_blob_start Toff_t
  4727. Ffs_blob_size Tsize_t
  4728. Ffs_orig_fd int32
  4729. }
  4730. type Tfsupplement = Tfsupplement_t
  4731. type Tfchecklv_t = struct {
  4732. Flv_file_start Toff_t
  4733. Flv_error_message_size Tsize_t
  4734. Flv_error_message uintptr
  4735. }
  4736. type Tfchecklv = Tfchecklv_t
  4737. type Tfgetsigsinfo_t = struct {
  4738. Ffg_file_start Toff_t
  4739. Ffg_info_request int32
  4740. Ffg_sig_is_platform int32
  4741. }
  4742. type Tfgetsigsinfo = Tfgetsigsinfo_t
  4743. type Tfstore_t = struct {
  4744. Ffst_flags uint32
  4745. Ffst_posmode int32
  4746. Ffst_offset Toff_t
  4747. Ffst_length Toff_t
  4748. Ffst_bytesalloc Toff_t
  4749. }
  4750. type Tfstore = Tfstore_t
  4751. type Tfpunchhole_t = struct {
  4752. Ffp_flags uint32
  4753. Freserved uint32
  4754. Ffp_offset Toff_t
  4755. Ffp_length Toff_t
  4756. }
  4757. type Tfpunchhole = Tfpunchhole_t
  4758. type Tftrimactivefile_t = struct {
  4759. Ffta_offset Toff_t
  4760. Ffta_length Toff_t
  4761. }
  4762. type Tftrimactivefile = Tftrimactivefile_t
  4763. type Tfspecread_t = struct {
  4764. Ffsr_flags uint32
  4765. Freserved uint32
  4766. Ffsr_offset Toff_t
  4767. Ffsr_length Toff_t
  4768. }
  4769. type Tfspecread = Tfspecread_t
  4770. type Tfattributiontag_t = struct {
  4771. Fft_flags uint32
  4772. Fft_hash uint64
  4773. Fft_attribution_name [255]int8
  4774. }
  4775. type Tfattributiontag = Tfattributiontag_t
  4776. type Tlog2phys = struct {
  4777. Fl2p_flags uint32
  4778. Fl2p_contigbytes Toff_t
  4779. Fl2p_devoffset Toff_t
  4780. }
  4781. type Tfilesec_property_t = int32
  4782. const _FILESEC_OWNER = 1
  4783. const _FILESEC_GROUP = 2
  4784. const _FILESEC_UUID = 3
  4785. const _FILESEC_MODE = 4
  4786. const _FILESEC_ACL = 5
  4787. const _FILESEC_GRPUUID = 6
  4788. const _FILESEC_ACL_RAW = 100
  4789. const _FILESEC_ACL_ALLOCSIZE = 101
  4790. type Tdirent = struct {
  4791. Fd_ino t__uint64_t
  4792. Fd_seekoff t__uint64_t
  4793. Fd_reclen t__uint16_t
  4794. Fd_namlen t__uint16_t
  4795. Fd_type t__uint8_t
  4796. Fd_name [1024]int8
  4797. }
  4798. type TDIR = struct {
  4799. F__dd_fd int32
  4800. F__dd_loc int64
  4801. F__dd_size int64
  4802. F__dd_buf uintptr
  4803. F__dd_len int32
  4804. F__dd_seek int64
  4805. F__padding int64
  4806. F__dd_flags int32
  4807. F__dd_lock t__darwin_pthread_mutex_t
  4808. F__dd_td uintptr
  4809. }
  4810. type Ttimeval64 = struct {
  4811. Ftv_sec t__int64_t
  4812. Ftv_usec t__int64_t
  4813. }
  4814. type Titimerval = struct {
  4815. Fit_interval Ttimeval
  4816. Fit_value Ttimeval
  4817. }
  4818. type Ttimezone = struct {
  4819. Ftz_minuteswest int32
  4820. Ftz_dsttime int32
  4821. }
  4822. type Tclockinfo = struct {
  4823. Fhz int32
  4824. Ftick int32
  4825. Ftickadj int32
  4826. Fstathz int32
  4827. Fprofhz int32
  4828. }
  4829. func XFcDirCacheCreateUUID(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  4830. return int32(m_FcTrue)
  4831. }
  4832. func XFcDirCacheDeleteUUID(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  4833. bp := tls.Alloc(208)
  4834. defer tls.Free(208)
  4835. var d, sysroot, target uintptr
  4836. var ret TFcBool
  4837. var _ /* statb at bp+0 */ Tstat
  4838. var _ /* times at bp+144 */ [2]Ttimeval
  4839. _, _, _, _ = d, ret, sysroot, target
  4840. ret = int32(m_FcTrue)
  4841. config = XFcConfigReference(tls, config)
  4842. if !(config != 0) {
  4843. return m_FcFalse
  4844. }
  4845. sysroot = XFcConfigGetSysRoot(tls, config)
  4846. if sysroot != 0 {
  4847. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+184, dir, libc.UintptrFromInt32(0)))
  4848. } else {
  4849. d = XFcStrBuildFilename(tls, dir, libc.VaList(bp+184, libc.UintptrFromInt32(0)))
  4850. }
  4851. if XFcStat(tls, d, bp) != 0 {
  4852. ret = m_FcFalse
  4853. goto bail
  4854. }
  4855. target = XFcStrBuildFilename(tls, d, libc.VaList(bp+184, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  4856. ret = libc.BoolInt32(libc.Xunlink(tls, target) == 0)
  4857. if ret != 0 {
  4858. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[0].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_atimespec.Ftv_sec
  4859. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[int32(1)].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec
  4860. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[0].Ftv_usec = 0
  4861. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[int32(1)].Ftv_usec = 0
  4862. if libc.Xutimes(tls, d, bp+144) != 0 {
  4863. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+35, libc.VaList(bp+184, d))
  4864. }
  4865. }
  4866. XFcStrFree(tls, target)
  4867. goto bail
  4868. bail:
  4869. ;
  4870. XFcStrFree(tls, d)
  4871. XFcConfigDestroy(tls, config)
  4872. return ret
  4873. }
  4874. func _FcCacheIsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  4875. bp := tls.Alloc(16)
  4876. defer tls.Free(16)
  4877. var env uintptr
  4878. var status, v1 int32
  4879. var _ /* use at bp+0 */ TFcBool
  4880. _, _, _ = env, status, v1
  4881. status = int32(int64(*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status))))))
  4882. if status == 0 {
  4883. env = libc.Xgetenv(tls, __ccgo_ts+63)
  4884. if env != 0 && XFcNameBool(tls, env, bp) != 0 {
  4885. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  4886. v1 = 1
  4887. } else {
  4888. v1 = 2
  4889. }
  4890. status = v1
  4891. } else {
  4892. status = 3
  4893. }
  4894. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) == libc.UintptrFromInt32(0) {
  4895. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) = uintptr(int64(status))
  4896. _ = libc.Int32FromInt32(m_FcTrue)
  4897. }
  4898. }
  4899. if status == 3 {
  4900. return XFcIsFsMmapSafe(tls, fd)
  4901. } else {
  4902. return libc.BoolInt32(status == 1)
  4903. }
  4904. return r
  4905. }
  4906. var _static_status uintptr
  4907. var _bin2hex = [16]int8{
  4908. 0: int8('0'),
  4909. 1: int8('1'),
  4910. 2: int8('2'),
  4911. 3: int8('3'),
  4912. 4: int8('4'),
  4913. 5: int8('5'),
  4914. 6: int8('6'),
  4915. 7: int8('7'),
  4916. 8: int8('8'),
  4917. 9: int8('9'),
  4918. 10: int8('a'),
  4919. 11: int8('b'),
  4920. 12: int8('c'),
  4921. 13: int8('d'),
  4922. 14: int8('e'),
  4923. 15: int8('f'),
  4924. }
  4925. func _FcDirCacheBasenameMD5(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  4926. bp := tls.Alloc(176)
  4927. defer tls.Free(176)
  4928. var cnt int32
  4929. var dl, sl Tsize_t
  4930. var hex_hash, key, mapped_dir, orig_dir, salt, v2, v3, v4, v5, v6, v7 uintptr
  4931. var _ /* ctx at bp+16 */ TMD5Context
  4932. var _ /* hash at bp+0 */ [16]uint8
  4933. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, dl, hex_hash, key, mapped_dir, orig_dir, salt, sl, v2, v3, v4, v5, v6, v7
  4934. mapped_dir = libc.UintptrFromInt32(0)
  4935. key = libc.UintptrFromInt32(0)
  4936. orig_dir = libc.UintptrFromInt32(0)
  4937. salt = XFcConfigMapSalt(tls, config, dir)
  4938. /* Obtain a path where "dir" is mapped to.
  4939. * In case:
  4940. * <remap-dir as-path="/usr/share/fonts">/run/host/fonts</remap-dir>
  4941. *
  4942. * FcConfigMapFontPath (config, "/run/host/fonts") will returns "/usr/share/fonts".
  4943. */
  4944. mapped_dir = XFcConfigMapFontPath(tls, config, dir)
  4945. if mapped_dir != 0 {
  4946. orig_dir = dir
  4947. dir = mapped_dir
  4948. }
  4949. if salt != 0 {
  4950. dl = libc.Xstrlen(tls, dir)
  4951. sl = libc.Xstrlen(tls, salt)
  4952. key = libc.Xmalloc(tls, dl+sl+uint64(1))
  4953. libc.X__builtin___memcpy_chk(tls, key, dir, dl, ^t__predefined_size_t(0))
  4954. libc.X__builtin___memcpy_chk(tls, key+uintptr(dl), salt, sl+uint64(1), ^t__predefined_size_t(0))
  4955. *(*TFcChar8)(unsafe.Pointer(key + uintptr(dl+sl))) = uint8(0)
  4956. if !(orig_dir != 0) {
  4957. orig_dir = dir
  4958. }
  4959. dir = key
  4960. }
  4961. _MD5Init(tls, bp+16)
  4962. _MD5Update(tls, bp+16, dir, uint32(libc.Xstrlen(tls, dir)))
  4963. _MD5Final(tls, bp, bp+16)
  4964. if key != 0 {
  4965. XFcStrFree(tls, key)
  4966. }
  4967. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  4968. hex_hash = cache_base + uintptr(1)
  4969. cnt = 0
  4970. for {
  4971. if !(cnt < int32(16)) {
  4972. break
  4973. }
  4974. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = libc.Uint8FromInt8(_bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])>>int32(4)])
  4975. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt+int32(1)))) = libc.Uint8FromInt8(_bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])&int32(0xf)])
  4976. goto _1
  4977. _1:
  4978. ;
  4979. cnt++
  4980. }
  4981. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = uint8(0)
  4982. libc.X__builtin___strcat_chk(tls, cache_base, __ccgo_ts+83, ^t__predefined_size_t(0))
  4983. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4984. if orig_dir != 0 {
  4985. v2 = orig_dir
  4986. } else {
  4987. v2 = dir
  4988. }
  4989. if mapped_dir != 0 {
  4990. v3 = __ccgo_ts + 97
  4991. } else {
  4992. v3 = __ccgo_ts + 110
  4993. }
  4994. if mapped_dir != 0 {
  4995. v4 = mapped_dir
  4996. } else {
  4997. v4 = __ccgo_ts + 110
  4998. }
  4999. if mapped_dir != 0 {
  5000. v5 = __ccgo_ts + 111
  5001. } else {
  5002. v5 = __ccgo_ts + 110
  5003. }
  5004. if salt != 0 {
  5005. v6 = __ccgo_ts + 113
  5006. } else {
  5007. v6 = __ccgo_ts + 110
  5008. }
  5009. if salt != 0 {
  5010. v7 = salt
  5011. } else {
  5012. v7 = __ccgo_ts + 110
  5013. }
  5014. libc.Xprintf(tls, __ccgo_ts+122, libc.VaList(bp+112, cache_base, v2, v3, v4, v5, v6, v7))
  5015. }
  5016. if mapped_dir != 0 {
  5017. XFcStrFree(tls, mapped_dir)
  5018. }
  5019. return cache_base
  5020. }
  5021. func _FcDirCacheBasenameUUID(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  5022. bp := tls.Alloc(64)
  5023. defer tls.Free(64)
  5024. var fd, v1 int32
  5025. var fuuid, sysroot, target uintptr
  5026. var len1 Tssize_t
  5027. var _ /* suuid at bp+0 */ [37]int8
  5028. _, _, _, _, _, _ = fd, fuuid, len1, sysroot, target, v1
  5029. sysroot = XFcConfigGetSysRoot(tls, config)
  5030. /* We don't need to apply remapping here. because .uuid was created at that very directory
  5031. * to determine the cache name no matter where it was mapped to.
  5032. */
  5033. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8(0)
  5034. if sysroot != 0 {
  5035. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+48, dir, libc.UintptrFromInt32(0)))
  5036. } else {
  5037. target = libc.Xstrdup(tls, dir)
  5038. }
  5039. fuuid = XFcStrBuildFilename(tls, target, libc.VaList(bp+48, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  5040. v1 = XFcOpen(tls, fuuid, m_O_RDONLY, 0)
  5041. fd = v1
  5042. if v1 != -int32(1) {
  5043. libc.X__builtin___memset_chk(tls, bp, 0, uint64(37), ^t__predefined_size_t(0))
  5044. len1 = libc.Xread(tls, fd, bp, uint64(36))
  5045. (*(*[37]int8)(unsafe.Pointer(bp)))[int32(36)] = 0
  5046. libc.Xclose(tls, fd)
  5047. if len1 < 0 {
  5048. goto bail
  5049. }
  5050. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  5051. libc.X__builtin___strcpy_chk(tls, cache_base+1, bp, ^t__predefined_size_t(0))
  5052. libc.X__builtin___strcat_chk(tls, cache_base, __ccgo_ts+83, ^t__predefined_size_t(0))
  5053. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5054. libc.Xprintf(tls, __ccgo_ts+153, libc.VaList(bp+48, cache_base, dir))
  5055. }
  5056. }
  5057. goto bail
  5058. bail:
  5059. ;
  5060. XFcStrFree(tls, fuuid)
  5061. XFcStrFree(tls, target)
  5062. return cache_base
  5063. }
  5064. func XFcDirCacheUnlink(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  5065. bp := tls.Alloc(144)
  5066. defer tls.Free(144)
  5067. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  5068. var ret TFcBool
  5069. var _ /* cache_base at bp+0 */ [52]TFcChar8
  5070. var _ /* uuid_cache_base at bp+52 */ [52]TFcChar8
  5071. _, _, _, _, _, _ = cache_dir, cache_hashed, list, ret, sysroot, v1
  5072. cache_hashed = libc.UintptrFromInt32(0)
  5073. ret = int32(m_FcTrue)
  5074. config = XFcConfigReference(tls, config)
  5075. if !(config != 0) {
  5076. return m_FcFalse
  5077. }
  5078. sysroot = XFcConfigGetSysRoot(tls, config)
  5079. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  5080. _FcDirCacheBasenameUUID(tls, config, dir, bp+52)
  5081. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5082. if !(list != 0) {
  5083. ret = m_FcFalse
  5084. goto bail
  5085. }
  5086. for {
  5087. v1 = XFcStrListNext(tls, list)
  5088. cache_dir = v1
  5089. if !(v1 != 0) {
  5090. break
  5091. }
  5092. if sysroot != 0 {
  5093. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+112, cache_dir, bp, libc.UintptrFromInt32(0)))
  5094. } else {
  5095. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+112, bp, libc.UintptrFromInt32(0)))
  5096. }
  5097. if !(cache_hashed != 0) {
  5098. break
  5099. }
  5100. libc.Xunlink(tls, cache_hashed)
  5101. XFcStrFree(tls, cache_hashed)
  5102. if libc.Int32FromUint8((*(*[52]TFcChar8)(unsafe.Pointer(bp + 52)))[0]) != 0 {
  5103. if sysroot != 0 {
  5104. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+112, cache_dir, bp+52, libc.UintptrFromInt32(0)))
  5105. } else {
  5106. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+112, bp+52, libc.UintptrFromInt32(0)))
  5107. }
  5108. if !(cache_hashed != 0) {
  5109. break
  5110. }
  5111. libc.Xunlink(tls, cache_hashed)
  5112. XFcStrFree(tls, cache_hashed)
  5113. }
  5114. }
  5115. XFcStrListDone(tls, list)
  5116. XFcDirCacheDeleteUUID(tls, dir, config)
  5117. /* return FcFalse if something went wrong */
  5118. if cache_dir != 0 {
  5119. ret = m_FcFalse
  5120. }
  5121. goto bail
  5122. bail:
  5123. ;
  5124. XFcConfigDestroy(tls, config)
  5125. return ret
  5126. }
  5127. func _FcDirCacheOpenFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r int32) {
  5128. var fd int32
  5129. _ = fd
  5130. fd = XFcOpen(tls, cache_file, libc.Int32FromInt32(m_O_RDONLY)|libc.Int32FromInt32(m_O_BINARY), 0)
  5131. if fd < 0 {
  5132. return fd
  5133. }
  5134. if libc.Xfstat(tls, fd, file_stat) < 0 {
  5135. libc.Xclose(tls, fd)
  5136. return -int32(1)
  5137. }
  5138. return fd
  5139. }
  5140. // C documentation
  5141. //
  5142. // /*
  5143. // * Look for a cache file for the specified dir. Attempt
  5144. // * to use each one we find, stopping when the callback
  5145. // * indicates success
  5146. // */
  5147. func _FcDirCacheProcess(tls *libc.TLS, config uintptr, dir uintptr, callback uintptr, closure uintptr, cache_file_ret uintptr) (r TFcBool) {
  5148. bp := tls.Alloc(448)
  5149. defer tls.Free(448)
  5150. var cache_dir, cache_hashed, d, list, sysroot, v1 uintptr
  5151. var fd int32
  5152. var ret, retried TFcBool
  5153. var _ /* cache_base at bp+0 */ [52]TFcChar8
  5154. var _ /* dir_stat at bp+200 */ Tstat
  5155. var _ /* file_stat at bp+56 */ Tstat
  5156. var _ /* latest_mtime at bp+344 */ Ttimeval
  5157. var _ /* uuid_cache_base at bp+360 */ [52]TFcChar8
  5158. _, _, _, _, _, _, _, _, _ = cache_dir, cache_hashed, d, fd, list, ret, retried, sysroot, v1
  5159. fd = -int32(1)
  5160. ret = m_FcFalse
  5161. sysroot = XFcConfigGetSysRoot(tls, config)
  5162. *(*Ttimeval)(unsafe.Pointer(bp + 344)) = Ttimeval{}
  5163. if sysroot != 0 {
  5164. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, dir, libc.UintptrFromInt32(0)))
  5165. } else {
  5166. d = libc.Xstrdup(tls, dir)
  5167. }
  5168. if XFcStatChecksum(tls, d, bp+200) < 0 {
  5169. XFcStrFree(tls, d)
  5170. return m_FcFalse
  5171. }
  5172. XFcStrFree(tls, d)
  5173. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  5174. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5175. if !(list != 0) {
  5176. return m_FcFalse
  5177. }
  5178. for {
  5179. v1 = XFcStrListNext(tls, list)
  5180. cache_dir = v1
  5181. if !(v1 != 0) {
  5182. break
  5183. }
  5184. retried = m_FcFalse
  5185. if sysroot != 0 {
  5186. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, cache_dir, bp, libc.UintptrFromInt32(0)))
  5187. } else {
  5188. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+424, bp, libc.UintptrFromInt32(0)))
  5189. }
  5190. if !(cache_hashed != 0) {
  5191. break
  5192. }
  5193. goto retry
  5194. retry:
  5195. ;
  5196. fd = _FcDirCacheOpenFile(tls, cache_hashed, bp+56)
  5197. if fd >= 0 {
  5198. ret = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, config, fd, bp+56, bp+200, bp+344, closure)
  5199. libc.Xclose(tls, fd)
  5200. if ret != 0 {
  5201. if cache_file_ret != 0 {
  5202. if *(*uintptr)(unsafe.Pointer(cache_file_ret)) != 0 {
  5203. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer(cache_file_ret)))
  5204. }
  5205. *(*uintptr)(unsafe.Pointer(cache_file_ret)) = cache_hashed
  5206. } else {
  5207. XFcStrFree(tls, cache_hashed)
  5208. }
  5209. } else {
  5210. XFcStrFree(tls, cache_hashed)
  5211. }
  5212. } else {
  5213. if !(retried != 0) {
  5214. retried = int32(m_FcTrue)
  5215. _FcDirCacheBasenameUUID(tls, config, dir, bp+360)
  5216. if libc.Int32FromUint8((*(*[52]TFcChar8)(unsafe.Pointer(bp + 360)))[0]) != 0 {
  5217. XFcStrFree(tls, cache_hashed)
  5218. if sysroot != 0 {
  5219. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, cache_dir, bp+360, libc.UintptrFromInt32(0)))
  5220. } else {
  5221. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+424, bp+360, libc.UintptrFromInt32(0)))
  5222. }
  5223. if !(cache_hashed != 0) {
  5224. break
  5225. }
  5226. goto retry
  5227. } else {
  5228. XFcStrFree(tls, cache_hashed)
  5229. }
  5230. } else {
  5231. XFcStrFree(tls, cache_hashed)
  5232. }
  5233. }
  5234. }
  5235. XFcStrListDone(tls, list)
  5236. if closure != 0 {
  5237. return libc.BoolInt32(!!(*(*uintptr)(unsafe.Pointer(closure)) != libc.UintptrFromInt32(0)))
  5238. }
  5239. return ret
  5240. }
  5241. /*
  5242. * Skip list element, make sure the 'next' pointer is the last thing
  5243. * in the structure, it will be allocated large enough to hold all
  5244. * of the necessary pointers
  5245. */
  5246. type TFcCacheSkip = struct {
  5247. Fcache uintptr
  5248. Fref TFcRef
  5249. Fsize Tintptr_t
  5250. Fallocated uintptr
  5251. Fcache_dev Tdev_t
  5252. Fcache_ino Tino_t
  5253. Fcache_mtime Ttime_t
  5254. Fcache_mtime_nano int64
  5255. Fnext [1]uintptr
  5256. }
  5257. /*
  5258. * Skip list element, make sure the 'next' pointer is the last thing
  5259. * in the structure, it will be allocated large enough to hold all
  5260. * of the necessary pointers
  5261. */
  5262. type T_FcCacheSkip = TFcCacheSkip
  5263. /*
  5264. * The head of the skip list; pointers for every possible level
  5265. * in the skip list, plus the largest level in the list
  5266. */
  5267. // C documentation
  5268. //
  5269. // /* Protected by cache_lock below */
  5270. var _fcCacheChains [16]uintptr
  5271. var _fcCacheMaxLevel int32
  5272. var _cache_lock uintptr
  5273. func _lock_cache(tls *libc.TLS) {
  5274. var lock uintptr
  5275. var v1 int32
  5276. _, _ = lock, v1
  5277. goto retry
  5278. retry:
  5279. ;
  5280. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  5281. if !(lock != 0) {
  5282. lock = libc.Xmalloc(tls, uint64(4))
  5283. _ = lock
  5284. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == libc.UintptrFromInt32(0) {
  5285. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = lock
  5286. v1 = libc.Int32FromInt32(m_FcTrue)
  5287. } else {
  5288. v1 = m_FcFalse
  5289. }
  5290. if !(v1 != 0) {
  5291. _ = lock
  5292. libc.Xfree(tls, lock)
  5293. goto retry
  5294. }
  5295. _ = lock
  5296. /* Initialize random state */
  5297. XFcRandom(tls)
  5298. return
  5299. }
  5300. _ = lock
  5301. }
  5302. func _unlock_cache(tls *libc.TLS) {
  5303. var lock uintptr
  5304. _ = lock
  5305. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  5306. _ = lock
  5307. }
  5308. func _free_lock(tls *libc.TLS) {
  5309. var lock uintptr
  5310. var v1 int32
  5311. var v2 bool
  5312. _, _, _ = lock, v1, v2
  5313. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  5314. if v2 = lock != 0; v2 {
  5315. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == lock {
  5316. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = libc.UintptrFromInt32(0)
  5317. v1 = libc.Int32FromInt32(m_FcTrue)
  5318. } else {
  5319. v1 = m_FcFalse
  5320. }
  5321. }
  5322. if v2 && v1 != 0 {
  5323. _ = lock
  5324. libc.Xfree(tls, lock)
  5325. }
  5326. }
  5327. // C documentation
  5328. //
  5329. // /*
  5330. // * Generate a random level number, distributed
  5331. // * so that each level is 1/4 as likely as the one before
  5332. // *
  5333. // * Note that level numbers run 1 <= level <= MAX_LEVEL
  5334. // */
  5335. func _random_level(tls *libc.TLS) (r int32) {
  5336. var bits int64
  5337. var level, v1 int32
  5338. _, _, _ = bits, level, v1
  5339. /* tricky bit -- each bit is '1' 75% of the time */
  5340. bits = int64(XFcRandom(tls) | XFcRandom(tls))
  5341. level = 0
  5342. for {
  5343. level++
  5344. v1 = level
  5345. if !(v1 < int32(m_FC_CACHE_MAX_LEVEL)) {
  5346. break
  5347. }
  5348. if bits&int64(1) != 0 {
  5349. break
  5350. }
  5351. bits >>= int64(1)
  5352. }
  5353. return level
  5354. }
  5355. // C documentation
  5356. //
  5357. // /*
  5358. // * Insert cache into the list
  5359. // */
  5360. func _FcCacheInsert(tls *libc.TLS, cache uintptr, cache_stat uintptr) (r TFcBool) {
  5361. var i, level, v2 int32
  5362. var next, s, v4 uintptr
  5363. var update [16]uintptr
  5364. _, _, _, _, _, _, _ = i, level, next, s, update, v2, v4
  5365. _lock_cache(tls)
  5366. /*
  5367. * Find links along each chain
  5368. */
  5369. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  5370. i = _fcCacheMaxLevel
  5371. for {
  5372. i--
  5373. v2 = i
  5374. if !(v2 >= 0) {
  5375. break
  5376. }
  5377. for {
  5378. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  5379. s = v4
  5380. if !(v4 != 0) {
  5381. break
  5382. }
  5383. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache > cache {
  5384. break
  5385. }
  5386. goto _3
  5387. _3:
  5388. ;
  5389. next = s + 64
  5390. }
  5391. update[i] = next + uintptr(i)*8
  5392. goto _1
  5393. _1:
  5394. }
  5395. /*
  5396. * Create new list element
  5397. */
  5398. level = _random_level(tls)
  5399. if level > _fcCacheMaxLevel {
  5400. level = _fcCacheMaxLevel + int32(1)
  5401. update[_fcCacheMaxLevel] = uintptr(unsafe.Pointer(&_fcCacheChains)) + uintptr(_fcCacheMaxLevel)*8
  5402. _fcCacheMaxLevel = level
  5403. }
  5404. s = libc.Xmalloc(tls, uint64(72)+libc.Uint64FromInt32(level-libc.Int32FromInt32(1))*uint64(8))
  5405. if !(s != 0) {
  5406. return m_FcFalse
  5407. }
  5408. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache = cache
  5409. (*TFcCacheSkip)(unsafe.Pointer(s)).Fsize = (*TFcCache)(unsafe.Pointer(cache)).Fsize
  5410. (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated = libc.UintptrFromInt32(0)
  5411. (*TFcRef)(unsafe.Pointer(s + 8)).Fcount = int32(1)
  5412. if cache_stat != 0 {
  5413. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev
  5414. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino
  5415. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtimespec.Ftv_sec
  5416. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  5417. } else {
  5418. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = 0
  5419. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = uint64(0)
  5420. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = 0
  5421. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  5422. }
  5423. /*
  5424. * Insert into all fcCacheChains
  5425. */
  5426. i = 0
  5427. for {
  5428. if !(i < level) {
  5429. break
  5430. }
  5431. *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer(update[i]))
  5432. *(*uintptr)(unsafe.Pointer(update[i])) = s
  5433. goto _5
  5434. _5:
  5435. ;
  5436. i++
  5437. }
  5438. _unlock_cache(tls)
  5439. return int32(m_FcTrue)
  5440. }
  5441. func _FcCacheFindByAddrUnlocked(tls *libc.TLS, object uintptr) (r uintptr) {
  5442. var i, v2 int32
  5443. var next, s uintptr
  5444. _, _, _, _ = i, next, s, v2
  5445. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  5446. if !(object != 0) {
  5447. return libc.UintptrFromInt32(0)
  5448. }
  5449. /*
  5450. * Walk chain pointers one level at a time
  5451. */
  5452. i = _fcCacheMaxLevel
  5453. for {
  5454. i--
  5455. v2 = i
  5456. if !(v2 >= 0) {
  5457. break
  5458. }
  5459. for *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)) != 0 && object >= (*TFcCacheSkip)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)))).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)))).Fsize) {
  5460. next = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)) + 64
  5461. }
  5462. goto _1
  5463. _1:
  5464. }
  5465. /*
  5466. * Here we are
  5467. */
  5468. s = *(*uintptr)(unsafe.Pointer(next))
  5469. if s != 0 && object < (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(s)).Fsize) {
  5470. return s
  5471. }
  5472. return libc.UintptrFromInt32(0)
  5473. }
  5474. func _FcCacheFindByAddr(tls *libc.TLS, object uintptr) (r uintptr) {
  5475. var ret uintptr
  5476. _ = ret
  5477. _lock_cache(tls)
  5478. ret = _FcCacheFindByAddrUnlocked(tls, object)
  5479. _unlock_cache(tls)
  5480. return ret
  5481. }
  5482. func _FcCacheRemoveUnlocked(tls *libc.TLS, cache uintptr) {
  5483. var allocated, next, s, v4 uintptr
  5484. var i, v2 int32
  5485. var update [16]uintptr
  5486. _, _, _, _, _, _, _ = allocated, i, next, s, update, v2, v4
  5487. /*
  5488. * Find links along each chain
  5489. */
  5490. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  5491. i = _fcCacheMaxLevel
  5492. for {
  5493. i--
  5494. v2 = i
  5495. if !(v2 >= 0) {
  5496. break
  5497. }
  5498. for {
  5499. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  5500. s = v4
  5501. if !(v4 != 0) {
  5502. break
  5503. }
  5504. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache >= cache {
  5505. break
  5506. }
  5507. goto _3
  5508. _3:
  5509. ;
  5510. next = s + 64
  5511. }
  5512. update[i] = next + uintptr(i)*8
  5513. goto _1
  5514. _1:
  5515. }
  5516. s = *(*uintptr)(unsafe.Pointer(next))
  5517. i = 0
  5518. for {
  5519. if !(i < _fcCacheMaxLevel && *(*uintptr)(unsafe.Pointer(update[i])) == s) {
  5520. break
  5521. }
  5522. *(*uintptr)(unsafe.Pointer(update[i])) = *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8))
  5523. goto _5
  5524. _5:
  5525. ;
  5526. i++
  5527. }
  5528. for _fcCacheMaxLevel > 0 && _fcCacheChains[_fcCacheMaxLevel-int32(1)] == libc.UintptrFromInt32(0) {
  5529. _fcCacheMaxLevel--
  5530. }
  5531. if s != 0 {
  5532. allocated = (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated
  5533. for allocated != 0 {
  5534. /* First element in allocated chunk is the free list */
  5535. next = *(*uintptr)(unsafe.Pointer(allocated))
  5536. libc.Xfree(tls, allocated)
  5537. allocated = next
  5538. }
  5539. libc.Xfree(tls, s)
  5540. }
  5541. }
  5542. func _FcCacheFindByStat(tls *libc.TLS, cache_stat uintptr) (r uintptr) {
  5543. var s, p3 uintptr
  5544. _, _ = s, p3
  5545. _lock_cache(tls)
  5546. s = _fcCacheChains[0]
  5547. for {
  5548. if !(s != 0) {
  5549. break
  5550. }
  5551. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtimespec.Ftv_sec {
  5552. p3 = s + 8
  5553. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  5554. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  5555. goto _2
  5556. _2:
  5557. ;
  5558. _unlock_cache(tls)
  5559. return (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache
  5560. }
  5561. goto _1
  5562. _1:
  5563. ;
  5564. s = *(*uintptr)(unsafe.Pointer(s + 64))
  5565. }
  5566. _unlock_cache(tls)
  5567. return libc.UintptrFromInt32(0)
  5568. }
  5569. func _FcDirCacheDisposeUnlocked(tls *libc.TLS, cache uintptr) {
  5570. _FcCacheRemoveUnlocked(tls, cache)
  5571. switch (*TFcCache)(unsafe.Pointer(cache)).Fmagic {
  5572. case uint32(m_FC_CACHE_MAGIC_ALLOC1):
  5573. libc.Xfree(tls, cache)
  5574. case uint32(m_FC_CACHE_MAGIC_MMAP1):
  5575. libc.Xmunmap(tls, cache, libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize))
  5576. break
  5577. }
  5578. }
  5579. func XFcCacheObjectReference(tls *libc.TLS, object uintptr) {
  5580. var skip, p2 uintptr
  5581. _, _ = skip, p2
  5582. skip = _FcCacheFindByAddr(tls, object)
  5583. if skip != 0 {
  5584. p2 = skip + 8
  5585. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  5586. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  5587. goto _1
  5588. _1:
  5589. }
  5590. }
  5591. func XFcCacheObjectDereference(tls *libc.TLS, object uintptr) {
  5592. var skip, p3 uintptr
  5593. var v1 int32
  5594. _, _, _ = skip, v1, p3
  5595. _lock_cache(tls)
  5596. skip = _FcCacheFindByAddrUnlocked(tls, object)
  5597. if skip != 0 {
  5598. p3 = skip + 8
  5599. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  5600. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  5601. goto _2
  5602. _2:
  5603. if v1 == int32(1) {
  5604. _FcDirCacheDisposeUnlocked(tls, (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache)
  5605. }
  5606. }
  5607. _unlock_cache(tls)
  5608. }
  5609. func XFcCacheAllocate(tls *libc.TLS, cache uintptr, len1 Tsize_t) (r uintptr) {
  5610. var allocated, chunk, skip uintptr
  5611. _, _, _ = allocated, chunk, skip
  5612. allocated = libc.UintptrFromInt32(0)
  5613. _lock_cache(tls)
  5614. skip = _FcCacheFindByAddrUnlocked(tls, cache)
  5615. if skip != 0 {
  5616. chunk = libc.Xmalloc(tls, uint64(8)+len1)
  5617. if chunk != 0 {
  5618. /* First element in allocated chunk is the free list */
  5619. *(*uintptr)(unsafe.Pointer(chunk)) = (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated
  5620. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated = chunk
  5621. /* Return the rest */
  5622. allocated = chunk + uintptr(8)
  5623. }
  5624. }
  5625. _unlock_cache(tls)
  5626. return allocated
  5627. }
  5628. func XFcCacheFini(tls *libc.TLS) {
  5629. bp := tls.Alloc(32)
  5630. defer tls.Free(32)
  5631. var i int32
  5632. var s uintptr
  5633. _, _ = i, s
  5634. i = 0
  5635. for {
  5636. if !(i < int32(m_FC_CACHE_MAX_LEVEL)) {
  5637. break
  5638. }
  5639. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5640. if _fcCacheChains[i] != libc.UintptrFromInt32(0) {
  5641. s = _fcCacheChains[i]
  5642. libc.Xprintf(tls, __ccgo_ts+187, libc.VaList(bp+8, (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache, uintptr(int64((*TFcCacheSkip)(unsafe.Pointer(s)).Fcache)+(*TFcCache)(unsafe.Pointer((*TFcCacheSkip)(unsafe.Pointer(s)).Fcache)).Fdir), (*TFcCacheSkip)(unsafe.Pointer(s)).Fref.Fcount))
  5643. }
  5644. } else {
  5645. }
  5646. goto _1
  5647. _1:
  5648. ;
  5649. i++
  5650. }
  5651. _free_lock(tls)
  5652. }
  5653. func _FcCacheTimeValid(tls *libc.TLS, config uintptr, cache uintptr, dir_stat uintptr) (r TFcBool) {
  5654. bp := tls.Alloc(176)
  5655. defer tls.Free(176)
  5656. var d, sysroot uintptr
  5657. var fnano TFcBool
  5658. var _ /* dir_static at bp+0 */ Tstat
  5659. _, _, _ = d, fnano, sysroot
  5660. fnano = int32(m_FcTrue)
  5661. if !(dir_stat != 0) {
  5662. sysroot = XFcConfigGetSysRoot(tls, config)
  5663. if sysroot != 0 {
  5664. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), libc.UintptrFromInt32(0)))
  5665. } else {
  5666. d = libc.Xstrdup(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir))
  5667. }
  5668. if XFcStatChecksum(tls, d, bp) < 0 {
  5669. XFcStrFree(tls, d)
  5670. return m_FcFalse
  5671. }
  5672. XFcStrFree(tls, d)
  5673. dir_stat = bp
  5674. }
  5675. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5676. libc.Xprintf(tls, __ccgo_ts+242, libc.VaList(bp+152, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), (*TFcCache)(unsafe.Pointer(cache)).Fchecksum, int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec)))
  5677. }
  5678. return libc.BoolInt32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec == 0 || (*TFcCache)(unsafe.Pointer(cache)).Fchecksum == int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec) && fnano != 0)
  5679. }
  5680. func _FcCacheOffsetsValid(tls *libc.TLS, cache uintptr) (r TFcBool) {
  5681. var base, dir, dirs, e, end, font, fs, last_offset, v10, v11, v3, v4 uintptr
  5682. var i, j int32
  5683. var l TFcValueListPtr
  5684. var v5 TFcBool
  5685. var v7 bool
  5686. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, e, end, font, fs, i, j, l, last_offset, v10, v11, v3, v4, v5, v7
  5687. base = cache
  5688. end = base + uintptr((*TFcCache)(unsafe.Pointer(cache)).Fsize)
  5689. if (*TFcCache)(unsafe.Pointer(cache)).Fdir < 0 || libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fdir) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(8) || libc.Xmemchr(tls, base+uintptr((*TFcCache)(unsafe.Pointer(cache)).Fdir), int32('\000'), libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdir)) == libc.UintptrFromInt32(0) {
  5690. return m_FcFalse
  5691. }
  5692. if (*TFcCache)(unsafe.Pointer(cache)).Fdirs < 0 || (*TFcCache)(unsafe.Pointer(cache)).Fdirs >= (*TFcCache)(unsafe.Pointer(cache)).Fsize || (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count < 0 || libc.Uint64FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdirs)/uint64(8) {
  5693. return m_FcFalse
  5694. }
  5695. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  5696. if dirs != 0 {
  5697. i = 0
  5698. for {
  5699. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  5700. break
  5701. }
  5702. if *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)) < 0 || libc.Uint64FromInt64(*(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8))) > libc.Uint64FromInt64(int64(end)-int64(dirs))-uint64(8) {
  5703. return m_FcFalse
  5704. }
  5705. dir = uintptr(int64(dirs) + *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)))
  5706. if libc.Xmemchr(tls, dir, int32('\000'), libc.Uint64FromInt64(int64(end)-int64(dir))) == libc.UintptrFromInt32(0) {
  5707. return m_FcFalse
  5708. }
  5709. goto _1
  5710. _1:
  5711. ;
  5712. i++
  5713. }
  5714. }
  5715. if (*TFcCache)(unsafe.Pointer(cache)).Fset < 0 || libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fset) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(16) {
  5716. return m_FcFalse
  5717. }
  5718. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  5719. if fs != 0 {
  5720. if libc.Uint64FromInt32((*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) > libc.Uint64FromInt64(int64(end)-int64(fs))/uint64(24) {
  5721. return m_FcFalse
  5722. }
  5723. if !(int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  5724. return m_FcFalse
  5725. }
  5726. i = 0
  5727. for {
  5728. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  5729. break
  5730. }
  5731. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  5732. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  5733. v4 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  5734. } else {
  5735. v4 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  5736. }
  5737. v3 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v4 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  5738. } else {
  5739. v3 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  5740. }
  5741. font = v3
  5742. if v7 = font < base || font > end-uintptr(16) || (*TFcPattern)(unsafe.Pointer(font)).Felts_offset < 0 || (*TFcPattern)(unsafe.Pointer(font)).Felts_offset > int64(end)-int64(font) || libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(font)).Fnum) > libc.Uint64FromInt64(int64(end)-int64(font)-(*TFcPattern)(unsafe.Pointer(font)).Felts_offset)/uint64(16); !v7 {
  5743. v5 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(font+16)).Fcount == -libc.Int32FromInt32(1))
  5744. goto _6
  5745. _6:
  5746. }
  5747. if v7 || !(v5 != 0) {
  5748. return m_FcFalse
  5749. }
  5750. e = uintptr(int64(font) + (*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  5751. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != uintptr(0) && !(int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  5752. return m_FcFalse
  5753. }
  5754. j = 0
  5755. for {
  5756. if !(j < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  5757. break
  5758. }
  5759. last_offset = font + uintptr((*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  5760. if int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(1) != 0 {
  5761. v10 = uintptr(Tintptr_t(e+uintptr(j)*16) + int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  5762. } else {
  5763. v10 = (*TFcPatternElt)(unsafe.Pointer(e + uintptr(j)*16)).Fvalues
  5764. }
  5765. l = v10
  5766. for {
  5767. if !(l != 0) {
  5768. break
  5769. }
  5770. if l < last_offset || l > end-uintptr(32) || (*T_FcValueList)(unsafe.Pointer(l)).Fnext != libc.UintptrFromInt32(0) && !(int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  5771. return m_FcFalse
  5772. }
  5773. last_offset = l + uintptr(1)
  5774. goto _9
  5775. _9:
  5776. ;
  5777. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  5778. v11 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  5779. } else {
  5780. v11 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  5781. }
  5782. l = v11
  5783. }
  5784. goto _8
  5785. _8:
  5786. ;
  5787. j++
  5788. }
  5789. goto _2
  5790. _2:
  5791. ;
  5792. i++
  5793. }
  5794. }
  5795. return int32(m_FcTrue)
  5796. }
  5797. // C documentation
  5798. //
  5799. // /*
  5800. // * Map a cache file into memory
  5801. // */
  5802. func _FcDirCacheMapFd(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr) (r uintptr) {
  5803. var allocated TFcBool
  5804. var cache uintptr
  5805. _, _ = allocated, cache
  5806. allocated = m_FcFalse
  5807. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size > int64(9223372036854775807) || (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size < int64(libc.Int32FromInt64(64)) {
  5808. return libc.UintptrFromInt32(0)
  5809. }
  5810. cache = _FcCacheFindByStat(tls, fd_stat)
  5811. if cache != 0 {
  5812. if _FcCacheTimeValid(tls, config, cache, dir_stat) != 0 {
  5813. return cache
  5814. }
  5815. XFcDirCacheUnload(tls, cache)
  5816. cache = libc.UintptrFromInt32(0)
  5817. }
  5818. /*
  5819. * Large cache files are mmap'ed, smaller cache files are read. This
  5820. * balances the system cost of mmap against per-process memory usage.
  5821. */
  5822. if _FcCacheIsMmapSafe(tls, fd) != 0 && (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size >= int64(m_FC_CACHE_MIN_MMAP) {
  5823. cache = libc.Xmmap(tls, uintptr(0), libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size), int32(m_PROT_READ), int32(m_MAP_SHARED), fd, 0)
  5824. if cache == uintptr(-libc.Int32FromInt32(1)) {
  5825. cache = libc.UintptrFromInt32(0)
  5826. }
  5827. }
  5828. if !(cache != 0) {
  5829. cache = libc.Xmalloc(tls, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  5830. if !(cache != 0) {
  5831. return libc.UintptrFromInt32(0)
  5832. }
  5833. if libc.Xread(tls, fd, cache, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size)) != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size {
  5834. libc.Xfree(tls, cache)
  5835. return libc.UintptrFromInt32(0)
  5836. }
  5837. allocated = int32(m_FcTrue)
  5838. }
  5839. if (*TFcCache)(unsafe.Pointer(cache)).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) || (*TFcCache)(unsafe.Pointer(cache)).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) || (*TFcCache)(unsafe.Pointer(cache)).Fsize != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size || !(_FcCacheOffsetsValid(tls, cache) != 0) || !(_FcCacheTimeValid(tls, config, cache, dir_stat) != 0) || !(_FcCacheInsert(tls, cache, fd_stat) != 0) {
  5840. if allocated != 0 {
  5841. libc.Xfree(tls, cache)
  5842. } else {
  5843. libc.Xmunmap(tls, cache, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  5844. }
  5845. return libc.UintptrFromInt32(0)
  5846. }
  5847. /* Mark allocated caches so they're freed rather than unmapped */
  5848. if allocated != 0 {
  5849. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  5850. }
  5851. return cache
  5852. }
  5853. func XFcDirCacheReference(tls *libc.TLS, cache uintptr, nref int32) {
  5854. var skip, p3 uintptr
  5855. var v1 int32
  5856. _, _, _ = skip, v1, p3
  5857. skip = _FcCacheFindByAddr(tls, cache)
  5858. if skip != 0 {
  5859. v1 = nref
  5860. p3 = skip + 8
  5861. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += v1
  5862. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - v1
  5863. goto _2
  5864. _2:
  5865. }
  5866. }
  5867. func XFcDirCacheUnload(tls *libc.TLS, cache uintptr) {
  5868. XFcCacheObjectDereference(tls, cache)
  5869. }
  5870. func _FcDirCacheMapHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  5871. bp := tls.Alloc(48)
  5872. defer tls.Free(48)
  5873. var cache uintptr
  5874. var v1, v2, v3, v5, v6 int32
  5875. var v4 bool
  5876. var _ /* cache_mtime at bp+0 */ Ttimeval
  5877. var _ /* dir_mtime at bp+32 */ Ttimeval
  5878. var _ /* zero_mtime at bp+16 */ Ttimeval
  5879. _, _, _, _, _, _, _ = cache, v1, v2, v3, v4, v5, v6
  5880. cache = _FcDirCacheMapFd(tls, config, fd, fd_stat, dir_stat)
  5881. *(*Ttimeval)(unsafe.Pointer(bp + 16)) = Ttimeval{}
  5882. if !(cache != 0) {
  5883. return m_FcFalse
  5884. }
  5885. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec = (*Tstat)(unsafe.Pointer(fd_stat)).Fst_mtimespec.Ftv_sec
  5886. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_sec = (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec
  5887. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec = 0
  5888. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_usec = 0
  5889. /* special take care of OSTree */
  5890. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec {
  5891. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_usec)
  5892. } else {
  5893. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec)
  5894. }
  5895. if !(v1 != 0) {
  5896. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  5897. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  5898. } else {
  5899. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  5900. }
  5901. if !(v2 != 0) {
  5902. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  5903. XFcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  5904. }
  5905. } else {
  5906. if v4 = *(*uintptr)(unsafe.Pointer(closure)) != 0; v4 {
  5907. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec {
  5908. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec)
  5909. } else {
  5910. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec)
  5911. }
  5912. }
  5913. if v4 && !(v3 != 0) {
  5914. XFcDirCacheUnload(tls, cache)
  5915. return m_FcFalse
  5916. } else {
  5917. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  5918. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  5919. } else {
  5920. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  5921. }
  5922. if v5 != 0 {
  5923. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  5924. XFcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  5925. }
  5926. }
  5927. }
  5928. }
  5929. } else {
  5930. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  5931. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  5932. } else {
  5933. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  5934. }
  5935. if v6 != 0 {
  5936. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  5937. XFcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  5938. }
  5939. } else {
  5940. XFcDirCacheUnload(tls, cache)
  5941. return m_FcFalse
  5942. }
  5943. }
  5944. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec
  5945. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec
  5946. *(*uintptr)(unsafe.Pointer(closure)) = cache
  5947. return int32(m_FcTrue)
  5948. }
  5949. func XFcDirCacheLoad(tls *libc.TLS, dir uintptr, config uintptr, cache_file uintptr) (r uintptr) {
  5950. bp := tls.Alloc(16)
  5951. defer tls.Free(16)
  5952. var _ /* cache at bp+0 */ uintptr
  5953. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  5954. config = XFcConfigReference(tls, config)
  5955. if !(config != 0) {
  5956. return libc.UintptrFromInt32(0)
  5957. }
  5958. if !(_FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheMapHelper), bp, cache_file) != 0) {
  5959. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  5960. }
  5961. XFcConfigDestroy(tls, config)
  5962. return *(*uintptr)(unsafe.Pointer(bp))
  5963. }
  5964. func XFcDirCacheLoadFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r uintptr) {
  5965. bp := tls.Alloc(144)
  5966. defer tls.Free(144)
  5967. var cache, config uintptr
  5968. var fd int32
  5969. var _ /* my_file_stat at bp+0 */ Tstat
  5970. _, _, _ = cache, config, fd
  5971. cache = libc.UintptrFromInt32(0)
  5972. if !(file_stat != 0) {
  5973. file_stat = bp
  5974. }
  5975. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  5976. if !(config != 0) {
  5977. return libc.UintptrFromInt32(0)
  5978. }
  5979. fd = _FcDirCacheOpenFile(tls, cache_file, file_stat)
  5980. if fd >= 0 {
  5981. cache = _FcDirCacheMapFd(tls, config, fd, file_stat, libc.UintptrFromInt32(0))
  5982. libc.Xclose(tls, fd)
  5983. }
  5984. XFcConfigDestroy(tls, config)
  5985. return cache
  5986. }
  5987. func _FcDirChecksum(tls *libc.TLS, statb uintptr) (r int32) {
  5988. bp := tls.Alloc(32)
  5989. defer tls.Free(32)
  5990. var epoch uint64
  5991. var ret int32
  5992. var source_date_epoch uintptr
  5993. var _ /* endptr at bp+0 */ uintptr
  5994. _, _, _ = epoch, ret, source_date_epoch
  5995. ret = int32((*Tstat)(unsafe.Pointer(statb)).Fst_mtimespec.Ftv_sec)
  5996. source_date_epoch = libc.Xgetenv(tls, __ccgo_ts+303)
  5997. if source_date_epoch != 0 {
  5998. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = 0
  5999. epoch = libc.Xstrtoull(tls, source_date_epoch, bp, int32(10))
  6000. if *(*uintptr)(unsafe.Pointer(bp)) == source_date_epoch {
  6001. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+321, 0)
  6002. } else {
  6003. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_ERANGE) && (epoch == libc.Uint64FromInt64(9223372036854775807)*libc.Uint64FromUint64(2)+libc.Uint64FromUint64(1) || epoch == uint64(0)) || *(*int32)(unsafe.Pointer(libc.X__error(tls))) != 0 && epoch == uint64(0) {
  6004. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+360, libc.VaList(bp+16, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))), epoch))
  6005. } else {
  6006. if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) != int32('\000') {
  6007. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+411, 0)
  6008. } else {
  6009. if epoch > libc.Uint64FromInt64(9223372036854775807)*libc.Uint64FromUint64(2)+libc.Uint64FromUint64(1) {
  6010. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+463, libc.VaList(bp+16, libc.Uint64FromInt64(9223372036854775807)*libc.Uint64FromUint64(2)+libc.Uint64FromUint64(1), epoch))
  6011. } else {
  6012. if epoch < libc.Uint64FromInt32(ret) {
  6013. /* Only override if directory is newer */
  6014. ret = libc.Int32FromUint64(epoch)
  6015. }
  6016. }
  6017. }
  6018. }
  6019. }
  6020. }
  6021. return ret
  6022. }
  6023. func _FcDirChecksumNano(tls *libc.TLS, statb uintptr) (r Tint64_t) {
  6024. return 0
  6025. }
  6026. // C documentation
  6027. //
  6028. // /*
  6029. // * Validate a cache file by reading the header and checking
  6030. // * the magic number and the size field
  6031. // */
  6032. func _FcDirCacheValidateHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  6033. bp := tls.Alloc(64)
  6034. defer tls.Free(64)
  6035. var ret TFcBool
  6036. var _ /* c at bp+0 */ TFcCache
  6037. _ = ret
  6038. ret = int32(m_FcTrue)
  6039. if libc.Uint64FromInt64(libc.Xread(tls, fd, bp, uint64(64))) != uint64(64) {
  6040. ret = m_FcFalse
  6041. } else {
  6042. if (*(*TFcCache)(unsafe.Pointer(bp))).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  6043. ret = m_FcFalse
  6044. } else {
  6045. if (*(*TFcCache)(unsafe.Pointer(bp))).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) {
  6046. ret = m_FcFalse
  6047. } else {
  6048. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size != (*(*TFcCache)(unsafe.Pointer(bp))).Fsize {
  6049. ret = m_FcFalse
  6050. } else {
  6051. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum != _FcDirChecksum(tls, dir_stat) {
  6052. ret = m_FcFalse
  6053. }
  6054. }
  6055. }
  6056. }
  6057. }
  6058. return ret
  6059. }
  6060. func _FcDirCacheValidConfig(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  6061. return _FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheValidateHelper), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  6062. }
  6063. func XFcDirCacheValid(tls *libc.TLS, dir uintptr) (r TFcBool) {
  6064. var config uintptr
  6065. var ret TFcBool
  6066. _, _ = config, ret
  6067. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  6068. if !(config != 0) {
  6069. return m_FcFalse
  6070. }
  6071. ret = _FcDirCacheValidConfig(tls, dir, config)
  6072. XFcConfigDestroy(tls, config)
  6073. return ret
  6074. }
  6075. // C documentation
  6076. //
  6077. // /*
  6078. // * Build a cache structure from the given contents
  6079. // */
  6080. func XFcDirCacheBuild(tls *libc.TLS, set uintptr, dir uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  6081. var cache, d_serialize, dir_serialize, dirs_serialize, serialize, set_serialize uintptr
  6082. var i int32
  6083. _, _, _, _, _, _, _ = cache, d_serialize, dir_serialize, dirs_serialize, i, serialize, set_serialize
  6084. serialize = XFcSerializeCreate(tls)
  6085. if !(serialize != 0) {
  6086. return libc.UintptrFromInt32(0)
  6087. }
  6088. /*
  6089. * Space for cache structure
  6090. */
  6091. XFcSerializeReserve(tls, serialize, int32(64))
  6092. /*
  6093. * Directory name
  6094. */
  6095. if !(XFcStrSerializeAlloc(tls, serialize, dir) != 0) {
  6096. goto bail1
  6097. }
  6098. /*
  6099. * Subdirs
  6100. */
  6101. XFcSerializeAlloc(tls, serialize, dirs, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(dirs)).Fnum)*uint64(8)))
  6102. i = 0
  6103. for {
  6104. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  6105. break
  6106. }
  6107. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8))) != 0) {
  6108. goto bail1
  6109. }
  6110. goto _1
  6111. _1:
  6112. ;
  6113. i++
  6114. }
  6115. /*
  6116. * Patterns
  6117. */
  6118. if !(XFcFontSetSerializeAlloc(tls, serialize, set) != 0) {
  6119. goto bail1
  6120. }
  6121. /* Serialize layout complete. Now allocate space and fill it */
  6122. cache = libc.Xmalloc(tls, libc.Uint64FromInt64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  6123. if !(cache != 0) {
  6124. goto bail1
  6125. }
  6126. /* shut up valgrind */
  6127. libc.X__builtin___memset_chk(tls, cache, 0, libc.Uint64FromInt64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize), ^t__predefined_size_t(0))
  6128. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = cache
  6129. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  6130. (*TFcCache)(unsafe.Pointer(cache)).Fversion = int32(m_FC_CACHE_VERSION_NUMBER)
  6131. (*TFcCache)(unsafe.Pointer(cache)).Fsize = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  6132. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum = _FcDirChecksum(tls, dir_stat)
  6133. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano = _FcDirChecksumNano(tls, dir_stat)
  6134. /*
  6135. * Serialize directory name
  6136. */
  6137. dir_serialize = XFcStrSerialize(tls, serialize, dir)
  6138. if !(dir_serialize != 0) {
  6139. goto bail2
  6140. }
  6141. (*TFcCache)(unsafe.Pointer(cache)).Fdir = int64(dir_serialize) - int64(cache)
  6142. /*
  6143. * Serialize sub dirs
  6144. */
  6145. dirs_serialize = XFcSerializePtr(tls, serialize, dirs)
  6146. if !(dirs_serialize != 0) {
  6147. goto bail2
  6148. }
  6149. (*TFcCache)(unsafe.Pointer(cache)).Fdirs = int64(dirs_serialize) - int64(cache)
  6150. (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count = (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum
  6151. i = 0
  6152. for {
  6153. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  6154. break
  6155. }
  6156. d_serialize = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8)))
  6157. if !(d_serialize != 0) {
  6158. goto bail2
  6159. }
  6160. *(*Tintptr_t)(unsafe.Pointer(dirs_serialize + uintptr(i)*8)) = int64(d_serialize) - int64(dirs_serialize)
  6161. goto _2
  6162. _2:
  6163. ;
  6164. i++
  6165. }
  6166. /*
  6167. * Serialize font set
  6168. */
  6169. set_serialize = XFcFontSetSerialize(tls, serialize, set)
  6170. if !(set_serialize != 0) {
  6171. goto bail2
  6172. }
  6173. (*TFcCache)(unsafe.Pointer(cache)).Fset = int64(set_serialize) - int64(cache)
  6174. XFcSerializeDestroy(tls, serialize)
  6175. _FcCacheInsert(tls, cache, libc.UintptrFromInt32(0))
  6176. return cache
  6177. goto bail2
  6178. bail2:
  6179. ;
  6180. libc.Xfree(tls, cache)
  6181. goto bail1
  6182. bail1:
  6183. ;
  6184. XFcSerializeDestroy(tls, serialize)
  6185. return libc.UintptrFromInt32(0)
  6186. }
  6187. func XFcDirCacheRebuild(tls *libc.TLS, cache uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  6188. var dir, new1, set uintptr
  6189. _, _, _ = dir, new1, set
  6190. set = XFcFontSetDeserialize(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fset))
  6191. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  6192. new1 = XFcDirCacheBuild(tls, set, dir, dir_stat, dirs)
  6193. XFcFontSetDestroy(tls, set)
  6194. return new1
  6195. }
  6196. // C documentation
  6197. //
  6198. // /* write serialized state to the cache file */
  6199. func XFcDirCacheWrite(tls *libc.TLS, cache uintptr, config uintptr) (r TFcBool) {
  6200. bp := tls.Alloc(224)
  6201. defer tls.Free(224)
  6202. var atomic, cache_dir, cache_hashed, d, dir, list, skip, sysroot, test_dir, v1, v2 uintptr
  6203. var fd, written int32
  6204. var magic uint32
  6205. var _ /* cache_base at bp+0 */ [52]TFcChar8
  6206. var _ /* cache_stat at bp+56 */ Tstat
  6207. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = atomic, cache_dir, cache_hashed, d, dir, fd, list, magic, skip, sysroot, test_dir, written, v1, v2
  6208. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  6209. cache_dir = libc.UintptrFromInt32(0)
  6210. d = libc.UintptrFromInt32(0)
  6211. sysroot = XFcConfigGetSysRoot(tls, config)
  6212. /*
  6213. * Write it to the first directory in the list which is writable
  6214. */
  6215. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  6216. if !(list != 0) {
  6217. return m_FcFalse
  6218. }
  6219. for {
  6220. v1 = XFcStrListNext(tls, list)
  6221. test_dir = v1
  6222. if !(v1 != 0) {
  6223. break
  6224. }
  6225. if d != 0 {
  6226. XFcStrFree(tls, d)
  6227. }
  6228. if sysroot != 0 {
  6229. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+208, test_dir, libc.UintptrFromInt32(0)))
  6230. } else {
  6231. d = XFcStrCopyFilename(tls, test_dir)
  6232. }
  6233. if libc.Xaccess(tls, d, libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) == 0 {
  6234. cache_dir = XFcStrCopyFilename(tls, d)
  6235. break
  6236. } else {
  6237. /*
  6238. * If the directory doesn't exist, try to create it
  6239. */
  6240. if libc.Xaccess(tls, d, m_F_OK) == -int32(1) {
  6241. if XFcMakeDirectory(tls, d) != 0 {
  6242. cache_dir = XFcStrCopyFilename(tls, d)
  6243. /* Create CACHEDIR.TAG */
  6244. XFcDirCacheCreateTagFile(tls, d)
  6245. break
  6246. }
  6247. } else {
  6248. if libc.Xchmod(tls, d, uint16(0755)) == 0 {
  6249. cache_dir = XFcStrCopyFilename(tls, d)
  6250. /* Try to create CACHEDIR.TAG too */
  6251. XFcDirCacheCreateTagFile(tls, d)
  6252. break
  6253. }
  6254. }
  6255. }
  6256. }
  6257. if !(test_dir != 0) {
  6258. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+523, 0)
  6259. }
  6260. if d != 0 {
  6261. XFcStrFree(tls, d)
  6262. }
  6263. XFcStrListDone(tls, list)
  6264. if !(cache_dir != 0) {
  6265. return m_FcFalse
  6266. }
  6267. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  6268. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+208, bp, libc.UintptrFromInt32(0)))
  6269. XFcStrFree(tls, cache_dir)
  6270. if !(cache_hashed != 0) {
  6271. return m_FcFalse
  6272. }
  6273. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6274. libc.Xprintf(tls, __ccgo_ts+572, libc.VaList(bp+208, dir, cache_hashed))
  6275. }
  6276. atomic = XFcAtomicCreate(tls, cache_hashed)
  6277. if !(atomic != 0) {
  6278. goto bail1
  6279. }
  6280. if !(XFcAtomicLock(tls, atomic) != 0) {
  6281. goto bail3
  6282. }
  6283. fd = XFcOpen(tls, XFcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT)|libc.Int32FromInt32(m_O_BINARY), libc.VaList(bp+208, int32(0666)))
  6284. if fd == -int32(1) {
  6285. goto bail4
  6286. }
  6287. /* Temporarily switch magic to MMAP while writing to file */
  6288. magic = (*TFcCache)(unsafe.Pointer(cache)).Fmagic
  6289. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  6290. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_MMAP1)
  6291. }
  6292. /*
  6293. * Write cache contents to file
  6294. */
  6295. written = int32(libc.Xwrite(tls, fd, cache, libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)))
  6296. /* Switch magic back */
  6297. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  6298. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = magic
  6299. }
  6300. if int64(written) != (*TFcCache)(unsafe.Pointer(cache)).Fsize {
  6301. libc.Xperror(tls, __ccgo_ts+611)
  6302. goto bail5
  6303. }
  6304. libc.Xclose(tls, fd)
  6305. if !(XFcAtomicReplaceOrig(tls, atomic) != 0) {
  6306. goto bail4
  6307. }
  6308. /* If the file is small, update the cache chain entry such that the
  6309. * new cache file is not read again. If it's large, we don't do that
  6310. * such that we reload it, using mmap, which is shared across processes.
  6311. */
  6312. if (*TFcCache)(unsafe.Pointer(cache)).Fsize < int64(m_FC_CACHE_MIN_MMAP) && XFcStat(tls, cache_hashed, bp+56) != 0 {
  6313. _lock_cache(tls)
  6314. v2 = _FcCacheFindByAddrUnlocked(tls, cache)
  6315. skip = v2
  6316. if v2 != 0 {
  6317. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_dev = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_dev
  6318. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_ino = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_ino
  6319. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtimespec.Ftv_sec
  6320. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime_nano = 0
  6321. }
  6322. _unlock_cache(tls)
  6323. }
  6324. XFcStrFree(tls, cache_hashed)
  6325. XFcAtomicUnlock(tls, atomic)
  6326. XFcAtomicDestroy(tls, atomic)
  6327. return int32(m_FcTrue)
  6328. goto bail5
  6329. bail5:
  6330. ;
  6331. libc.Xclose(tls, fd)
  6332. goto bail4
  6333. bail4:
  6334. ;
  6335. XFcAtomicUnlock(tls, atomic)
  6336. goto bail3
  6337. bail3:
  6338. ;
  6339. XFcAtomicDestroy(tls, atomic)
  6340. goto bail1
  6341. bail1:
  6342. ;
  6343. XFcStrFree(tls, cache_hashed)
  6344. return m_FcFalse
  6345. }
  6346. func XFcDirCacheClean(tls *libc.TLS, cache_dir uintptr, verbose TFcBool) (r TFcBool) {
  6347. bp := tls.Alloc(176)
  6348. defer tls.Free(176)
  6349. var cache, config, d, dir, ent, file_name, s, sysroot, target_dir, v1, v2 uintptr
  6350. var remove, ret TFcBool
  6351. var _ /* target_stat at bp+0 */ Tstat
  6352. _, _, _, _, _, _, _, _, _, _, _, _, _ = cache, config, d, dir, ent, file_name, remove, ret, s, sysroot, target_dir, v1, v2
  6353. ret = int32(m_FcTrue)
  6354. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  6355. if !(config != 0) {
  6356. return m_FcFalse
  6357. }
  6358. /* FIXME: this API needs to support non-current FcConfig */
  6359. sysroot = XFcConfigGetSysRoot(tls, config)
  6360. if sysroot != 0 {
  6361. dir = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, cache_dir, libc.UintptrFromInt32(0)))
  6362. } else {
  6363. dir = XFcStrCopyFilename(tls, cache_dir)
  6364. }
  6365. if !(dir != 0) {
  6366. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+623, libc.VaList(bp+152, cache_dir))
  6367. ret = m_FcFalse
  6368. goto bail
  6369. }
  6370. if libc.Xaccess(tls, dir, libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  6371. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6372. if libc.Xaccess(tls, dir, m_F_OK) == 0 {
  6373. v1 = __ccgo_ts + 660
  6374. } else {
  6375. v1 = __ccgo_ts + 671
  6376. }
  6377. libc.Xprintf(tls, __ccgo_ts+684, libc.VaList(bp+152, dir, v1))
  6378. }
  6379. goto bail0
  6380. }
  6381. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6382. libc.Xprintf(tls, __ccgo_ts+721, libc.VaList(bp+152, dir))
  6383. }
  6384. d = libc.Xopendir(tls, dir)
  6385. if !(d != 0) {
  6386. libc.Xperror(tls, dir)
  6387. ret = m_FcFalse
  6388. goto bail0
  6389. }
  6390. for {
  6391. v2 = libc.Xreaddir(tls, d)
  6392. ent = v2
  6393. if !(v2 != 0) {
  6394. break
  6395. }
  6396. if int32(*(*int8)(unsafe.Pointer(ent + 21))) == int32('.') {
  6397. continue
  6398. }
  6399. /* skip cache files for different architectures and */
  6400. /* files which are not cache files at all */
  6401. if libc.Xstrlen(tls, ent+21) != uint64(32)+libc.Xstrlen(tls, __ccgo_ts+83) || libc.Xstrcmp(tls, ent+21+uintptr(32), __ccgo_ts+83) != 0 {
  6402. continue
  6403. }
  6404. file_name = XFcStrBuildFilename(tls, dir, libc.VaList(bp+152, ent+21, libc.UintptrFromInt32(0)))
  6405. if !(file_name != 0) {
  6406. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+751, libc.VaList(bp+152, dir))
  6407. ret = m_FcFalse
  6408. break
  6409. }
  6410. remove = m_FcFalse
  6411. cache = XFcDirCacheLoadFile(tls, file_name, libc.UintptrFromInt32(0))
  6412. if !(cache != 0) {
  6413. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6414. libc.Xprintf(tls, __ccgo_ts+793, libc.VaList(bp+152, dir, ent+21))
  6415. }
  6416. remove = int32(m_FcTrue)
  6417. } else {
  6418. target_dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  6419. if sysroot != 0 {
  6420. s = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, target_dir, libc.UintptrFromInt32(0)))
  6421. } else {
  6422. s = libc.Xstrdup(tls, target_dir)
  6423. }
  6424. if libc.Xstat(tls, s, bp) < 0 {
  6425. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6426. libc.Xprintf(tls, __ccgo_ts+821, libc.VaList(bp+152, dir, ent+21, s))
  6427. }
  6428. remove = int32(m_FcTrue)
  6429. }
  6430. XFcDirCacheUnload(tls, cache)
  6431. XFcStrFree(tls, s)
  6432. }
  6433. if remove != 0 {
  6434. if libc.Xunlink(tls, file_name) < 0 {
  6435. libc.Xperror(tls, file_name)
  6436. ret = m_FcFalse
  6437. }
  6438. }
  6439. XFcStrFree(tls, file_name)
  6440. }
  6441. libc.Xclosedir(tls, d)
  6442. goto bail0
  6443. bail0:
  6444. ;
  6445. XFcStrFree(tls, dir)
  6446. goto bail
  6447. bail:
  6448. ;
  6449. XFcConfigDestroy(tls, config)
  6450. return ret
  6451. }
  6452. func XFcDirCacheLock(tls *libc.TLS, dir uintptr, config uintptr) (r int32) {
  6453. bp := tls.Alloc(112)
  6454. defer tls.Free(112)
  6455. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  6456. var fd int32
  6457. var _ /* cache_base at bp+0 */ [52]TFcChar8
  6458. var _ /* fl at bp+56 */ Tflock
  6459. _, _, _, _, _, _ = cache_dir, cache_hashed, fd, list, sysroot, v1
  6460. cache_hashed = libc.UintptrFromInt32(0)
  6461. sysroot = XFcConfigGetSysRoot(tls, config)
  6462. fd = -int32(1)
  6463. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  6464. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  6465. if !(list != 0) {
  6466. return -int32(1)
  6467. }
  6468. for {
  6469. v1 = XFcStrListNext(tls, list)
  6470. cache_dir = v1
  6471. if !(v1 != 0) {
  6472. break
  6473. }
  6474. if sysroot != 0 {
  6475. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+88, cache_dir, bp, libc.UintptrFromInt32(0)))
  6476. } else {
  6477. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+88, bp, libc.UintptrFromInt32(0)))
  6478. }
  6479. if !(cache_hashed != 0) {
  6480. break
  6481. }
  6482. fd = XFcOpen(tls, cache_hashed, int32(m_O_RDWR), 0)
  6483. XFcStrFree(tls, cache_hashed)
  6484. /* No caches in that directory. simply retry with another one */
  6485. if fd != -int32(1) {
  6486. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_type = int16(m_F_WRLCK)
  6487. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_whence = m_SEEK_SET
  6488. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_start = 0
  6489. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_len = 0
  6490. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_pid = libc.Xgetpid(tls)
  6491. if libc.Xfcntl(tls, fd, int32(m_F_SETLKW), libc.VaList(bp+88, bp+56)) == -int32(1) {
  6492. goto bail
  6493. }
  6494. break
  6495. }
  6496. }
  6497. XFcStrListDone(tls, list)
  6498. return fd
  6499. goto bail
  6500. bail:
  6501. ;
  6502. XFcStrListDone(tls, list)
  6503. if fd != -int32(1) {
  6504. libc.Xclose(tls, fd)
  6505. }
  6506. return -int32(1)
  6507. }
  6508. func XFcDirCacheUnlock(tls *libc.TLS, fd int32) {
  6509. bp := tls.Alloc(48)
  6510. defer tls.Free(48)
  6511. var _ /* fl at bp+0 */ Tflock
  6512. if fd != -int32(1) {
  6513. (*(*Tflock)(unsafe.Pointer(bp))).Fl_type = int16(m_F_UNLCK)
  6514. (*(*Tflock)(unsafe.Pointer(bp))).Fl_whence = m_SEEK_SET
  6515. (*(*Tflock)(unsafe.Pointer(bp))).Fl_start = 0
  6516. (*(*Tflock)(unsafe.Pointer(bp))).Fl_len = 0
  6517. (*(*Tflock)(unsafe.Pointer(bp))).Fl_pid = libc.Xgetpid(tls)
  6518. libc.Xfcntl(tls, fd, int32(m_F_SETLK), libc.VaList(bp+32, bp))
  6519. libc.Xclose(tls, fd)
  6520. }
  6521. }
  6522. /*
  6523. * Hokey little macro trick to permit the definitions of C functions
  6524. * with the same name as CPP macros
  6525. */
  6526. func XFcCacheDir(tls *libc.TLS, c uintptr) (r uintptr) {
  6527. return uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fdir)
  6528. }
  6529. func XFcCacheCopySet(tls *libc.TLS, c uintptr) (r uintptr) {
  6530. var font, new1, old, v2, v3 uintptr
  6531. var i int32
  6532. _, _, _, _, _, _ = font, i, new1, old, v2, v3
  6533. old = uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset)
  6534. new1 = XFcFontSetCreate(tls)
  6535. if !(new1 != 0) {
  6536. return libc.UintptrFromInt32(0)
  6537. }
  6538. i = 0
  6539. for {
  6540. if !(i < (*TFcFontSet)(unsafe.Pointer(old)).Fnfont) {
  6541. break
  6542. }
  6543. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  6544. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  6545. v3 = uintptr(int64(old) + int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  6546. } else {
  6547. v3 = (*TFcFontSet)(unsafe.Pointer(old)).Ffonts
  6548. }
  6549. v2 = uintptr(int64(old) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  6550. } else {
  6551. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(old)).Ffonts + uintptr(i)*8))
  6552. }
  6553. font = v2
  6554. XFcPatternReference(tls, font)
  6555. if !(XFcFontSetAdd(tls, new1, font) != 0) {
  6556. XFcFontSetDestroy(tls, new1)
  6557. return libc.UintptrFromInt32(0)
  6558. }
  6559. goto _1
  6560. _1:
  6561. ;
  6562. i++
  6563. }
  6564. return new1
  6565. }
  6566. func XFcCacheSubdir(tls *libc.TLS, c uintptr, i int32) (r uintptr) {
  6567. return uintptr(int64(uintptr(int64(c)+(*TFcCache)(unsafe.Pointer(c)).Fdirs)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(c)+(*TFcCache)(unsafe.Pointer(c)).Fdirs) + uintptr(i)*8)))
  6568. }
  6569. func XFcCacheNumSubdir(tls *libc.TLS, c uintptr) (r int32) {
  6570. return (*TFcCache)(unsafe.Pointer(c)).Fdirs_count
  6571. }
  6572. func XFcCacheNumFont(tls *libc.TLS, c uintptr) (r int32) {
  6573. return (*TFcFontSet)(unsafe.Pointer(uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset))).Fnfont
  6574. }
  6575. func XFcDirCacheCreateTagFile(tls *libc.TLS, cache_dir uintptr) (r TFcBool) {
  6576. bp := tls.Alloc(32)
  6577. defer tls.Free(32)
  6578. var atomic, cache_tag, fp uintptr
  6579. var fd int32
  6580. var ret TFcBool
  6581. _, _, _, _, _ = atomic, cache_tag, fd, fp, ret
  6582. ret = m_FcFalse
  6583. if !(cache_dir != 0) {
  6584. return m_FcFalse
  6585. }
  6586. if libc.Xaccess(tls, cache_dir, libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) == 0 {
  6587. /* Create CACHEDIR.TAG */
  6588. cache_tag = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+8, __ccgo_ts+853, libc.UintptrFromInt32(0)))
  6589. if !(cache_tag != 0) {
  6590. return m_FcFalse
  6591. }
  6592. atomic = XFcAtomicCreate(tls, cache_tag)
  6593. if !(atomic != 0) {
  6594. goto bail1
  6595. }
  6596. if !(XFcAtomicLock(tls, atomic) != 0) {
  6597. goto bail2
  6598. }
  6599. fd = XFcOpen(tls, XFcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT), libc.VaList(bp+8, int32(0644)))
  6600. if fd == -int32(1) {
  6601. goto bail3
  6602. }
  6603. fp = libc.Xfdopen(tls, fd, __ccgo_ts+866)
  6604. if fp == libc.UintptrFromInt32(0) {
  6605. goto bail3
  6606. }
  6607. libc.Xfwrite(tls, uintptr(unsafe.Pointer(&_cache_tag_contents)), _cache_tag_contents_size, uint64(1), fp)
  6608. libc.Xfclose(tls, fp)
  6609. if !(XFcAtomicReplaceOrig(tls, atomic) != 0) {
  6610. goto bail3
  6611. }
  6612. ret = int32(m_FcTrue)
  6613. goto bail3
  6614. bail3:
  6615. ;
  6616. XFcAtomicUnlock(tls, atomic)
  6617. goto bail2
  6618. bail2:
  6619. ;
  6620. XFcAtomicDestroy(tls, atomic)
  6621. goto bail1
  6622. bail1:
  6623. ;
  6624. XFcStrFree(tls, cache_tag)
  6625. }
  6626. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6627. if ret != 0 {
  6628. libc.Xprintf(tls, __ccgo_ts+869, libc.VaList(bp+8, cache_dir))
  6629. } else {
  6630. libc.Xprintf(tls, __ccgo_ts+897, libc.VaList(bp+8, cache_dir))
  6631. }
  6632. }
  6633. return ret
  6634. }
  6635. var _cache_tag_contents = [201]TFcChar8{'S', 'i', 'g', 'n', 'a', 't', 'u', 'r', 'e', ':', ' ', '8', 'a', '4', '7', '7', 'f', '5', '9', '7', 'd', '2', '8', 'd', '1', '7', '2', '7', '8', '9', 'f', '0', '6', '8', '8', '6', '8', '0', '6', 'b', 'c', '5', '5', 10, '#', ' ', 'T', 'h', 'i', 's', ' ', 'f', 'i', 'l', 'e', ' ', 'i', 's', ' ', 'a', ' ', 'c', 'a', 'c', 'h', 'e', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', ' ', 't', 'a', 'g', ' ', 'c', 'r', 'e', 'a', 't', 'e', 'd', ' ', 'b', 'y', ' ', 'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g', '.', 10, '#', ' ', 'F', 'o', 'r', ' ', 'i', 'n', 'f', 'o', 'r', 'm', 'a', 't', 'i', 'o', 'n', ' ', 'a', 'b', 'o', 'u', 't', ' ', 'c', 'a', 'c', 'h', 'e', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', ' ', 't', 'a', 'g', 's', ',', ' ', 's', 'e', 'e', ':', 10, '#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'h', 't', 't', 'p', ':', '/', '/', 'w', 'w', 'w', '.', 'b', 'r', 'y', 'n', 'o', 's', 'a', 'u', 'r', 'u', 's', '.', 'c', 'o', 'm', '/', 'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r', '/', 10}
  6636. var _cache_tag_contents_size = libc.Uint64FromInt64(201) - libc.Uint64FromInt32(1)
  6637. func XFcCacheCreateTagFile(tls *libc.TLS, config uintptr) {
  6638. bp := tls.Alloc(32)
  6639. defer tls.Free(32)
  6640. var cache_dir, d, list, sysroot, v1 uintptr
  6641. _, _, _, _, _ = cache_dir, d, list, sysroot, v1
  6642. cache_dir = libc.UintptrFromInt32(0)
  6643. d = libc.UintptrFromInt32(0)
  6644. config = XFcConfigReference(tls, config)
  6645. if !(config != 0) {
  6646. return
  6647. }
  6648. sysroot = XFcConfigGetSysRoot(tls, config)
  6649. list = XFcConfigGetCacheDirs(tls, config)
  6650. if !(list != 0) {
  6651. goto bail
  6652. }
  6653. for {
  6654. v1 = XFcStrListNext(tls, list)
  6655. cache_dir = v1
  6656. if !(v1 != 0) {
  6657. break
  6658. }
  6659. if d != 0 {
  6660. XFcStrFree(tls, d)
  6661. }
  6662. if sysroot != 0 {
  6663. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, cache_dir, libc.UintptrFromInt32(0)))
  6664. } else {
  6665. d = XFcStrCopyFilename(tls, cache_dir)
  6666. }
  6667. if XFcDirCacheCreateTagFile(tls, d) != 0 {
  6668. break
  6669. }
  6670. }
  6671. if d != 0 {
  6672. XFcStrFree(tls, d)
  6673. }
  6674. XFcStrListDone(tls, list)
  6675. goto bail
  6676. bail:
  6677. ;
  6678. XFcConfigDestroy(tls, config)
  6679. }
  6680. const m_FC_CACHE_MAGIC_ALLOC2 = 0xFC02FC05
  6681. const m_FC_CACHE_MAGIC_MMAP2 = 0xFC02FC04
  6682. const m_FC_DIR_SEPARATOR1 = 47
  6683. const m_FC_DIR_SEPARATOR_S1 = "/.cache"
  6684. const m_FC_SEARCH_PATH_SEPARATOR1 = 58
  6685. const m_FONTCONFIG_FILE = "fonts.conf"
  6686. const m_S_IFIFO1 = 4096
  6687. const m_S_IFMT1 = 61440
  6688. /*
  6689. * Copyright (c) 2000-2021 Apple Inc. All rights reserved.
  6690. *
  6691. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6692. *
  6693. * This file contains Original Code and/or Modifications of Original Code
  6694. * as defined in and that are subject to the Apple Public Source License
  6695. * Version 2.0 (the 'License'). You may not use this file except in
  6696. * compliance with the License. The rights granted to you under the License
  6697. * may not be used to create, or enable the creation or redistribution of,
  6698. * unlawful or unlicensed copies of an Apple operating system, or to
  6699. * circumvent, violate, or enable the circumvention or violation of, any
  6700. * terms of an Apple operating system software license agreement.
  6701. *
  6702. * Please obtain a copy of the License at
  6703. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  6704. *
  6705. * The Original Code and all software distributed under the License are
  6706. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6707. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6708. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6709. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6710. * Please see the License for the specific language governing rights and
  6711. * limitations under the License.
  6712. *
  6713. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6714. */
  6715. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  6716. /*
  6717. * Copyright (c) 1982, 1986, 1991, 1993, 1994
  6718. * The Regents of the University of California. All rights reserved.
  6719. * (c) UNIX System Laboratories, Inc.
  6720. * All or some portions of this file are derived from material licensed
  6721. * to the University of California by American Telephone and Telegraph
  6722. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  6723. * the permission of UNIX System Laboratories, Inc.
  6724. *
  6725. * Redistribution and use in source and binary forms, with or without
  6726. * modification, are permitted provided that the following conditions
  6727. * are met:
  6728. * 1. Redistributions of source code must retain the above copyright
  6729. * notice, this list of conditions and the following disclaimer.
  6730. * 2. Redistributions in binary form must reproduce the above copyright
  6731. * notice, this list of conditions and the following disclaimer in the
  6732. * documentation and/or other materials provided with the distribution.
  6733. * 3. All advertising materials mentioning features or use of this software
  6734. * must display the following acknowledgement:
  6735. * This product includes software developed by the University of
  6736. * California, Berkeley and its contributors.
  6737. * 4. Neither the name of the University nor the names of its contributors
  6738. * may be used to endorse or promote products derived from this software
  6739. * without specific prior written permission.
  6740. *
  6741. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  6742. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  6743. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  6744. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  6745. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  6746. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  6747. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  6748. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  6749. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  6750. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  6751. * SUCH DAMAGE.
  6752. *
  6753. * @(#)types.h 8.4 (Berkeley) 1/21/94
  6754. */
  6755. var __fcConfig uintptr /* MT-safe */
  6756. var __lock uintptr
  6757. func _lock_config(tls *libc.TLS) {
  6758. var lock uintptr
  6759. var v1 int32
  6760. _, _ = lock, v1
  6761. goto retry
  6762. retry:
  6763. ;
  6764. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  6765. if !(lock != 0) {
  6766. lock = libc.Xmalloc(tls, uint64(4))
  6767. _ = lock
  6768. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == libc.UintptrFromInt32(0) {
  6769. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = lock
  6770. v1 = libc.Int32FromInt32(m_FcTrue)
  6771. } else {
  6772. v1 = m_FcFalse
  6773. }
  6774. if !(v1 != 0) {
  6775. _ = lock
  6776. libc.Xfree(tls, lock)
  6777. goto retry
  6778. }
  6779. _ = lock
  6780. /* Initialize random state */
  6781. XFcRandom(tls)
  6782. return
  6783. }
  6784. _ = lock
  6785. }
  6786. func _unlock_config(tls *libc.TLS) {
  6787. var lock uintptr
  6788. _ = lock
  6789. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  6790. _ = lock
  6791. }
  6792. func _free_lock1(tls *libc.TLS) {
  6793. var lock uintptr
  6794. var v1 int32
  6795. var v2 bool
  6796. _, _, _ = lock, v1, v2
  6797. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  6798. if v2 = lock != 0; v2 {
  6799. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == lock {
  6800. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = libc.UintptrFromInt32(0)
  6801. v1 = libc.Int32FromInt32(m_FcTrue)
  6802. } else {
  6803. v1 = m_FcFalse
  6804. }
  6805. }
  6806. if v2 && v1 != 0 {
  6807. _ = lock
  6808. libc.Xfree(tls, lock)
  6809. }
  6810. }
  6811. func _FcConfigEnsure(tls *libc.TLS) (r uintptr) {
  6812. var config uintptr
  6813. var v1 int32
  6814. var v2 bool
  6815. _, _, _ = config, v1, v2
  6816. goto retry
  6817. retry:
  6818. ;
  6819. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  6820. if !(config != 0) {
  6821. config = XFcInitLoadConfigAndFonts(tls)
  6822. if v2 = !(config != 0); !v2 {
  6823. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  6824. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  6825. v1 = libc.Int32FromInt32(m_FcTrue)
  6826. } else {
  6827. v1 = m_FcFalse
  6828. }
  6829. }
  6830. if v2 || !(v1 != 0) {
  6831. if config != 0 {
  6832. XFcConfigDestroy(tls, config)
  6833. }
  6834. goto retry
  6835. }
  6836. }
  6837. return config
  6838. }
  6839. func _FcDestroyAsRule(tls *libc.TLS, data uintptr) {
  6840. XFcRuleDestroy(tls, data)
  6841. }
  6842. func _FcDestroyAsRuleSet(tls *libc.TLS, data uintptr) {
  6843. XFcRuleSetDestroy(tls, data)
  6844. }
  6845. func XFcConfigInit(tls *libc.TLS) (r TFcBool) {
  6846. var v1 int32
  6847. _ = v1
  6848. if _FcConfigEnsure(tls) != 0 {
  6849. v1 = int32(m_FcTrue)
  6850. } else {
  6851. v1 = m_FcFalse
  6852. }
  6853. return v1
  6854. }
  6855. func XFcConfigFini(tls *libc.TLS) {
  6856. var cfg uintptr
  6857. var v1 int32
  6858. var v2 bool
  6859. _, _, _ = cfg, v1, v2
  6860. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  6861. if v2 = cfg != 0; v2 {
  6862. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  6863. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  6864. v1 = libc.Int32FromInt32(m_FcTrue)
  6865. } else {
  6866. v1 = m_FcFalse
  6867. }
  6868. }
  6869. if v2 && v1 != 0 {
  6870. XFcConfigDestroy(tls, cfg)
  6871. }
  6872. _free_lock1(tls)
  6873. }
  6874. func XFcConfigCreate(tls *libc.TLS) (r uintptr) {
  6875. var config uintptr
  6876. var err TFcBool
  6877. var k TFcMatchKind
  6878. var set TFcSetName
  6879. _, _, _, _ = config, err, k, set
  6880. err = m_FcFalse
  6881. config = libc.Xmalloc(tls, uint64(168))
  6882. if !(config != 0) {
  6883. goto bail0
  6884. }
  6885. (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs = XFcStrSetCreate(tls)
  6886. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigDirs != 0) {
  6887. goto bail1
  6888. }
  6889. (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs = XFcStrSetCreate(tls)
  6890. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs != 0) {
  6891. goto bail1_5
  6892. }
  6893. (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles = XFcStrSetCreate(tls)
  6894. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigFiles != 0) {
  6895. goto bail2
  6896. }
  6897. (*TFcConfig)(unsafe.Pointer(config)).FfontDirs = XFcStrSetCreate(tls)
  6898. if !((*TFcConfig)(unsafe.Pointer(config)).FfontDirs != 0) {
  6899. goto bail3
  6900. }
  6901. (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs = XFcStrSetCreate(tls)
  6902. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs != 0) {
  6903. goto bail4
  6904. }
  6905. (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs = XFcStrSetCreate(tls)
  6906. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs != 0) {
  6907. goto bail5
  6908. }
  6909. (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns = XFcFontSetCreate(tls)
  6910. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns != 0) {
  6911. goto bail6
  6912. }
  6913. (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns = XFcFontSetCreate(tls)
  6914. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns != 0) {
  6915. goto bail7
  6916. }
  6917. (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs = XFcStrSetCreate(tls)
  6918. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0) {
  6919. goto bail8
  6920. }
  6921. k = int32(_FcMatchKindBegin)
  6922. for {
  6923. if !(k < int32(_FcMatchKindEnd)) {
  6924. break
  6925. }
  6926. *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  6927. if !(*(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) != 0) {
  6928. err = int32(m_FcTrue)
  6929. }
  6930. goto _1
  6931. _1:
  6932. ;
  6933. k++
  6934. }
  6935. if err != 0 {
  6936. goto bail9
  6937. }
  6938. (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects = 0
  6939. set = int32(_FcSetSystem)
  6940. for {
  6941. if !(set <= int32(_FcSetApplication)) {
  6942. break
  6943. }
  6944. *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) = uintptr(0)
  6945. goto _2
  6946. _2:
  6947. ;
  6948. set++
  6949. }
  6950. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = libc.Xtime(tls, uintptr(0))
  6951. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = int32(30)
  6952. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = libc.UintptrFromInt32(0)
  6953. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = XFcStrRealPath(tls, libc.Xgetenv(tls, __ccgo_ts+934))
  6954. (*TFcConfig)(unsafe.Pointer(config)).FrulesetList = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  6955. if !((*TFcConfig)(unsafe.Pointer(config)).FrulesetList != 0) {
  6956. goto bail9
  6957. }
  6958. (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles = XFcStrSetCreate(tls)
  6959. if !((*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles != 0) {
  6960. goto bail10
  6961. }
  6962. (*TFcRef)(unsafe.Pointer(config + 132)).Fcount = int32(1)
  6963. return config
  6964. goto bail10
  6965. bail10:
  6966. ;
  6967. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  6968. goto bail9
  6969. bail9:
  6970. ;
  6971. k = int32(_FcMatchKindBegin)
  6972. for {
  6973. if !(k < int32(_FcMatchKindEnd)) {
  6974. break
  6975. }
  6976. if *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) != 0 {
  6977. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)))
  6978. }
  6979. goto _3
  6980. _3:
  6981. ;
  6982. k++
  6983. }
  6984. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  6985. goto bail8
  6986. bail8:
  6987. ;
  6988. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  6989. goto bail7
  6990. bail7:
  6991. ;
  6992. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  6993. goto bail6
  6994. bail6:
  6995. ;
  6996. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  6997. goto bail5
  6998. bail5:
  6999. ;
  7000. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  7001. goto bail4
  7002. bail4:
  7003. ;
  7004. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  7005. goto bail3
  7006. bail3:
  7007. ;
  7008. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  7009. goto bail2
  7010. bail2:
  7011. ;
  7012. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  7013. goto bail1_5
  7014. bail1_5:
  7015. ;
  7016. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  7017. goto bail1
  7018. bail1:
  7019. ;
  7020. libc.Xfree(tls, config)
  7021. goto bail0
  7022. bail0:
  7023. ;
  7024. return uintptr(0)
  7025. return r
  7026. }
  7027. func _FcConfigNewestFile(tls *libc.TLS, files uintptr) (r TFcFileTime) {
  7028. bp := tls.Alloc(144)
  7029. defer tls.Free(144)
  7030. var file, list, v1 uintptr
  7031. var newest TFcFileTime
  7032. var _ /* statb at bp+0 */ Tstat
  7033. _, _, _, _ = file, list, newest, v1
  7034. list = XFcStrListCreate(tls, files)
  7035. newest = TFcFileTime{}
  7036. if list != 0 {
  7037. for {
  7038. v1 = XFcStrListNext(tls, list)
  7039. file = v1
  7040. if !(v1 != 0) {
  7041. break
  7042. }
  7043. if XFcStat(tls, file, bp) == 0 {
  7044. if !(newest.Fset != 0) || (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec-newest.Ftime > 0 {
  7045. newest.Fset = int32(m_FcTrue)
  7046. newest.Ftime = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec
  7047. }
  7048. }
  7049. }
  7050. XFcStrListDone(tls, list)
  7051. }
  7052. return newest
  7053. }
  7054. func XFcConfigUptoDate(tls *libc.TLS, config uintptr) (r TFcBool) {
  7055. var config_dir_time, config_time, font_time TFcFileTime
  7056. var now Ttime_t
  7057. var ret TFcBool
  7058. _, _, _, _, _ = config_dir_time, config_time, font_time, now, ret
  7059. now = libc.Xtime(tls, uintptr(0))
  7060. ret = int32(m_FcTrue)
  7061. config = XFcConfigReference(tls, config)
  7062. if !(config != 0) {
  7063. return m_FcFalse
  7064. }
  7065. config_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  7066. config_dir_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  7067. font_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  7068. if config_time.Fset != 0 && config_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 || config_dir_time.Fset != 0 && config_dir_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 || font_time.Fset != 0 && font_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 {
  7069. /* We need to check for potential clock problems here (OLPC ticket #6046) */
  7070. if config_time.Fset != 0 && config_time.Ftime-now > 0 || config_dir_time.Fset != 0 && config_dir_time.Ftime-now > 0 || font_time.Fset != 0 && font_time.Ftime-now > 0 {
  7071. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+953, 0)
  7072. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  7073. goto bail
  7074. } else {
  7075. ret = m_FcFalse
  7076. goto bail
  7077. }
  7078. }
  7079. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  7080. goto bail
  7081. bail:
  7082. ;
  7083. XFcConfigDestroy(tls, config)
  7084. return ret
  7085. }
  7086. func XFcConfigAllocExpr(tls *libc.TLS, config uintptr) (r uintptr) {
  7087. var new_page, v1, v2 uintptr
  7088. _, _, _ = new_page, v1, v2
  7089. if !((*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool != 0) || (*TFcExprPage)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool)).Fnext == (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool+8176 {
  7090. new_page = libc.Xmalloc(tls, uint64(8176))
  7091. if !(new_page != 0) {
  7092. return uintptr(0)
  7093. }
  7094. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext_page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  7095. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext = new_page + 16
  7096. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = new_page
  7097. }
  7098. v2 = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool + 8
  7099. v1 = *(*uintptr)(unsafe.Pointer(v2))
  7100. *(*uintptr)(unsafe.Pointer(v2)) += 24
  7101. return v1
  7102. }
  7103. func XFcConfigReference(tls *libc.TLS, config uintptr) (r uintptr) {
  7104. var v1 int32
  7105. var p3, p5 uintptr
  7106. _, _, _ = v1, p3, p5
  7107. if !(config != 0) {
  7108. /* lock during obtaining the value from _fcConfig and count up refcount there,
  7109. * there are the race between them.
  7110. */
  7111. _lock_config(tls)
  7112. goto retry
  7113. retry:
  7114. ;
  7115. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  7116. if !(config != 0) {
  7117. _unlock_config(tls)
  7118. config = XFcInitLoadConfigAndFonts(tls)
  7119. if !(config != 0) {
  7120. goto retry
  7121. }
  7122. _lock_config(tls)
  7123. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  7124. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  7125. v1 = libc.Int32FromInt32(m_FcTrue)
  7126. } else {
  7127. v1 = m_FcFalse
  7128. }
  7129. if !(v1 != 0) {
  7130. XFcConfigDestroy(tls, config)
  7131. goto retry
  7132. }
  7133. }
  7134. p3 = config + 132
  7135. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  7136. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  7137. goto _2
  7138. _2:
  7139. ;
  7140. _unlock_config(tls)
  7141. } else {
  7142. p5 = config + 132
  7143. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += +libc.Int32FromInt32(1)
  7144. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - +libc.Int32FromInt32(1)
  7145. goto _4
  7146. _4:
  7147. }
  7148. return config
  7149. }
  7150. func XFcConfigDestroy(tls *libc.TLS, config uintptr) {
  7151. var k TFcMatchKind
  7152. var next, page, p3 uintptr
  7153. var set TFcSetName
  7154. var v1 int32
  7155. _, _, _, _, _, _ = k, next, page, set, v1, p3
  7156. p3 = config + 132
  7157. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  7158. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  7159. goto _2
  7160. _2:
  7161. if v1 != int32(1) {
  7162. return
  7163. }
  7164. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == config {
  7165. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  7166. _ = libc.Int32FromInt32(m_FcTrue)
  7167. }
  7168. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  7169. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  7170. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  7171. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  7172. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  7173. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  7174. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  7175. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  7176. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  7177. k = int32(_FcMatchKindBegin)
  7178. for {
  7179. if !(k < int32(_FcMatchKindEnd)) {
  7180. break
  7181. }
  7182. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)))
  7183. goto _5
  7184. _5:
  7185. ;
  7186. k++
  7187. }
  7188. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  7189. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles)
  7190. set = int32(_FcSetSystem)
  7191. for {
  7192. if !(set <= int32(_FcSetApplication)) {
  7193. break
  7194. }
  7195. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) != 0 {
  7196. XFcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)))
  7197. }
  7198. goto _6
  7199. _6:
  7200. ;
  7201. set++
  7202. }
  7203. page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  7204. for page != 0 {
  7205. next = (*TFcExprPage)(unsafe.Pointer(page)).Fnext_page
  7206. libc.Xfree(tls, page)
  7207. page = next
  7208. }
  7209. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  7210. XFcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  7211. }
  7212. libc.Xfree(tls, config)
  7213. }
  7214. /*
  7215. * Add cache to configuration, adding fonts and directories
  7216. */
  7217. func XFcConfigAddCache(tls *libc.TLS, config uintptr, cache uintptr, set TFcSetName, dirSet uintptr, forDir uintptr) (r TFcBool) {
  7218. bp := tls.Alloc(32)
  7219. defer tls.Free(32)
  7220. var base, dir, dirs, font, fs, relocated_font_file, s, slash, v2, v3, v5 uintptr
  7221. var i, nref int32
  7222. var relocated TFcBool
  7223. var _ /* font_file at bp+0 */ uintptr
  7224. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, font, fs, i, nref, relocated, relocated_font_file, s, slash, v2, v3, v5
  7225. relocated = m_FcFalse
  7226. if libc.Xstrcmp(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), forDir) != 0 {
  7227. relocated = int32(m_FcTrue)
  7228. }
  7229. /*
  7230. * Add fonts
  7231. */
  7232. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  7233. if fs != 0 {
  7234. nref = 0
  7235. i = 0
  7236. for {
  7237. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  7238. break
  7239. }
  7240. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  7241. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  7242. v3 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  7243. } else {
  7244. v3 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  7245. }
  7246. v2 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  7247. } else {
  7248. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  7249. }
  7250. font = v2
  7251. relocated_font_file = libc.UintptrFromInt32(0)
  7252. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) {
  7253. if relocated != 0 {
  7254. slash = XFcStrLastSlash(tls, *(*uintptr)(unsafe.Pointer(bp)))
  7255. relocated_font_file = XFcStrBuildFilename(tls, forDir, libc.VaList(bp+16, slash+uintptr(1), libc.UintptrFromInt32(0)))
  7256. *(*uintptr)(unsafe.Pointer(bp)) = relocated_font_file
  7257. }
  7258. /*
  7259. * Check to see if font is banned by filename
  7260. */
  7261. if !(XFcConfigAcceptFilename(tls, config, *(*uintptr)(unsafe.Pointer(bp))) != 0) {
  7262. libc.Xfree(tls, relocated_font_file)
  7263. goto _1
  7264. }
  7265. }
  7266. /*
  7267. * Check to see if font is banned by pattern
  7268. */
  7269. if !(XFcConfigAcceptFont(tls, config, font) != 0) {
  7270. libc.Xfree(tls, relocated_font_file)
  7271. goto _1
  7272. }
  7273. if relocated_font_file != 0 {
  7274. font = XFcPatternCacheRewriteFile(tls, font, cache, relocated_font_file)
  7275. libc.Xfree(tls, relocated_font_file)
  7276. }
  7277. if XFcFontSetAdd(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)), font) != 0 {
  7278. nref++
  7279. }
  7280. goto _1
  7281. _1:
  7282. ;
  7283. i++
  7284. }
  7285. XFcDirCacheReference(tls, cache, nref)
  7286. }
  7287. /*
  7288. * Add directories
  7289. */
  7290. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  7291. if dirs != 0 {
  7292. i = 0
  7293. for {
  7294. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  7295. break
  7296. }
  7297. dir = uintptr(int64(uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdirs)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdirs) + uintptr(i)*8)))
  7298. s = libc.UintptrFromInt32(0)
  7299. if relocated != 0 {
  7300. base = XFcStrBasename(tls, dir)
  7301. v5 = XFcStrBuildFilename(tls, forDir, libc.VaList(bp+16, base, libc.UintptrFromInt32(0)))
  7302. s = v5
  7303. dir = v5
  7304. XFcStrFree(tls, base)
  7305. }
  7306. if XFcConfigAcceptFilename(tls, config, dir) != 0 {
  7307. XFcStrSetAddFilename(tls, dirSet, dir)
  7308. }
  7309. if s != 0 {
  7310. XFcStrFree(tls, s)
  7311. }
  7312. goto _4
  7313. _4:
  7314. ;
  7315. i++
  7316. }
  7317. }
  7318. return int32(m_FcTrue)
  7319. }
  7320. func _FcConfigAddDirList(tls *libc.TLS, config uintptr, set TFcSetName, dirSet uintptr) (r TFcBool) {
  7321. bp := tls.Alloc(16)
  7322. defer tls.Free(16)
  7323. var cache, dir, dirlist, v1 uintptr
  7324. _, _, _, _ = cache, dir, dirlist, v1
  7325. dirlist = XFcStrListCreate(tls, dirSet)
  7326. if !(dirlist != 0) {
  7327. return m_FcFalse
  7328. }
  7329. for {
  7330. v1 = XFcStrListNext(tls, dirlist)
  7331. dir = v1
  7332. if !(v1 != 0) {
  7333. break
  7334. }
  7335. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  7336. libc.Xprintf(tls, __ccgo_ts+1041, libc.VaList(bp+8, dir))
  7337. }
  7338. cache = XFcDirCacheRead(tls, dir, m_FcFalse, config)
  7339. if !(cache != 0) {
  7340. continue
  7341. }
  7342. XFcConfigAddCache(tls, config, cache, set, dirSet, dir)
  7343. XFcDirCacheUnload(tls, cache)
  7344. }
  7345. XFcStrListDone(tls, dirlist)
  7346. return int32(m_FcTrue)
  7347. }
  7348. /*
  7349. * Scan the current list of directories in the configuration
  7350. * and build the set of available fonts.
  7351. */
  7352. func XFcConfigBuildFonts(tls *libc.TLS, config uintptr) (r TFcBool) {
  7353. var fonts uintptr
  7354. var ret TFcBool
  7355. _, _ = fonts, ret
  7356. ret = int32(m_FcTrue)
  7357. config = XFcConfigReference(tls, config)
  7358. if !(config != 0) {
  7359. return m_FcFalse
  7360. }
  7361. fonts = XFcFontSetCreate(tls)
  7362. if !(fonts != 0) {
  7363. ret = m_FcFalse
  7364. goto bail
  7365. }
  7366. XFcConfigSetFonts(tls, config, fonts, int32(_FcSetSystem))
  7367. if !(_FcConfigAddDirList(tls, config, int32(_FcSetSystem), (*TFcConfig)(unsafe.Pointer(config)).FfontDirs) != 0) {
  7368. ret = m_FcFalse
  7369. goto bail
  7370. }
  7371. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  7372. XFcFontSetPrint(tls, fonts)
  7373. }
  7374. goto bail
  7375. bail:
  7376. ;
  7377. XFcConfigDestroy(tls, config)
  7378. return ret
  7379. }
  7380. func XFcConfigSetCurrent(tls *libc.TLS, config uintptr) (r TFcBool) {
  7381. var cfg, p2 uintptr
  7382. var v3 int32
  7383. _, _, _ = cfg, v3, p2
  7384. if config != 0 {
  7385. if !(*(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0) {
  7386. if !(XFcConfigBuildFonts(tls, config) != 0) {
  7387. return m_FcFalse
  7388. }
  7389. }
  7390. p2 = config + 132
  7391. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  7392. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  7393. goto _1
  7394. _1:
  7395. }
  7396. _lock_config(tls)
  7397. goto retry
  7398. retry:
  7399. ;
  7400. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  7401. if config == cfg {
  7402. _unlock_config(tls)
  7403. if config != 0 {
  7404. XFcConfigDestroy(tls, config)
  7405. }
  7406. return int32(m_FcTrue)
  7407. }
  7408. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  7409. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  7410. v3 = libc.Int32FromInt32(m_FcTrue)
  7411. } else {
  7412. v3 = m_FcFalse
  7413. }
  7414. if !(v3 != 0) {
  7415. goto retry
  7416. }
  7417. _unlock_config(tls)
  7418. if cfg != 0 {
  7419. XFcConfigDestroy(tls, cfg)
  7420. }
  7421. return int32(m_FcTrue)
  7422. }
  7423. func XFcConfigGetCurrent(tls *libc.TLS) (r uintptr) {
  7424. return _FcConfigEnsure(tls)
  7425. }
  7426. func XFcConfigAddConfigDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  7427. return XFcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs, d)
  7428. }
  7429. func XFcConfigGetConfigDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  7430. var ret uintptr
  7431. _ = ret
  7432. config = XFcConfigReference(tls, config)
  7433. if !(config != 0) {
  7434. return libc.UintptrFromInt32(0)
  7435. }
  7436. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  7437. XFcConfigDestroy(tls, config)
  7438. return ret
  7439. }
  7440. func XFcConfigAddFontDir(tls *libc.TLS, config uintptr, d uintptr, m uintptr, salt uintptr) (r TFcBool) {
  7441. bp := tls.Alloc(48)
  7442. defer tls.Free(48)
  7443. var v1, v2, v3, v4, v5, v6 uintptr
  7444. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  7445. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  7446. if m != 0 {
  7447. if salt != 0 {
  7448. v1 = __ccgo_ts + 1063
  7449. } else {
  7450. v1 = __ccgo_ts + 110
  7451. }
  7452. if salt != 0 {
  7453. v2 = salt
  7454. } else {
  7455. v2 = __ccgo_ts + 110
  7456. }
  7457. if salt != 0 {
  7458. v3 = __ccgo_ts + 111
  7459. } else {
  7460. v3 = __ccgo_ts + 110
  7461. }
  7462. libc.Xprintf(tls, __ccgo_ts+1072, libc.VaList(bp+8, d, m, v1, v2, v3))
  7463. } else {
  7464. if salt != 0 {
  7465. if salt != 0 {
  7466. v4 = __ccgo_ts + 1063
  7467. } else {
  7468. v4 = __ccgo_ts + 110
  7469. }
  7470. if salt != 0 {
  7471. v5 = salt
  7472. } else {
  7473. v5 = __ccgo_ts + 110
  7474. }
  7475. if salt != 0 {
  7476. v6 = __ccgo_ts + 111
  7477. } else {
  7478. v6 = __ccgo_ts + 110
  7479. }
  7480. libc.Xprintf(tls, __ccgo_ts+1088, libc.VaList(bp+8, d, v4, v5, v6))
  7481. }
  7482. }
  7483. }
  7484. return XFcStrSetAddFilenamePairWithSalt(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs, d, m, salt)
  7485. }
  7486. func XFcConfigResetFontDirs(tls *libc.TLS, config uintptr) (r TFcBool) {
  7487. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  7488. libc.Xprintf(tls, __ccgo_ts+1098, 0)
  7489. }
  7490. return XFcStrSetDeleteAll(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  7491. }
  7492. func XFcConfigGetFontDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  7493. var ret uintptr
  7494. _ = ret
  7495. config = XFcConfigReference(tls, config)
  7496. if !(config != 0) {
  7497. return libc.UintptrFromInt32(0)
  7498. }
  7499. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  7500. XFcConfigDestroy(tls, config)
  7501. return ret
  7502. }
  7503. func _FcConfigPathStartsWith(tls *libc.TLS, path uintptr, start uintptr) (r TFcBool) {
  7504. var len1 int32
  7505. _ = len1
  7506. len1 = libc.Int32FromUint64(libc.Xstrlen(tls, start))
  7507. if libc.Xstrncmp(tls, path, start, libc.Uint64FromInt32(len1)) != 0 {
  7508. return m_FcFalse
  7509. }
  7510. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path + uintptr(len1)))) {
  7511. case int32('\000'):
  7512. fallthrough
  7513. case int32('/'):
  7514. return int32(m_FcTrue)
  7515. default:
  7516. return m_FcFalse
  7517. }
  7518. return r
  7519. }
  7520. func XFcConfigMapFontPath(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  7521. bp := tls.Alloc(32)
  7522. defer tls.Free(32)
  7523. var dir, list, map1, retval, rpath, v1 uintptr
  7524. var len1 Tsize_t
  7525. _, _, _, _, _, _, _ = dir, len1, list, map1, retval, rpath, v1
  7526. list = XFcConfigGetFontDirs(tls, config)
  7527. if !(list != 0) {
  7528. return uintptr(0)
  7529. }
  7530. for {
  7531. v1 = XFcStrListNext(tls, list)
  7532. dir = v1
  7533. if !(v1 != 0) {
  7534. break
  7535. }
  7536. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  7537. break
  7538. }
  7539. }
  7540. XFcStrListDone(tls, list)
  7541. if !(dir != 0) {
  7542. return uintptr(0)
  7543. }
  7544. map1 = XFcStrTripleSecond(tls, dir)
  7545. if !(map1 != 0) {
  7546. return uintptr(0)
  7547. }
  7548. rpath = path + uintptr(libc.Xstrlen(tls, dir))
  7549. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(rpath))) == int32('/') {
  7550. rpath++
  7551. }
  7552. retval = XFcStrBuildFilename(tls, map1, libc.VaList(bp+8, rpath, libc.UintptrFromInt32(0)))
  7553. if retval != 0 {
  7554. len1 = libc.Xstrlen(tls, retval)
  7555. for len1 > uint64(0) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1-uint64(1))))) == int32('/') {
  7556. len1--
  7557. }
  7558. /* trim the last slash */
  7559. *(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1))) = uint8(0)
  7560. }
  7561. return retval
  7562. }
  7563. func XFcConfigMapSalt(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  7564. var dir, list, v1 uintptr
  7565. _, _, _ = dir, list, v1
  7566. list = XFcConfigGetFontDirs(tls, config)
  7567. if !(list != 0) {
  7568. return libc.UintptrFromInt32(0)
  7569. }
  7570. for {
  7571. v1 = XFcStrListNext(tls, list)
  7572. dir = v1
  7573. if !(v1 != 0) {
  7574. break
  7575. }
  7576. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  7577. break
  7578. }
  7579. }
  7580. XFcStrListDone(tls, list)
  7581. if !(dir != 0) {
  7582. return libc.UintptrFromInt32(0)
  7583. }
  7584. return XFcStrTripleThird(tls, dir)
  7585. }
  7586. func XFcConfigAddCacheDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  7587. return XFcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs, d)
  7588. }
  7589. func XFcConfigGetCacheDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  7590. var ret uintptr
  7591. _ = ret
  7592. config = XFcConfigReference(tls, config)
  7593. if !(config != 0) {
  7594. return libc.UintptrFromInt32(0)
  7595. }
  7596. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  7597. XFcConfigDestroy(tls, config)
  7598. return ret
  7599. }
  7600. func XFcConfigAddConfigFile(tls *libc.TLS, config uintptr, f uintptr) (r TFcBool) {
  7601. var file uintptr
  7602. var ret TFcBool
  7603. _, _ = file, ret
  7604. file = XFcConfigGetFilename(tls, config, f)
  7605. if !(file != 0) {
  7606. return m_FcFalse
  7607. }
  7608. ret = XFcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, file)
  7609. XFcStrFree(tls, file)
  7610. return ret
  7611. }
  7612. func XFcConfigGetConfigFiles(tls *libc.TLS, config uintptr) (r uintptr) {
  7613. var ret uintptr
  7614. _ = ret
  7615. config = XFcConfigReference(tls, config)
  7616. if !(config != 0) {
  7617. return libc.UintptrFromInt32(0)
  7618. }
  7619. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  7620. XFcConfigDestroy(tls, config)
  7621. return ret
  7622. }
  7623. func XFcConfigGetCache(tls *libc.TLS, config uintptr) (r uintptr) {
  7624. return libc.UintptrFromInt32(0)
  7625. }
  7626. func XFcConfigGetFonts(tls *libc.TLS, config uintptr, set TFcSetName) (r uintptr) {
  7627. if !(config != 0) {
  7628. config = XFcConfigGetCurrent(tls)
  7629. if !(config != 0) {
  7630. return uintptr(0)
  7631. }
  7632. }
  7633. return *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8))
  7634. }
  7635. func XFcConfigSetFonts(tls *libc.TLS, config uintptr, fonts uintptr, set TFcSetName) {
  7636. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) != 0 {
  7637. XFcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)))
  7638. }
  7639. *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) = fonts
  7640. }
  7641. func XFcBlanksCreate(tls *libc.TLS) (r uintptr) {
  7642. /* Deprecated. */
  7643. return libc.UintptrFromInt32(0)
  7644. }
  7645. func XFcBlanksDestroy(tls *libc.TLS, b uintptr) {
  7646. /* Deprecated. */
  7647. }
  7648. func XFcBlanksAdd(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  7649. /* Deprecated. */
  7650. return m_FcFalse
  7651. }
  7652. func XFcBlanksIsMember(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  7653. /* Deprecated. */
  7654. return m_FcFalse
  7655. }
  7656. func XFcConfigGetBlanks(tls *libc.TLS, config uintptr) (r uintptr) {
  7657. /* Deprecated. */
  7658. return libc.UintptrFromInt32(0)
  7659. }
  7660. func XFcConfigAddBlank(tls *libc.TLS, config uintptr, blank TFcChar32) (r TFcBool) {
  7661. /* Deprecated. */
  7662. return m_FcFalse
  7663. }
  7664. func XFcConfigGetRescanInterval(tls *libc.TLS, config uintptr) (r int32) {
  7665. var ret int32
  7666. _ = ret
  7667. config = XFcConfigReference(tls, config)
  7668. if !(config != 0) {
  7669. return 0
  7670. }
  7671. ret = (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval
  7672. XFcConfigDestroy(tls, config)
  7673. return ret
  7674. }
  7675. func XFcConfigSetRescanInterval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  7676. config = XFcConfigReference(tls, config)
  7677. if !(config != 0) {
  7678. return m_FcFalse
  7679. }
  7680. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = rescanInterval
  7681. XFcConfigDestroy(tls, config)
  7682. return int32(m_FcTrue)
  7683. }
  7684. // C documentation
  7685. //
  7686. // /*
  7687. // * A couple of typos escaped into the library
  7688. // */
  7689. func XFcConfigGetRescanInverval(tls *libc.TLS, config uintptr) (r int32) {
  7690. return XFcConfigGetRescanInterval(tls, config)
  7691. }
  7692. func XFcConfigSetRescanInverval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  7693. return XFcConfigSetRescanInterval(tls, config, rescanInterval)
  7694. }
  7695. func XFcConfigAddRule(tls *libc.TLS, config uintptr, rule uintptr, kind TFcMatchKind) (r TFcBool) {
  7696. /* deprecated */
  7697. return m_FcFalse
  7698. }
  7699. func _FcConfigPromote(tls *libc.TLS, _v TFcValue, u TFcValue, buf uintptr) (r TFcValue) {
  7700. bp := tls.Alloc(16)
  7701. defer tls.Free(16)
  7702. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  7703. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  7704. case int32(_FcTypeInteger):
  7705. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  7706. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  7707. /* Fallthrough */
  7708. fallthrough
  7709. case int32(_FcTypeDouble):
  7710. if u.Ftype1 == int32(_FcTypeRange) && buf != 0 {
  7711. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangePromote(tls, *(*float64)(unsafe.Pointer(bp + 8)), buf)
  7712. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  7713. }
  7714. case int32(_FcTypeVoid):
  7715. if u.Ftype1 == int32(_FcTypeMatrix) {
  7716. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(unsafe.Pointer(&XFcIdentityMatrix))
  7717. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  7718. } else {
  7719. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  7720. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, libc.UintptrFromInt32(0), buf)
  7721. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  7722. } else {
  7723. if u.Ftype1 == int32(_FcTypeCharSet) && buf != 0 {
  7724. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetPromote(tls, buf)
  7725. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  7726. }
  7727. }
  7728. }
  7729. case int32(_FcTypeString):
  7730. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  7731. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), buf)
  7732. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  7733. }
  7734. default:
  7735. break
  7736. }
  7737. return *(*TFcValue)(unsafe.Pointer(bp))
  7738. }
  7739. func XFcConfigCompareValue(tls *libc.TLS, left_o uintptr, op_ uint32, right_o uintptr) (r7 TFcBool) {
  7740. bp := tls.Alloc(544)
  7741. defer tls.Free(544)
  7742. var flags, l, r int32
  7743. var l1, r1 float64
  7744. var l2, r2, ret TFcBool
  7745. var l3, l4, l5, l6, r3, r4, r5, r6, v1, v2, v3, v4, v5, v6, v7, v8 uintptr
  7746. var op TFcOp
  7747. var _ /* buf1 at bp+32 */ TFcValuePromotionBuffer
  7748. var _ /* buf2 at bp+288 */ TFcValuePromotionBuffer
  7749. var _ /* left at bp+0 */ TFcValue
  7750. var _ /* right at bp+16 */ TFcValue
  7751. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = flags, l, l1, l2, l3, l4, l5, l6, op, r, r1, r2, r3, r4, r5, r6, ret, v1, v2, v3, v4, v5, v6, v7, v8
  7752. ret = m_FcFalse
  7753. op = libc.Int32FromUint32(op_ & libc.Uint32FromInt32(0xffff))
  7754. flags = libc.Int32FromUint32(op_ & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  7755. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  7756. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, left_o)
  7757. *(*TFcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, right_o)
  7758. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp)), *(*TFcValue)(unsafe.Pointer(bp + 16)), bp+32)
  7759. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp)), bp+288)
  7760. left_o = bp
  7761. right_o = bp + 16
  7762. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  7763. if op == int32(_FcOpNotEqual) || op == int32(_FcOpNotContains) {
  7764. ret = int32(m_FcTrue)
  7765. }
  7766. return ret
  7767. }
  7768. }
  7769. switch (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 {
  7770. case int32(_FcTypeUnknown):
  7771. case int32(_FcTypeInteger):
  7772. l = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  7773. r = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  7774. switch op {
  7775. case int32(_FcOpEqual):
  7776. fallthrough
  7777. case int32(_FcOpContains):
  7778. fallthrough
  7779. case int32(_FcOpListing):
  7780. ret = libc.BoolInt32(l == r)
  7781. case int32(_FcOpNotEqual):
  7782. fallthrough
  7783. case int32(_FcOpNotContains):
  7784. ret = libc.BoolInt32(l != r)
  7785. case int32(_FcOpLess):
  7786. ret = libc.BoolInt32(l < r)
  7787. case int32(_FcOpLessEqual):
  7788. ret = libc.BoolInt32(l <= r)
  7789. case int32(_FcOpMore):
  7790. ret = libc.BoolInt32(l > r)
  7791. case int32(_FcOpMoreEqual):
  7792. ret = libc.BoolInt32(l >= r)
  7793. default:
  7794. break
  7795. }
  7796. case int32(_FcTypeDouble):
  7797. l1 = *(*float64)(unsafe.Pointer(left_o + 8))
  7798. r1 = *(*float64)(unsafe.Pointer(right_o + 8))
  7799. switch op {
  7800. case int32(_FcOpEqual):
  7801. fallthrough
  7802. case int32(_FcOpContains):
  7803. fallthrough
  7804. case int32(_FcOpListing):
  7805. ret = libc.BoolInt32(l1 == r1)
  7806. case int32(_FcOpNotEqual):
  7807. fallthrough
  7808. case int32(_FcOpNotContains):
  7809. ret = libc.BoolInt32(l1 != r1)
  7810. case int32(_FcOpLess):
  7811. ret = libc.BoolInt32(l1 < r1)
  7812. case int32(_FcOpLessEqual):
  7813. ret = libc.BoolInt32(l1 <= r1)
  7814. case int32(_FcOpMore):
  7815. ret = libc.BoolInt32(l1 > r1)
  7816. case int32(_FcOpMoreEqual):
  7817. ret = libc.BoolInt32(l1 >= r1)
  7818. default:
  7819. break
  7820. }
  7821. case int32(_FcTypeBool):
  7822. l2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  7823. r2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  7824. switch op {
  7825. case int32(_FcOpEqual):
  7826. ret = libc.BoolInt32(l2 == r2)
  7827. case int32(_FcOpContains):
  7828. fallthrough
  7829. case int32(_FcOpListing):
  7830. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  7831. case int32(_FcOpNotEqual):
  7832. ret = libc.BoolInt32(l2 != r2)
  7833. case int32(_FcOpNotContains):
  7834. ret = libc.BoolInt32(!(l2 == r2 || l2 >= int32(m_FcDontCare)))
  7835. case int32(_FcOpLess):
  7836. ret = libc.BoolInt32(l2 != r2 && r2 >= int32(m_FcDontCare))
  7837. case int32(_FcOpLessEqual):
  7838. ret = libc.BoolInt32(l2 == r2 || r2 >= int32(m_FcDontCare))
  7839. case int32(_FcOpMore):
  7840. ret = libc.BoolInt32(l2 != r2 && l2 >= int32(m_FcDontCare))
  7841. case int32(_FcOpMoreEqual):
  7842. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  7843. default:
  7844. break
  7845. }
  7846. case int32(_FcTypeString):
  7847. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7848. v1 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7849. } else {
  7850. v1 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7851. }
  7852. l3 = v1
  7853. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7854. v2 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7855. } else {
  7856. v2 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7857. }
  7858. r3 = v2
  7859. switch op {
  7860. case int32(_FcOpEqual):
  7861. fallthrough
  7862. case int32(_FcOpListing):
  7863. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  7864. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) == 0)
  7865. } else {
  7866. ret = libc.BoolInt32(XFcStrCmpIgnoreCase(tls, l3, r3) == 0)
  7867. }
  7868. case int32(_FcOpContains):
  7869. ret = libc.BoolInt32(XFcStrStrIgnoreCase(tls, l3, r3) != uintptr(0))
  7870. case int32(_FcOpNotEqual):
  7871. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  7872. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) != 0)
  7873. } else {
  7874. ret = libc.BoolInt32(XFcStrCmpIgnoreCase(tls, l3, r3) != 0)
  7875. }
  7876. case int32(_FcOpNotContains):
  7877. ret = libc.BoolInt32(XFcStrStrIgnoreCase(tls, l3, r3) == uintptr(0))
  7878. default:
  7879. break
  7880. }
  7881. case int32(_FcTypeMatrix):
  7882. switch op {
  7883. case int32(_FcOpEqual):
  7884. fallthrough
  7885. case int32(_FcOpContains):
  7886. fallthrough
  7887. case int32(_FcOpListing):
  7888. ret = XFcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(left_o + 8)), *(*uintptr)(unsafe.Pointer(right_o + 8)))
  7889. case int32(_FcOpNotEqual):
  7890. fallthrough
  7891. case int32(_FcOpNotContains):
  7892. ret = libc.BoolInt32(!(XFcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(left_o + 8)), *(*uintptr)(unsafe.Pointer(right_o + 8))) != 0))
  7893. default:
  7894. break
  7895. }
  7896. case int32(_FcTypeCharSet):
  7897. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7898. v3 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7899. } else {
  7900. v3 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7901. }
  7902. l4 = v3
  7903. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7904. v4 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7905. } else {
  7906. v4 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7907. }
  7908. r4 = v4
  7909. switch op {
  7910. case int32(_FcOpContains):
  7911. fallthrough
  7912. case int32(_FcOpListing):
  7913. /* left contains right if right is a subset of left */
  7914. ret = XFcCharSetIsSubset(tls, r4, l4)
  7915. case int32(_FcOpNotContains):
  7916. /* left contains right if right is a subset of left */
  7917. ret = libc.BoolInt32(!(XFcCharSetIsSubset(tls, r4, l4) != 0))
  7918. case int32(_FcOpEqual):
  7919. ret = XFcCharSetEqual(tls, l4, r4)
  7920. case int32(_FcOpNotEqual):
  7921. ret = libc.BoolInt32(!(XFcCharSetEqual(tls, l4, r4) != 0))
  7922. default:
  7923. break
  7924. }
  7925. case int32(_FcTypeLangSet):
  7926. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7927. v5 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7928. } else {
  7929. v5 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7930. }
  7931. l5 = v5
  7932. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7933. v6 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7934. } else {
  7935. v6 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7936. }
  7937. r5 = v6
  7938. switch op {
  7939. case int32(_FcOpContains):
  7940. fallthrough
  7941. case int32(_FcOpListing):
  7942. ret = XFcLangSetContains(tls, l5, r5)
  7943. case int32(_FcOpNotContains):
  7944. ret = libc.BoolInt32(!(XFcLangSetContains(tls, l5, r5) != 0))
  7945. case int32(_FcOpEqual):
  7946. ret = XFcLangSetEqual(tls, l5, r5)
  7947. case int32(_FcOpNotEqual):
  7948. ret = libc.BoolInt32(!(XFcLangSetEqual(tls, l5, r5) != 0))
  7949. default:
  7950. break
  7951. }
  7952. case int32(_FcTypeVoid):
  7953. switch op {
  7954. case int32(_FcOpEqual):
  7955. fallthrough
  7956. case int32(_FcOpContains):
  7957. fallthrough
  7958. case int32(_FcOpListing):
  7959. ret = int32(m_FcTrue)
  7960. default:
  7961. break
  7962. }
  7963. case int32(_FcTypeFTFace):
  7964. switch op {
  7965. case int32(_FcOpEqual):
  7966. fallthrough
  7967. case int32(_FcOpContains):
  7968. fallthrough
  7969. case int32(_FcOpListing):
  7970. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(left_o + 8)) == *(*uintptr)(unsafe.Pointer(right_o + 8)))
  7971. case int32(_FcOpNotEqual):
  7972. fallthrough
  7973. case int32(_FcOpNotContains):
  7974. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(left_o + 8)) != *(*uintptr)(unsafe.Pointer(right_o + 8)))
  7975. default:
  7976. break
  7977. }
  7978. case int32(_FcTypeRange):
  7979. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7980. v7 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7981. } else {
  7982. v7 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7983. }
  7984. l6 = v7
  7985. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7986. v8 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7987. } else {
  7988. v8 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7989. }
  7990. r6 = v8
  7991. ret = XFcRangeCompare(tls, op, l6, r6)
  7992. break
  7993. }
  7994. return ret
  7995. }
  7996. func _FcConfigEvaluate(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr) (r TFcValue) {
  7997. bp := tls.Alloc(688)
  7998. defer tls.Free(688)
  7999. var m, str uintptr
  8000. var op TFcOp
  8001. var v1, v2, v3, v4, v5, v6, v7 int32
  8002. var _ /* buf1 at bp+80 */ TFcValuePromotionBuffer
  8003. var _ /* buf2 at bp+336 */ TFcValuePromotionBuffer
  8004. var _ /* m at bp+592 */ TFcMatrix
  8005. var _ /* v at bp+0 */ TFcValue
  8006. var _ /* vl at bp+16 */ TFcValue
  8007. var _ /* vle at bp+48 */ TFcValue
  8008. var _ /* vr at bp+32 */ TFcValue
  8009. var _ /* vre at bp+64 */ TFcValue
  8010. var _ /* xx at bp+624 */ TFcValue
  8011. var _ /* xy at bp+640 */ TFcValue
  8012. var _ /* yx at bp+656 */ TFcValue
  8013. var _ /* yy at bp+672 */ TFcValue
  8014. _, _, _, _, _, _, _, _, _, _ = m, op, str, v1, v2, v3, v4, v5, v6, v7
  8015. op = (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff)
  8016. switch op {
  8017. case int32(_FcOpInteger):
  8018. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8019. *(*int32)(unsafe.Pointer(bp + 8)) = (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival
  8020. case int32(_FcOpDouble):
  8021. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  8022. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  8023. case int32(_FcOpString):
  8024. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  8025. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  8026. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  8027. case int32(_FcOpMatrix):
  8028. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  8029. *(*TFcValue)(unsafe.Pointer(bp + 624)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fxx), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  8030. *(*TFcValue)(unsafe.Pointer(bp + 640)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fxy), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  8031. *(*TFcValue)(unsafe.Pointer(bp + 656)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fyx), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  8032. *(*TFcValue)(unsafe.Pointer(bp + 672)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fyy), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  8033. if (*(*TFcValue)(unsafe.Pointer(bp + 624))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 640))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 656))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 672))).Ftype1 == int32(_FcTypeDouble) {
  8034. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxx = *(*float64)(unsafe.Pointer(bp + 624 + 8))
  8035. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxy = *(*float64)(unsafe.Pointer(bp + 640 + 8))
  8036. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyx = *(*float64)(unsafe.Pointer(bp + 656 + 8))
  8037. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyy = *(*float64)(unsafe.Pointer(bp + 672 + 8))
  8038. *(*uintptr)(unsafe.Pointer(bp + 8)) = bp + 592
  8039. } else {
  8040. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8041. }
  8042. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  8043. case int32(_FcOpCharSet):
  8044. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  8045. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  8046. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  8047. case int32(_FcOpLangSet):
  8048. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  8049. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  8050. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  8051. case int32(_FcOpRange):
  8052. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  8053. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  8054. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  8055. case int32(_FcOpBool):
  8056. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  8057. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  8058. case int32(_FcOpField):
  8059. if kind == int32(_FcMatchFont) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchPattern) {
  8060. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p_pat, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  8061. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8062. }
  8063. } else {
  8064. if kind == int32(_FcMatchPattern) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchFont) {
  8065. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1123, 0)
  8066. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8067. } else {
  8068. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  8069. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8070. }
  8071. }
  8072. }
  8073. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  8074. case int32(_FcOpConst):
  8075. if XFcNameConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)), bp+8) != 0 {
  8076. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8077. } else {
  8078. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8079. }
  8080. case int32(_FcOpQuest):
  8081. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8082. Fleft uintptr
  8083. Fright uintptr
  8084. })(unsafe.Pointer(e + 8))).Fleft)
  8085. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeBool) {
  8086. if *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0 {
  8087. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8088. Fleft uintptr
  8089. Fright uintptr
  8090. })(unsafe.Pointer((*(*struct {
  8091. Fleft uintptr
  8092. Fright uintptr
  8093. })(unsafe.Pointer(e + 8))).Fright + 8))).Fleft)
  8094. } else {
  8095. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8096. Fleft uintptr
  8097. Fright uintptr
  8098. })(unsafe.Pointer((*(*struct {
  8099. Fleft uintptr
  8100. Fright uintptr
  8101. })(unsafe.Pointer(e + 8))).Fright + 8))).Fright)
  8102. }
  8103. } else {
  8104. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8105. }
  8106. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8107. case int32(_FcOpEqual):
  8108. fallthrough
  8109. case int32(_FcOpNotEqual):
  8110. fallthrough
  8111. case int32(_FcOpLess):
  8112. fallthrough
  8113. case int32(_FcOpLessEqual):
  8114. fallthrough
  8115. case int32(_FcOpMore):
  8116. fallthrough
  8117. case int32(_FcOpMoreEqual):
  8118. fallthrough
  8119. case int32(_FcOpContains):
  8120. fallthrough
  8121. case int32(_FcOpNotContains):
  8122. fallthrough
  8123. case int32(_FcOpListing):
  8124. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8125. Fleft uintptr
  8126. Fright uintptr
  8127. })(unsafe.Pointer(e + 8))).Fleft)
  8128. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8129. Fleft uintptr
  8130. Fright uintptr
  8131. })(unsafe.Pointer(e + 8))).Fright)
  8132. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  8133. *(*TFcBool)(unsafe.Pointer(bp + 8)) = XFcConfigCompareValue(tls, bp+16, libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(e)).Fop), bp+32)
  8134. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8135. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  8136. case int32(_FcOpOr):
  8137. fallthrough
  8138. case int32(_FcOpAnd):
  8139. fallthrough
  8140. case int32(_FcOpPlus):
  8141. fallthrough
  8142. case int32(_FcOpMinus):
  8143. fallthrough
  8144. case int32(_FcOpTimes):
  8145. fallthrough
  8146. case int32(_FcOpDivide):
  8147. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8148. Fleft uintptr
  8149. Fright uintptr
  8150. })(unsafe.Pointer(e + 8))).Fleft)
  8151. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8152. Fleft uintptr
  8153. Fright uintptr
  8154. })(unsafe.Pointer(e + 8))).Fright)
  8155. *(*TFcValue)(unsafe.Pointer(bp + 48)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp + 32)), bp+80)
  8156. *(*TFcValue)(unsafe.Pointer(bp + 64)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)), *(*TFcValue)(unsafe.Pointer(bp + 48)), bp+336)
  8157. if (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 == (*(*TFcValue)(unsafe.Pointer(bp + 64))).Ftype1 {
  8158. switch (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 {
  8159. case int32(_FcTypeDouble):
  8160. switch op {
  8161. case int32(_FcOpPlus):
  8162. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  8163. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) + *(*float64)(unsafe.Pointer(bp + 64 + 8))
  8164. case int32(_FcOpMinus):
  8165. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  8166. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) - *(*float64)(unsafe.Pointer(bp + 64 + 8))
  8167. case int32(_FcOpTimes):
  8168. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  8169. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) * *(*float64)(unsafe.Pointer(bp + 64 + 8))
  8170. case int32(_FcOpDivide):
  8171. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  8172. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) / *(*float64)(unsafe.Pointer(bp + 64 + 8))
  8173. default:
  8174. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8175. break
  8176. }
  8177. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeDouble) && *(*float64)(unsafe.Pointer(bp + 8)) == float64(int32(*(*float64)(unsafe.Pointer(bp + 8)))) {
  8178. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8179. *(*int32)(unsafe.Pointer(bp + 8)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  8180. }
  8181. case int32(_FcTypeBool):
  8182. switch op {
  8183. case int32(_FcOpOr):
  8184. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  8185. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 || *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  8186. case int32(_FcOpAnd):
  8187. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  8188. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 && *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  8189. default:
  8190. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8191. break
  8192. }
  8193. case int32(_FcTypeString):
  8194. switch op {
  8195. case int32(_FcOpPlus):
  8196. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  8197. str = XFcStrPlus(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8198. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, str)
  8199. XFcStrFree(tls, str)
  8200. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  8201. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8202. }
  8203. default:
  8204. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8205. break
  8206. }
  8207. case int32(_FcTypeMatrix):
  8208. switch op {
  8209. case int32(_FcOpTimes):
  8210. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  8211. m = libc.Xmalloc(tls, uint64(32))
  8212. if m != 0 {
  8213. XFcMatrixMultiply(tls, m, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8214. *(*uintptr)(unsafe.Pointer(bp + 8)) = m
  8215. } else {
  8216. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8217. }
  8218. default:
  8219. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8220. break
  8221. }
  8222. case int32(_FcTypeCharSet):
  8223. switch op {
  8224. case int32(_FcOpPlus):
  8225. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  8226. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8227. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  8228. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8229. }
  8230. case int32(_FcOpMinus):
  8231. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  8232. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8233. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  8234. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8235. }
  8236. default:
  8237. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8238. break
  8239. }
  8240. case int32(_FcTypeLangSet):
  8241. switch op {
  8242. case int32(_FcOpPlus):
  8243. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  8244. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8245. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  8246. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8247. }
  8248. case int32(_FcOpMinus):
  8249. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  8250. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8251. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  8252. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8253. }
  8254. default:
  8255. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8256. break
  8257. }
  8258. default:
  8259. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8260. break
  8261. }
  8262. } else {
  8263. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8264. }
  8265. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8266. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  8267. case int32(_FcOpNot):
  8268. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8269. Fleft uintptr
  8270. Fright uintptr
  8271. })(unsafe.Pointer(e + 8))).Fleft)
  8272. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  8273. case int32(_FcTypeBool):
  8274. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  8275. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(!(*(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0))
  8276. default:
  8277. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8278. break
  8279. }
  8280. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8281. case int32(_FcOpFloor):
  8282. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8283. Fleft uintptr
  8284. Fright uintptr
  8285. })(unsafe.Pointer(e + 8))).Fleft)
  8286. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  8287. case int32(_FcTypeInteger):
  8288. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  8289. case int32(_FcTypeDouble):
  8290. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8291. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  8292. v1 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8293. } else {
  8294. if float64(int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == -*(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  8295. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8296. } else {
  8297. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  8298. }
  8299. v1 = -v2
  8300. }
  8301. *(*int32)(unsafe.Pointer(bp + 8)) = v1
  8302. default:
  8303. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8304. break
  8305. }
  8306. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8307. case int32(_FcOpCeil):
  8308. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8309. Fleft uintptr
  8310. Fright uintptr
  8311. })(unsafe.Pointer(e + 8))).Fleft)
  8312. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  8313. case int32(_FcTypeInteger):
  8314. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  8315. case int32(_FcTypeDouble):
  8316. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8317. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  8318. if float64(int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == *(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  8319. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8320. } else {
  8321. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  8322. }
  8323. v3 = v4
  8324. } else {
  8325. v3 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8326. }
  8327. *(*int32)(unsafe.Pointer(bp + 8)) = v3
  8328. default:
  8329. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8330. break
  8331. }
  8332. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8333. case int32(_FcOpRound):
  8334. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8335. Fleft uintptr
  8336. Fright uintptr
  8337. })(unsafe.Pointer(e + 8))).Fleft)
  8338. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  8339. case int32(_FcTypeInteger):
  8340. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  8341. case int32(_FcTypeDouble):
  8342. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8343. if *(*float64)(unsafe.Pointer(bp + 16 + 8))+float64(0.5) >= libc.Float64FromInt32(0) {
  8344. v5 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5))
  8345. } else {
  8346. if float64(int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))) == -(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) {
  8347. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))
  8348. } else {
  8349. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) + libc.Float64FromInt32(1))
  8350. }
  8351. v5 = -v6
  8352. }
  8353. *(*int32)(unsafe.Pointer(bp + 8)) = v5
  8354. default:
  8355. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8356. break
  8357. }
  8358. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8359. case int32(_FcOpTrunc):
  8360. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8361. Fleft uintptr
  8362. Fright uintptr
  8363. })(unsafe.Pointer(e + 8))).Fleft)
  8364. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  8365. case int32(_FcTypeInteger):
  8366. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  8367. case int32(_FcTypeDouble):
  8368. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8369. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  8370. v7 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8371. } else {
  8372. v7 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8373. }
  8374. *(*int32)(unsafe.Pointer(bp + 8)) = v7
  8375. default:
  8376. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8377. break
  8378. }
  8379. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8380. default:
  8381. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8382. break
  8383. }
  8384. return *(*TFcValue)(unsafe.Pointer(bp))
  8385. }
  8386. // C documentation
  8387. //
  8388. // /* The bulk of the time in FcConfigSubstitute is spent walking
  8389. // * lists of family names. We speed this up with a hash table.
  8390. // * Since we need to take the ignore-blanks option into account,
  8391. // * we use two separate hash tables.
  8392. // */
  8393. type TFamilyTableEntry = struct {
  8394. Fcount int32
  8395. }
  8396. type TFamilyTable = struct {
  8397. Ffamily_blank_hash uintptr
  8398. Ffamily_hash uintptr
  8399. }
  8400. func _FamilyTableLookup(tls *libc.TLS, table uintptr, _op TFcOp, s uintptr) (r TFcBool) {
  8401. bp := tls.Alloc(16)
  8402. defer tls.Free(16)
  8403. var flags int32
  8404. var hash uintptr
  8405. var _ /* fe at bp+0 */ uintptr
  8406. _, _ = flags, hash
  8407. flags = libc.Int32FromUint32(libc.Uint32FromInt32(_op) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  8408. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  8409. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash
  8410. } else {
  8411. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash
  8412. }
  8413. return XFcHashTableFind(tls, hash, s, bp)
  8414. }
  8415. func _FamilyTableAdd(tls *libc.TLS, table uintptr, values TFcValueListPtr) {
  8416. bp := tls.Alloc(16)
  8417. defer tls.Free(16)
  8418. var ll TFcValueListPtr
  8419. var s, v2, v3 uintptr
  8420. var _ /* fe at bp+0 */ uintptr
  8421. _, _, _, _ = ll, s, v2, v3
  8422. ll = values
  8423. for {
  8424. if !(ll != 0) {
  8425. break
  8426. }
  8427. if int64(*(*uintptr)(unsafe.Pointer(ll + 8 + 8)))&int64(1) != 0 {
  8428. v2 = uintptr(Tintptr_t(ll+8) + int64(*(*uintptr)(unsafe.Pointer(ll + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  8429. } else {
  8430. v2 = *(*uintptr)(unsafe.Pointer(ll + 8 + 8))
  8431. }
  8432. s = v2
  8433. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0) {
  8434. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(4))
  8435. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  8436. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  8437. }
  8438. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  8439. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0) {
  8440. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(4))
  8441. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  8442. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  8443. }
  8444. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  8445. goto _1
  8446. _1:
  8447. ;
  8448. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  8449. v3 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8450. } else {
  8451. v3 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  8452. }
  8453. ll = v3
  8454. }
  8455. }
  8456. func _FamilyTableDel(tls *libc.TLS, table uintptr, s uintptr) {
  8457. bp := tls.Alloc(16)
  8458. defer tls.Free(16)
  8459. var _ /* fe at bp+0 */ uintptr
  8460. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0 {
  8461. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  8462. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  8463. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s)
  8464. }
  8465. }
  8466. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0 {
  8467. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  8468. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  8469. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s)
  8470. }
  8471. }
  8472. }
  8473. func _copy_string(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  8474. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  8475. return int32(m_FcTrue)
  8476. }
  8477. func _FamilyTableInit(tls *libc.TLS, table uintptr, p uintptr) {
  8478. var e, v1 uintptr
  8479. _, _ = e, v1
  8480. (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreBlanksAndCase), __ccgo_fp(XFcStrCmpIgnoreBlanksAndCase), __ccgo_fp(_copy_string), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree), __ccgo_fp(libc.Xfree))
  8481. (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreCase), __ccgo_fp(XFcStrCmpIgnoreCase), __ccgo_fp(_copy_string), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree), __ccgo_fp(libc.Xfree))
  8482. e = XFcPatternObjectFindElt(tls, p, int32(_FC_FAMILY_OBJECT))
  8483. if e != 0 {
  8484. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  8485. v1 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  8486. } else {
  8487. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  8488. }
  8489. _FamilyTableAdd(tls, table, v1)
  8490. }
  8491. }
  8492. func _FamilyTableClear(tls *libc.TLS, table uintptr) {
  8493. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash != 0 {
  8494. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash)
  8495. }
  8496. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash != 0 {
  8497. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash)
  8498. }
  8499. }
  8500. func _FcConfigMatchValueList(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, t uintptr, values uintptr, table uintptr) (r uintptr) {
  8501. bp := tls.Alloc(16)
  8502. defer tls.Free(16)
  8503. var e, ret, v, v1, v2, v4 uintptr
  8504. var op TFcOp
  8505. var _ /* value at bp+0 */ TFcValue
  8506. _, _, _, _, _, _, _ = e, op, ret, v, v1, v2, v4
  8507. ret = uintptr(0)
  8508. e = (*TFcTest)(unsafe.Pointer(t)).Fexpr
  8509. for e != 0 {
  8510. /* Compute the value of the match expression */
  8511. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  8512. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8513. Fleft uintptr
  8514. Fright uintptr
  8515. })(unsafe.Pointer(e + 8))).Fleft)
  8516. e = (*(*struct {
  8517. Fleft uintptr
  8518. Fright uintptr
  8519. })(unsafe.Pointer(e + 8))).Fright
  8520. } else {
  8521. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  8522. e = uintptr(0)
  8523. }
  8524. if (*TFcTest)(unsafe.Pointer(t)).Fobject == int32(_FC_FAMILY_OBJECT) && table != 0 {
  8525. op = (*TFcTest)(unsafe.Pointer(t)).Fop & libc.Int32FromInt32(0xffff)
  8526. if op == int32(_FcOpEqual) || op == int32(_FcOpListing) {
  8527. if int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(1) != 0 {
  8528. v1 = uintptr(Tintptr_t(bp) + int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(^libc.Int32FromInt32(1)))
  8529. } else {
  8530. v1 = *(*uintptr)(unsafe.Pointer(bp + 8))
  8531. }
  8532. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v1) != 0) {
  8533. ret = uintptr(0)
  8534. goto done
  8535. }
  8536. }
  8537. if op == int32(_FcOpNotEqual) && (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  8538. ret = uintptr(0)
  8539. if int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(1) != 0 {
  8540. v2 = uintptr(Tintptr_t(bp) + int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(^libc.Int32FromInt32(1)))
  8541. } else {
  8542. v2 = *(*uintptr)(unsafe.Pointer(bp + 8))
  8543. }
  8544. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v2) != 0) {
  8545. ret = values
  8546. }
  8547. goto done
  8548. }
  8549. }
  8550. v = values
  8551. for {
  8552. if !(v != 0) {
  8553. break
  8554. }
  8555. /* Compare the pattern value to the match expression value */
  8556. if XFcConfigCompareValue(tls, v+8, libc.Uint32FromInt32((*TFcTest)(unsafe.Pointer(t)).Fop), bp) != 0 {
  8557. if !(ret != 0) {
  8558. ret = v
  8559. }
  8560. if (*TFcTest)(unsafe.Pointer(t)).Fqual != int32(_FcQualAll) {
  8561. break
  8562. }
  8563. } else {
  8564. if (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  8565. ret = uintptr(0)
  8566. break
  8567. }
  8568. }
  8569. goto _3
  8570. _3:
  8571. ;
  8572. if int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  8573. v4 = uintptr(int64(v) + int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8574. } else {
  8575. v4 = (*TFcValueList)(unsafe.Pointer(v)).Fnext
  8576. }
  8577. v = v4
  8578. }
  8579. goto done
  8580. done:
  8581. ;
  8582. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  8583. }
  8584. return ret
  8585. }
  8586. func _FcConfigValues(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr, binding TFcValueBinding) (r uintptr) {
  8587. var l, next, v1 uintptr
  8588. _, _, _ = l, next, v1
  8589. if !(e != 0) {
  8590. return uintptr(0)
  8591. }
  8592. l = libc.Xmalloc(tls, uint64(32))
  8593. if !(l != 0) {
  8594. return uintptr(0)
  8595. }
  8596. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  8597. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8598. Fleft uintptr
  8599. Fright uintptr
  8600. })(unsafe.Pointer(e + 8))).Fleft)
  8601. (*TFcValueList)(unsafe.Pointer(l)).Fnext = _FcConfigValues(tls, p, p_pat, kind, (*(*struct {
  8602. Fleft uintptr
  8603. Fright uintptr
  8604. })(unsafe.Pointer(e + 8))).Fright, binding)
  8605. } else {
  8606. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  8607. (*TFcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  8608. }
  8609. (*TFcValueList)(unsafe.Pointer(l)).Fbinding = binding
  8610. if (*TFcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  8611. if int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  8612. v1 = uintptr(int64(l) + int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8613. } else {
  8614. v1 = (*TFcValueList)(unsafe.Pointer(l)).Fnext
  8615. }
  8616. next = v1
  8617. libc.Xfree(tls, l)
  8618. l = next
  8619. }
  8620. return l
  8621. }
  8622. func _FcConfigAdd(tls *libc.TLS, head uintptr, position uintptr, append1 TFcBool, new1 uintptr, object TFcObject, table uintptr) (r TFcBool) {
  8623. bp := tls.Alloc(16)
  8624. defer tls.Free(16)
  8625. var l, last, v TFcValueListPtr
  8626. var prev, v2, v4, v7, v8 uintptr
  8627. var sameBinding TFcValueBinding
  8628. _, _, _, _, _, _, _, _, _ = l, last, prev, sameBinding, v, v2, v4, v7, v8
  8629. /*
  8630. * Make sure the stored type is valid for built-in objects
  8631. */
  8632. l = new1
  8633. for {
  8634. if !(l != libc.UintptrFromInt32(0)) {
  8635. break
  8636. }
  8637. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  8638. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1204, libc.VaList(bp+8, XFcObjectName(tls, object)))
  8639. XFcValuePrintFile(tls, libc.X__stderrp, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  8640. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  8641. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8642. libc.Xprintf(tls, __ccgo_ts+1268, 0)
  8643. }
  8644. return m_FcFalse
  8645. }
  8646. goto _1
  8647. _1:
  8648. ;
  8649. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  8650. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8651. } else {
  8652. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  8653. }
  8654. l = v2
  8655. }
  8656. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  8657. _FamilyTableAdd(tls, table, new1)
  8658. }
  8659. if position != 0 {
  8660. sameBinding = (*TFcValueList)(unsafe.Pointer(position)).Fbinding
  8661. } else {
  8662. sameBinding = int32(_FcValueBindingWeak)
  8663. }
  8664. v = new1
  8665. for {
  8666. if !(v != libc.UintptrFromInt32(0)) {
  8667. break
  8668. }
  8669. if (*T_FcValueList)(unsafe.Pointer(v)).Fbinding == int32(_FcValueBindingSame) {
  8670. (*T_FcValueList)(unsafe.Pointer(v)).Fbinding = sameBinding
  8671. }
  8672. goto _3
  8673. _3:
  8674. ;
  8675. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  8676. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8677. } else {
  8678. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  8679. }
  8680. v = v4
  8681. }
  8682. if append1 != 0 {
  8683. if position != 0 {
  8684. prev = position
  8685. } else {
  8686. prev = head
  8687. for {
  8688. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  8689. break
  8690. }
  8691. goto _5
  8692. _5:
  8693. ;
  8694. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8695. }
  8696. }
  8697. } else {
  8698. if position != 0 {
  8699. prev = head
  8700. for {
  8701. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  8702. break
  8703. }
  8704. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  8705. break
  8706. }
  8707. goto _6
  8708. _6:
  8709. ;
  8710. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8711. }
  8712. } else {
  8713. prev = head
  8714. }
  8715. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8716. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == libc.UintptrFromInt32(0) {
  8717. libc.Xprintf(tls, __ccgo_ts+1280, 0)
  8718. }
  8719. }
  8720. }
  8721. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8722. if append1 != 0 {
  8723. v7 = __ccgo_ts + 1302
  8724. } else {
  8725. v7 = __ccgo_ts + 1309
  8726. }
  8727. libc.Xprintf(tls, __ccgo_ts+1317, libc.VaList(bp+8, v7))
  8728. XFcValueListPrintWithPosition(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)), *(*TFcValueListPtr)(unsafe.Pointer(prev)))
  8729. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  8730. }
  8731. if new1 != 0 {
  8732. last = new1
  8733. for (*T_FcValueList)(unsafe.Pointer(last)).Fnext != libc.UintptrFromInt32(0) {
  8734. last = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  8735. }
  8736. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8737. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  8738. }
  8739. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8740. if append1 != 0 {
  8741. v8 = __ccgo_ts + 1302
  8742. } else {
  8743. v8 = __ccgo_ts + 1309
  8744. }
  8745. libc.Xprintf(tls, __ccgo_ts+1333, libc.VaList(bp+8, v8))
  8746. XFcValueListPrint(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)))
  8747. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  8748. }
  8749. return int32(m_FcTrue)
  8750. }
  8751. func _FcConfigDel(tls *libc.TLS, head uintptr, position uintptr, object TFcObject, table uintptr) {
  8752. var prev, v1 uintptr
  8753. _, _ = prev, v1
  8754. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  8755. if int64(*(*uintptr)(unsafe.Pointer(position + 8 + 8)))&int64(1) != 0 {
  8756. v1 = uintptr(Tintptr_t(position+8) + int64(*(*uintptr)(unsafe.Pointer(position + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  8757. } else {
  8758. v1 = *(*uintptr)(unsafe.Pointer(position + 8 + 8))
  8759. }
  8760. _FamilyTableDel(tls, table, v1)
  8761. }
  8762. prev = head
  8763. for {
  8764. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  8765. break
  8766. }
  8767. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  8768. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcValueList)(unsafe.Pointer(position)).Fnext
  8769. (*TFcValueList)(unsafe.Pointer(position)).Fnext = libc.UintptrFromInt32(0)
  8770. XFcValueListDestroy(tls, position)
  8771. break
  8772. }
  8773. goto _2
  8774. _2:
  8775. ;
  8776. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8777. }
  8778. }
  8779. func _FcConfigPatternAdd(tls *libc.TLS, p uintptr, object TFcObject, list uintptr, append1 TFcBool, table uintptr) {
  8780. var e uintptr
  8781. _ = e
  8782. if list != 0 {
  8783. e = XFcPatternObjectInsertElt(tls, p, object)
  8784. if !(e != 0) {
  8785. return
  8786. }
  8787. _FcConfigAdd(tls, e+8, uintptr(0), append1, list, object, table)
  8788. }
  8789. }
  8790. // C documentation
  8791. //
  8792. // /*
  8793. // * Delete all values associated with a field
  8794. // */
  8795. func _FcConfigPatternDel(tls *libc.TLS, p uintptr, object TFcObject, table uintptr) {
  8796. var e uintptr
  8797. _ = e
  8798. e = XFcPatternObjectFindElt(tls, p, object)
  8799. if !(e != 0) {
  8800. return
  8801. }
  8802. for (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != libc.UintptrFromInt32(0) {
  8803. _FcConfigDel(tls, e+8, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, object, table)
  8804. }
  8805. }
  8806. func _FcConfigPatternCanon(tls *libc.TLS, p uintptr, object TFcObject) {
  8807. var e uintptr
  8808. _ = e
  8809. e = XFcPatternObjectFindElt(tls, p, object)
  8810. if !(e != 0) {
  8811. return
  8812. }
  8813. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues == libc.UintptrFromInt32(0) {
  8814. XFcPatternObjectDel(tls, p, object)
  8815. }
  8816. }
  8817. func XFcConfigSubstituteWithPat(tls *libc.TLS, config uintptr, p uintptr, p_pat uintptr, kind TFcMatchKind) (r1 TFcBool) {
  8818. bp := tls.Alloc(128)
  8819. defer tls.Free(128)
  8820. var b, retval TFcBool
  8821. var e, e1, elt, l, l1, lang, ls, lsund, m, nextValue, prgname, r, rs, s, strs, table, thisValue, tst, value, vl, v1, v4, v5 uintptr
  8822. var i, nobjs int32
  8823. var ll TFcValueListPtr
  8824. var object TFcObject
  8825. var v2 bool
  8826. var _ /* data at bp+64 */ TFamilyTable
  8827. var _ /* iter at bp+16 */ TFcPtrListIter
  8828. var _ /* iter2 at bp+40 */ TFcPtrListIter
  8829. var _ /* v at bp+0 */ TFcValue
  8830. var _ /* v at bp+80 */ TFcValue
  8831. var _ /* vv at bp+96 */ TFcValue
  8832. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = b, e, e1, elt, i, l, l1, lang, ll, ls, lsund, m, nextValue, nobjs, object, prgname, r, retval, rs, s, strs, table, thisValue, tst, value, vl, v1, v2, v4, v5
  8833. value = libc.UintptrFromInt32(0)
  8834. object = int32(_FC_INVALID_OBJECT)
  8835. elt = libc.UintptrFromInt32(0)
  8836. retval = int32(m_FcTrue)
  8837. tst = libc.UintptrFromInt32(0)
  8838. table = bp + 64
  8839. if kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  8840. return m_FcFalse
  8841. }
  8842. config = XFcConfigReference(tls, config)
  8843. if !(config != 0) {
  8844. return m_FcFalse
  8845. }
  8846. s = *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(kind)*8))
  8847. if kind == int32(_FcMatchPattern) {
  8848. strs = XFcGetDefaultLangs(tls)
  8849. if strs != 0 {
  8850. l1 = XFcStrListCreate(tls, strs)
  8851. lsund = XFcLangSetCreate(tls)
  8852. XFcLangSetAdd(tls, lsund, __ccgo_ts+1348)
  8853. XFcStrSetDestroy(tls, strs)
  8854. for {
  8855. if v2 = l1 != 0; v2 {
  8856. v1 = XFcStrListNext(tls, l1)
  8857. lang = v1
  8858. }
  8859. if !(v2 && v1 != 0) {
  8860. break
  8861. }
  8862. e1 = XFcPatternObjectFindElt(tls, p, int32(_FC_LANG_OBJECT))
  8863. if e1 != 0 {
  8864. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  8865. v4 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  8866. } else {
  8867. v4 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  8868. }
  8869. ll = v4
  8870. for {
  8871. if !(ll != 0) {
  8872. break
  8873. }
  8874. *(*TFcValue)(unsafe.Pointer(bp + 96)) = TFcValue{}
  8875. *(*T_FcValue)(unsafe.Pointer(bp + 96)) = XFcValueCanonicalize(tls, ll+8)
  8876. if (*(*TFcValue)(unsafe.Pointer(bp + 96))).Ftype1 == int32(_FcTypeLangSet) {
  8877. ls = XFcLangSetCreate(tls)
  8878. XFcLangSetAdd(tls, ls, lang)
  8879. b = XFcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), ls)
  8880. XFcLangSetDestroy(tls, ls)
  8881. if b != 0 {
  8882. goto bail_lang
  8883. }
  8884. if XFcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), lsund) != 0 {
  8885. goto bail_lang
  8886. }
  8887. } else {
  8888. if XFcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), lang) == 0 {
  8889. goto bail_lang
  8890. }
  8891. if XFcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), __ccgo_ts+1348) == 0 {
  8892. goto bail_lang
  8893. }
  8894. }
  8895. goto _3
  8896. _3:
  8897. ;
  8898. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  8899. v5 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8900. } else {
  8901. v5 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  8902. }
  8903. ll = v5
  8904. }
  8905. }
  8906. (*(*TFcValue)(unsafe.Pointer(bp + 80))).Ftype1 = int32(_FcTypeString)
  8907. *(*uintptr)(unsafe.Pointer(bp + 80 + 8)) = lang
  8908. XFcPatternObjectAddWithBinding(tls, p, int32(_FC_LANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 80)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  8909. }
  8910. goto bail_lang
  8911. bail_lang:
  8912. ;
  8913. XFcStrListDone(tls, l1)
  8914. XFcLangSetDestroy(tls, lsund)
  8915. }
  8916. if XFcPatternObjectGet(tls, p, int32(_FC_PRGNAME_OBJECT), 0, bp) == int32(_FcResultNoMatch) {
  8917. prgname = XFcGetPrgname(tls)
  8918. if prgname != 0 {
  8919. XFcPatternObjectAddString(tls, p, int32(_FC_PRGNAME_OBJECT), prgname)
  8920. }
  8921. }
  8922. }
  8923. nobjs = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects + int32(2)
  8924. value = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(8)*nobjs))
  8925. if !(value != 0) {
  8926. retval = m_FcFalse
  8927. goto bail1
  8928. }
  8929. elt = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(8)*nobjs))
  8930. if !(elt != 0) {
  8931. retval = m_FcFalse
  8932. goto bail1
  8933. }
  8934. tst = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(8)*nobjs))
  8935. if !(tst != 0) {
  8936. retval = m_FcFalse
  8937. goto bail1
  8938. }
  8939. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8940. libc.Xprintf(tls, __ccgo_ts+1352, 0)
  8941. XFcPatternPrint(tls, p)
  8942. }
  8943. _FamilyTableInit(tls, bp+64, p)
  8944. XFcPtrListIterInit(tls, s, bp+16)
  8945. for {
  8946. if !(XFcPtrListIterIsValid(tls, s, bp+16) != 0) {
  8947. break
  8948. }
  8949. rs = XFcPtrListIterGetValue(tls, s, bp+16)
  8950. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8951. libc.Xprintf(tls, __ccgo_ts+1372, libc.VaList(bp+120, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  8952. }
  8953. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  8954. for {
  8955. if !(XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40) != 0) {
  8956. break
  8957. }
  8958. r = XFcPtrListIterGetValue(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  8959. i = 0
  8960. for {
  8961. if !(i < nobjs) {
  8962. break
  8963. }
  8964. *(*uintptr)(unsafe.Pointer(elt + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  8965. *(*uintptr)(unsafe.Pointer(value + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  8966. *(*uintptr)(unsafe.Pointer(tst + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  8967. goto _8
  8968. _8:
  8969. ;
  8970. i++
  8971. }
  8972. for {
  8973. if !(r != 0) {
  8974. break
  8975. }
  8976. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  8977. case int32(_FcRuleUnknown):
  8978. /* shouldn't be reached */
  8979. case int32(_FcRuleTest):
  8980. object = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  8981. /*
  8982. * Check the tests to see if
  8983. * they all match the pattern
  8984. */
  8985. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8986. libc.Xprintf(tls, __ccgo_ts+1387, 0)
  8987. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  8988. }
  8989. if kind == int32(_FcMatchFont) && (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == int32(_FcMatchPattern) {
  8990. m = p_pat
  8991. table = libc.UintptrFromInt32(0)
  8992. } else {
  8993. m = p
  8994. table = bp + 64
  8995. }
  8996. if m != 0 {
  8997. e = XFcPatternObjectFindElt(tls, m, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  8998. } else {
  8999. e = libc.UintptrFromInt32(0)
  9000. }
  9001. /* different 'kind' won't be the target of edit */
  9002. if !(*(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  9003. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = e
  9004. *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)) = *(*uintptr)(unsafe.Pointer(r + 16))
  9005. }
  9006. /*
  9007. * If there's no such field in the font,
  9008. * then FcQualAll matches while FcQualAny does not
  9009. */
  9010. if !(e != 0) {
  9011. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualAll) {
  9012. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  9013. goto _9
  9014. } else {
  9015. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  9016. libc.Xprintf(tls, __ccgo_ts+1412, 0)
  9017. }
  9018. goto bail
  9019. }
  9020. }
  9021. /*
  9022. * Check to see if there is a match, mark the location
  9023. * to apply match-relative edits
  9024. */
  9025. vl = _FcConfigMatchValueList(tls, m, p_pat, kind, *(*uintptr)(unsafe.Pointer(r + 16)), (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, table)
  9026. /* different 'kind' won't be the target of edit */
  9027. if !(*(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  9028. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = vl
  9029. }
  9030. if !(vl != 0) || (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualFirst) && vl != (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues || (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualNotFirst) && vl == (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues {
  9031. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  9032. libc.Xprintf(tls, __ccgo_ts+1412, 0)
  9033. }
  9034. goto bail
  9035. }
  9036. case int32(_FcRuleEdit):
  9037. object = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  9038. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  9039. libc.Xprintf(tls, __ccgo_ts+1422, 0)
  9040. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  9041. libc.Xprintf(tls, __ccgo_ts+1434, 0)
  9042. }
  9043. /*
  9044. * Evaluate the list of expressions
  9045. */
  9046. l = _FcConfigValues(tls, p, p_pat, kind, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fexpr, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fbinding)
  9047. if *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)) != 0 && ((*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)))).Fkind == int32(_FcMatchFont) || kind == int32(_FcMatchPattern)) {
  9048. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = XFcPatternObjectFindElt(tls, p, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)))).Fobject)
  9049. }
  9050. switch (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fop & libc.Int32FromInt32(0xffff) {
  9051. case int32(_FcOpAssign):
  9052. /*
  9053. * If there was a test, then replace the matched
  9054. * value with the new list of values
  9055. */
  9056. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  9057. thisValue = *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8))
  9058. nextValue = l
  9059. /*
  9060. * Append the new list of values after the current value
  9061. */
  9062. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue, int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  9063. /*
  9064. * Delete the marked value
  9065. */
  9066. if thisValue != 0 {
  9067. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue, object, table)
  9068. }
  9069. /*
  9070. * Adjust a pointer into the value list to ensure
  9071. * future edits occur at the same place
  9072. */
  9073. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = nextValue
  9074. break
  9075. }
  9076. /* fall through ... */
  9077. fallthrough
  9078. case int32(_FcOpAssignReplace):
  9079. /*
  9080. * Delete all of the values and insert
  9081. * the new set
  9082. */
  9083. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  9084. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue), table)
  9085. /*
  9086. * Adjust a pointer into the value list as they no
  9087. * longer point to anything valid
  9088. */
  9089. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  9090. case int32(_FcOpPrepend):
  9091. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  9092. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), m_FcFalse, l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  9093. break
  9094. }
  9095. /* fall through ... */
  9096. fallthrough
  9097. case int32(_FcOpPrependFirst):
  9098. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, m_FcFalse, table)
  9099. case int32(_FcOpAppend):
  9100. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  9101. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  9102. break
  9103. }
  9104. /* fall through ... */
  9105. fallthrough
  9106. case int32(_FcOpAppendLast):
  9107. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue), table)
  9108. case int32(_FcOpDelete):
  9109. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  9110. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), object, table)
  9111. XFcValueListDestroy(tls, l)
  9112. break
  9113. }
  9114. /* fall through ... */
  9115. fallthrough
  9116. case int32(_FcOpDeleteAll):
  9117. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  9118. XFcValueListDestroy(tls, l)
  9119. default:
  9120. XFcValueListDestroy(tls, l)
  9121. break
  9122. }
  9123. /*
  9124. * Now go through the pattern and eliminate
  9125. * any properties without data
  9126. */
  9127. _FcConfigPatternCanon(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  9128. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  9129. libc.Xprintf(tls, __ccgo_ts+1437, 0)
  9130. XFcPatternPrint(tls, p)
  9131. }
  9132. break
  9133. }
  9134. goto _9
  9135. _9:
  9136. ;
  9137. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  9138. }
  9139. goto bail
  9140. bail:
  9141. ;
  9142. goto _7
  9143. _7:
  9144. ;
  9145. XFcPtrListIterNext(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  9146. }
  9147. goto _6
  9148. _6:
  9149. ;
  9150. XFcPtrListIterNext(tls, s, bp+16)
  9151. }
  9152. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  9153. libc.Xprintf(tls, __ccgo_ts+1461, 0)
  9154. XFcPatternPrint(tls, p)
  9155. }
  9156. goto bail1
  9157. bail1:
  9158. ;
  9159. _FamilyTableClear(tls, bp+64)
  9160. if elt != 0 {
  9161. libc.Xfree(tls, elt)
  9162. }
  9163. if value != 0 {
  9164. libc.Xfree(tls, value)
  9165. }
  9166. if tst != 0 {
  9167. libc.Xfree(tls, tst)
  9168. }
  9169. XFcConfigDestroy(tls, config)
  9170. return retval
  9171. }
  9172. func XFcConfigSubstitute(tls *libc.TLS, config uintptr, p uintptr, kind TFcMatchKind) (r TFcBool) {
  9173. return XFcConfigSubstituteWithPat(tls, config, p, uintptr(0), kind)
  9174. }
  9175. func _FcConfigFileExists(tls *libc.TLS, dir uintptr, file uintptr) (r uintptr) {
  9176. var osize, size int32
  9177. var path uintptr
  9178. _, _, _ = osize, path, size
  9179. if !(dir != 0) {
  9180. dir = __ccgo_ts + 110
  9181. }
  9182. osize = libc.Int32FromUint64(libc.Xstrlen(tls, dir) + uint64(1) + libc.Xstrlen(tls, file) + uint64(1))
  9183. /*
  9184. * workaround valgrind warning because glibc takes advantage of how it knows memory is
  9185. * allocated to implement strlen by reading in groups of 4
  9186. */
  9187. size = (osize + int32(3)) & ^libc.Int32FromInt32(3)
  9188. path = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  9189. if !(path != 0) {
  9190. return uintptr(0)
  9191. }
  9192. libc.X__builtin___strcpy_chk(tls, path, dir, ^t__predefined_size_t(0))
  9193. /* make sure there's a single separator */
  9194. if (!(*(*TFcChar8)(unsafe.Pointer(path)) != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path + uintptr(libc.Xstrlen(tls, path)-uint64(1))))) != int32('/')) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file))) != int32('/') {
  9195. libc.X__builtin___strcat_chk(tls, path, __ccgo_ts+1485, ^t__predefined_size_t(0))
  9196. } else {
  9197. osize--
  9198. }
  9199. libc.X__builtin___strcat_chk(tls, path, file, ^t__predefined_size_t(0))
  9200. if libc.Xaccess(tls, path, libc.Int32FromInt32(1)<<libc.Int32FromInt32(2)) == 0 {
  9201. return path
  9202. }
  9203. XFcStrFree(tls, path)
  9204. return uintptr(0)
  9205. }
  9206. func _FcConfigGetPath(tls *libc.TLS) (r uintptr) {
  9207. var colon, dir, e, env, path, v1 uintptr
  9208. var i, npath int32
  9209. _, _, _, _, _, _, _, _ = colon, dir, e, env, i, npath, path, v1
  9210. npath = int32(2) /* default dir + null */
  9211. env = libc.Xgetenv(tls, __ccgo_ts+1487)
  9212. if env != 0 {
  9213. e = env
  9214. npath++
  9215. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  9216. v1 = e
  9217. e++
  9218. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1))) == int32(':') {
  9219. npath++
  9220. }
  9221. }
  9222. }
  9223. path = libc.Xcalloc(tls, libc.Uint64FromInt32(npath), uint64(8))
  9224. if !(path != 0) {
  9225. goto bail0
  9226. }
  9227. i = 0
  9228. if env != 0 {
  9229. e = env
  9230. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  9231. colon = libc.Xstrchr(tls, e, int32(':'))
  9232. if !(colon != 0) {
  9233. colon = e + uintptr(libc.Xstrlen(tls, e))
  9234. }
  9235. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(colon)-int64(e)+int64(1)))
  9236. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  9237. goto bail1
  9238. }
  9239. libc.X__builtin___strncpy_chk(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), e, libc.Uint64FromInt64(int64(colon)-int64(e)), ^t__predefined_size_t(0))
  9240. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) + uintptr(int64(colon)-int64(e)))) = uint8('\000')
  9241. if *(*TFcChar8)(unsafe.Pointer(colon)) != 0 {
  9242. e = colon + uintptr(1)
  9243. } else {
  9244. e = colon
  9245. }
  9246. i++
  9247. }
  9248. }
  9249. dir = __ccgo_ts + 1503
  9250. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1))
  9251. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  9252. goto bail1
  9253. }
  9254. libc.X__builtin___strcpy_chk(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), dir, ^t__predefined_size_t(0))
  9255. return path
  9256. goto bail1
  9257. bail1:
  9258. ;
  9259. i = 0
  9260. for {
  9261. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  9262. break
  9263. }
  9264. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)))
  9265. goto _2
  9266. _2:
  9267. ;
  9268. i++
  9269. }
  9270. libc.Xfree(tls, path)
  9271. goto bail0
  9272. bail0:
  9273. ;
  9274. return uintptr(0)
  9275. return r
  9276. }
  9277. func _FcConfigFreePath(tls *libc.TLS, path uintptr) {
  9278. var p uintptr
  9279. _ = p
  9280. p = path
  9281. for {
  9282. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  9283. break
  9284. }
  9285. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(p)))
  9286. goto _1
  9287. _1:
  9288. ;
  9289. p += 8
  9290. }
  9291. libc.Xfree(tls, path)
  9292. }
  9293. var __FcConfigHomeEnabled = int32(m_FcTrue) /* MT-goodenough */
  9294. func XFcConfigHome(tls *libc.TLS) (r uintptr) {
  9295. var home uintptr
  9296. _ = home
  9297. if __FcConfigHomeEnabled != 0 {
  9298. home = libc.Xgetenv(tls, __ccgo_ts+1514)
  9299. return home
  9300. }
  9301. return uintptr(0)
  9302. }
  9303. func XFcConfigXdgCacheHome(tls *libc.TLS) (r uintptr) {
  9304. var env, home, ret uintptr
  9305. var len1 Tsize_t
  9306. var v1 uint64
  9307. _, _, _, _, _ = env, home, len1, ret, v1
  9308. env = libc.Xgetenv(tls, __ccgo_ts+1519)
  9309. ret = libc.UintptrFromInt32(0)
  9310. if !(__FcConfigHomeEnabled != 0) {
  9311. return libc.UintptrFromInt32(0)
  9312. }
  9313. if env != 0 && *(*int8)(unsafe.Pointer(env)) != 0 {
  9314. ret = XFcStrCopy(tls, env)
  9315. } else {
  9316. home = XFcConfigHome(tls)
  9317. if home != 0 {
  9318. v1 = libc.Xstrlen(tls, home)
  9319. } else {
  9320. v1 = uint64(0)
  9321. }
  9322. len1 = v1
  9323. ret = libc.Xmalloc(tls, len1+uint64(7)+uint64(1))
  9324. if ret != 0 {
  9325. if home != 0 {
  9326. libc.X__builtin___memcpy_chk(tls, ret, home, len1, ^t__predefined_size_t(0))
  9327. }
  9328. libc.X__builtin___memcpy_chk(tls, ret+uintptr(len1), __ccgo_ts+1534, uint64(7), ^t__predefined_size_t(0))
  9329. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(7)))) = uint8(0)
  9330. }
  9331. }
  9332. return ret
  9333. }
  9334. func XFcConfigXdgConfigHome(tls *libc.TLS) (r uintptr) {
  9335. var env, home, ret uintptr
  9336. var len1 Tsize_t
  9337. var v1 uint64
  9338. _, _, _, _, _ = env, home, len1, ret, v1
  9339. env = libc.Xgetenv(tls, __ccgo_ts+1542)
  9340. ret = libc.UintptrFromInt32(0)
  9341. if !(__FcConfigHomeEnabled != 0) {
  9342. return libc.UintptrFromInt32(0)
  9343. }
  9344. if env != 0 {
  9345. ret = XFcStrCopy(tls, env)
  9346. } else {
  9347. home = XFcConfigHome(tls)
  9348. if home != 0 {
  9349. v1 = libc.Xstrlen(tls, home)
  9350. } else {
  9351. v1 = uint64(0)
  9352. }
  9353. len1 = v1
  9354. ret = libc.Xmalloc(tls, len1+uint64(8)+uint64(1))
  9355. if ret != 0 {
  9356. if home != 0 {
  9357. libc.X__builtin___memcpy_chk(tls, ret, home, len1, ^t__predefined_size_t(0))
  9358. }
  9359. libc.X__builtin___memcpy_chk(tls, ret+uintptr(len1), __ccgo_ts+1558, uint64(8), ^t__predefined_size_t(0))
  9360. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(8)))) = uint8(0)
  9361. }
  9362. }
  9363. return ret
  9364. }
  9365. func XFcConfigXdgDataHome(tls *libc.TLS) (r uintptr) {
  9366. var env, home, ret uintptr
  9367. var len1 Tsize_t
  9368. var v1 uint64
  9369. _, _, _, _, _ = env, home, len1, ret, v1
  9370. env = libc.Xgetenv(tls, __ccgo_ts+1567)
  9371. ret = libc.UintptrFromInt32(0)
  9372. if !(__FcConfigHomeEnabled != 0) {
  9373. return libc.UintptrFromInt32(0)
  9374. }
  9375. if env != 0 {
  9376. ret = XFcStrCopy(tls, env)
  9377. } else {
  9378. home = XFcConfigHome(tls)
  9379. if home != 0 {
  9380. v1 = libc.Xstrlen(tls, home)
  9381. } else {
  9382. v1 = uint64(0)
  9383. }
  9384. len1 = v1
  9385. ret = libc.Xmalloc(tls, len1+uint64(13)+uint64(1))
  9386. if ret != 0 {
  9387. if home != 0 {
  9388. libc.X__builtin___memcpy_chk(tls, ret, home, len1, ^t__predefined_size_t(0))
  9389. }
  9390. libc.X__builtin___memcpy_chk(tls, ret+uintptr(len1), __ccgo_ts+1581, uint64(13), ^t__predefined_size_t(0))
  9391. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(13)))) = uint8(0)
  9392. }
  9393. }
  9394. return ret
  9395. }
  9396. func XFcConfigXdgDataDirs(tls *libc.TLS) (r uintptr) {
  9397. var e, ee, env, p, ret, s, v1 uintptr
  9398. var len1 Tsize_t
  9399. _, _, _, _, _, _, _, _ = e, ee, env, len1, p, ret, s, v1
  9400. env = libc.Xgetenv(tls, __ccgo_ts+1595)
  9401. ret = XFcStrSetCreate(tls)
  9402. if env != 0 {
  9403. v1 = XFcStrCopy(tls, env)
  9404. ee = v1
  9405. e = v1
  9406. /* We don't intentionally use FC_SEARCH_PATH_SEPARATOR here because of:
  9407. * The directories in $XDG_DATA_DIRS should be seperated with a colon ':'.
  9408. * in doc.
  9409. */
  9410. for e != 0 {
  9411. p = libc.Xstrchr(tls, e, int32(':'))
  9412. if !(p != 0) {
  9413. s = XFcStrCopy(tls, e)
  9414. e = libc.UintptrFromInt32(0)
  9415. } else {
  9416. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  9417. s = XFcStrCopy(tls, e)
  9418. e = p + uintptr(1)
  9419. }
  9420. len1 = libc.Xstrlen(tls, s)
  9421. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint64(1))))) == int32('/') {
  9422. for cond := true; cond; cond = len1 > uint64(1) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint64(1))))) == int32('/') {
  9423. len1--
  9424. }
  9425. *(*TFcChar8)(unsafe.Pointer(s + uintptr(len1))) = uint8(0)
  9426. }
  9427. XFcStrSetAdd(tls, ret, s)
  9428. XFcStrFree(tls, s)
  9429. }
  9430. XFcStrFree(tls, ee)
  9431. } else {
  9432. /* From spec doc at https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
  9433. *
  9434. * If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used.
  9435. */
  9436. XFcStrSetAdd(tls, ret, __ccgo_ts+1609)
  9437. XFcStrSetAdd(tls, ret, __ccgo_ts+1626)
  9438. }
  9439. return ret
  9440. }
  9441. func XFcConfigEnableHome(tls *libc.TLS, enable TFcBool) (r TFcBool) {
  9442. var prev TFcBool
  9443. _ = prev
  9444. prev = __FcConfigHomeEnabled
  9445. __FcConfigHomeEnabled = enable
  9446. return prev
  9447. }
  9448. func XFcConfigGetFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  9449. bp := tls.Alloc(32)
  9450. defer tls.Free(32)
  9451. var dir, file, p, path, s, s1, sysroot uintptr
  9452. var len1 Tsize_t
  9453. _, _, _, _, _, _, _, _ = dir, file, len1, p, path, s, s1, sysroot
  9454. config = XFcConfigReference(tls, config)
  9455. if !(config != 0) {
  9456. return libc.UintptrFromInt32(0)
  9457. }
  9458. sysroot = XFcConfigGetSysRoot(tls, config)
  9459. if !(url != 0) || !(*(*TFcChar8)(unsafe.Pointer(url)) != 0) {
  9460. url = libc.Xgetenv(tls, __ccgo_ts+1637)
  9461. if !(url != 0) {
  9462. url = __ccgo_ts + 1653
  9463. }
  9464. }
  9465. file = uintptr(0)
  9466. if XFcStrIsAbsoluteFilename(tls, url) != 0 {
  9467. if sysroot != 0 {
  9468. len1 = libc.Xstrlen(tls, sysroot)
  9469. /* Workaround to avoid adding sysroot repeatedly */
  9470. if libc.Xstrncmp(tls, url, sysroot, len1) == 0 {
  9471. sysroot = libc.UintptrFromInt32(0)
  9472. }
  9473. }
  9474. file = _FcConfigFileExists(tls, sysroot, url)
  9475. goto bail
  9476. }
  9477. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(url))) == int32('~') {
  9478. dir = XFcConfigHome(tls)
  9479. if dir != 0 {
  9480. if sysroot != 0 {
  9481. s = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  9482. } else {
  9483. s = dir
  9484. }
  9485. file = _FcConfigFileExists(tls, s, url+uintptr(1))
  9486. if sysroot != 0 {
  9487. XFcStrFree(tls, s)
  9488. }
  9489. } else {
  9490. file = uintptr(0)
  9491. }
  9492. } else {
  9493. path = _FcConfigGetPath(tls)
  9494. if !(path != 0) {
  9495. file = libc.UintptrFromInt32(0)
  9496. goto bail
  9497. }
  9498. p = path
  9499. for {
  9500. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  9501. break
  9502. }
  9503. if sysroot != 0 {
  9504. s1 = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(p)), libc.UintptrFromInt32(0)))
  9505. } else {
  9506. s1 = *(*uintptr)(unsafe.Pointer(p))
  9507. }
  9508. file = _FcConfigFileExists(tls, s1, url)
  9509. if sysroot != 0 {
  9510. XFcStrFree(tls, s1)
  9511. }
  9512. if file != 0 {
  9513. break
  9514. }
  9515. goto _1
  9516. _1:
  9517. ;
  9518. p += 8
  9519. }
  9520. _FcConfigFreePath(tls, path)
  9521. }
  9522. goto bail
  9523. bail:
  9524. ;
  9525. XFcConfigDestroy(tls, config)
  9526. return file
  9527. }
  9528. func XFcConfigFilename(tls *libc.TLS, url uintptr) (r uintptr) {
  9529. return XFcConfigGetFilename(tls, libc.UintptrFromInt32(0), url)
  9530. }
  9531. func XFcConfigRealFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  9532. bp := tls.Alloc(304)
  9533. defer tls.Free(304)
  9534. var dirname, n, path uintptr
  9535. var len1, v1 Tssize_t
  9536. var _ /* buf at bp+0 */ [128]TFcChar8
  9537. var _ /* sb at bp+128 */ Tstat
  9538. _, _, _, _, _ = dirname, len1, n, path, v1
  9539. n = XFcConfigGetFilename(tls, config, url)
  9540. if n != 0 {
  9541. v1 = XFcReadLink(tls, n, bp, libc.Uint64FromInt64(128)-libc.Uint64FromInt32(1))
  9542. len1 = v1
  9543. if v1 != int64(-int32(1)) {
  9544. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  9545. /* We try to pick up a config from FONTCONFIG_FILE
  9546. * when url is null. don't try to address the real filename
  9547. * if it is a named pipe.
  9548. */
  9549. if !(url != 0) && XFcStat(tls, n, bp+128) == 0 && libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp + 128))).Fst_mode)&int32(m_S_IFMT1) == int32(m_S_IFIFO1) {
  9550. return n
  9551. } else {
  9552. if !(XFcStrIsAbsoluteFilename(tls, bp) != 0) {
  9553. dirname = XFcStrDirname(tls, n)
  9554. XFcStrFree(tls, n)
  9555. if !(dirname != 0) {
  9556. return libc.UintptrFromInt32(0)
  9557. }
  9558. path = XFcStrBuildFilename(tls, dirname, libc.VaList(bp+280, bp, libc.UintptrFromInt32(0)))
  9559. XFcStrFree(tls, dirname)
  9560. if !(path != 0) {
  9561. return libc.UintptrFromInt32(0)
  9562. }
  9563. n = XFcStrCanonFilename(tls, path)
  9564. XFcStrFree(tls, path)
  9565. } else {
  9566. XFcStrFree(tls, n)
  9567. n = libc.Xstrdup(tls, bp)
  9568. }
  9569. }
  9570. }
  9571. }
  9572. return n
  9573. }
  9574. /*
  9575. * Manage the application-specific fonts
  9576. */
  9577. func XFcConfigAppFontAddFile(tls *libc.TLS, config uintptr, file uintptr) (r TFcBool) {
  9578. var ret TFcBool
  9579. var set, subdir, subdirs, sublist, v1, v2 uintptr
  9580. _, _, _, _, _, _, _ = ret, set, subdir, subdirs, sublist, v1, v2
  9581. ret = int32(m_FcTrue)
  9582. config = XFcConfigReference(tls, config)
  9583. if !(config != 0) {
  9584. return m_FcFalse
  9585. }
  9586. subdirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  9587. if !(subdirs != 0) {
  9588. ret = m_FcFalse
  9589. goto bail
  9590. }
  9591. set = XFcConfigGetFonts(tls, config, int32(_FcSetApplication))
  9592. if !(set != 0) {
  9593. set = XFcFontSetCreate(tls)
  9594. if !(set != 0) {
  9595. XFcStrSetDestroy(tls, subdirs)
  9596. ret = m_FcFalse
  9597. goto bail
  9598. }
  9599. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  9600. }
  9601. if !(XFcFileScanConfig(tls, set, subdirs, file, config) != 0) {
  9602. XFcStrSetDestroy(tls, subdirs)
  9603. ret = m_FcFalse
  9604. goto bail
  9605. }
  9606. v1 = XFcStrListCreate(tls, subdirs)
  9607. sublist = v1
  9608. if v1 != 0 {
  9609. for {
  9610. v2 = XFcStrListNext(tls, sublist)
  9611. subdir = v2
  9612. if !(v2 != 0) {
  9613. break
  9614. }
  9615. XFcConfigAppFontAddDir(tls, config, subdir)
  9616. }
  9617. XFcStrListDone(tls, sublist)
  9618. }
  9619. XFcStrSetDestroy(tls, subdirs)
  9620. goto bail
  9621. bail:
  9622. ;
  9623. XFcConfigDestroy(tls, config)
  9624. return ret
  9625. }
  9626. func XFcConfigAppFontAddDir(tls *libc.TLS, config uintptr, dir uintptr) (r TFcBool) {
  9627. var dirs, set uintptr
  9628. var ret TFcBool
  9629. _, _, _ = dirs, ret, set
  9630. ret = int32(m_FcTrue)
  9631. config = XFcConfigReference(tls, config)
  9632. if !(config != 0) {
  9633. return m_FcFalse
  9634. }
  9635. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  9636. if !(dirs != 0) {
  9637. ret = m_FcFalse
  9638. goto bail
  9639. }
  9640. set = XFcConfigGetFonts(tls, config, int32(_FcSetApplication))
  9641. if !(set != 0) {
  9642. set = XFcFontSetCreate(tls)
  9643. if !(set != 0) {
  9644. XFcStrSetDestroy(tls, dirs)
  9645. ret = m_FcFalse
  9646. goto bail
  9647. }
  9648. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  9649. }
  9650. XFcStrSetAddFilename(tls, dirs, dir)
  9651. if !(_FcConfigAddDirList(tls, config, int32(_FcSetApplication), dirs) != 0) {
  9652. XFcStrSetDestroy(tls, dirs)
  9653. ret = m_FcFalse
  9654. goto bail
  9655. }
  9656. XFcStrSetDestroy(tls, dirs)
  9657. goto bail
  9658. bail:
  9659. ;
  9660. XFcConfigDestroy(tls, config)
  9661. return ret
  9662. }
  9663. func XFcConfigAppFontClear(tls *libc.TLS, config uintptr) {
  9664. config = XFcConfigReference(tls, config)
  9665. if !(config != 0) {
  9666. return
  9667. }
  9668. XFcConfigSetFonts(tls, config, uintptr(0), int32(_FcSetApplication))
  9669. XFcConfigDestroy(tls, config)
  9670. }
  9671. /*
  9672. * Manage filename-based font source selectors
  9673. */
  9674. func XFcConfigGlobAdd(tls *libc.TLS, config uintptr, glob uintptr, accept TFcBool) (r TFcBool) {
  9675. var set, v1 uintptr
  9676. _, _ = set, v1
  9677. if accept != 0 {
  9678. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs
  9679. } else {
  9680. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs
  9681. }
  9682. set = v1
  9683. return XFcStrSetAdd(tls, set, glob)
  9684. }
  9685. func _FcConfigGlobsMatch(tls *libc.TLS, globs uintptr, string1 uintptr) (r TFcBool) {
  9686. var i int32
  9687. _ = i
  9688. i = 0
  9689. for {
  9690. if !(i < (*TFcStrSet)(unsafe.Pointer(globs)).Fnum) {
  9691. break
  9692. }
  9693. if XFcStrGlobMatch(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(globs)).Fstrs + uintptr(i)*8)), string1) != 0 {
  9694. return int32(m_FcTrue)
  9695. }
  9696. goto _1
  9697. _1:
  9698. ;
  9699. i++
  9700. }
  9701. return m_FcFalse
  9702. }
  9703. func XFcConfigAcceptFilename(tls *libc.TLS, config uintptr, filename uintptr) (r TFcBool) {
  9704. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs, filename) != 0 {
  9705. return int32(m_FcTrue)
  9706. }
  9707. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs, filename) != 0 {
  9708. return m_FcFalse
  9709. }
  9710. return int32(m_FcTrue)
  9711. }
  9712. /*
  9713. * Manage font-pattern based font source selectors
  9714. */
  9715. func XFcConfigPatternsAdd(tls *libc.TLS, config uintptr, pattern uintptr, accept TFcBool) (r TFcBool) {
  9716. var set, v1 uintptr
  9717. _, _ = set, v1
  9718. if accept != 0 {
  9719. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns
  9720. } else {
  9721. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns
  9722. }
  9723. set = v1
  9724. return XFcFontSetAdd(tls, set, pattern)
  9725. }
  9726. func _FcConfigPatternsMatch(tls *libc.TLS, patterns uintptr, font uintptr) (r TFcBool) {
  9727. var i int32
  9728. _ = i
  9729. i = 0
  9730. for {
  9731. if !(i < (*TFcFontSet)(unsafe.Pointer(patterns)).Fnfont) {
  9732. break
  9733. }
  9734. if XFcListPatternMatchAny(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(patterns)).Ffonts + uintptr(i)*8)), font) != 0 {
  9735. return int32(m_FcTrue)
  9736. }
  9737. goto _1
  9738. _1:
  9739. ;
  9740. i++
  9741. }
  9742. return m_FcFalse
  9743. }
  9744. func XFcConfigAcceptFont(tls *libc.TLS, config uintptr, font uintptr) (r TFcBool) {
  9745. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns, font) != 0 {
  9746. return int32(m_FcTrue)
  9747. }
  9748. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns, font) != 0 {
  9749. return m_FcFalse
  9750. }
  9751. return int32(m_FcTrue)
  9752. }
  9753. func XFcConfigGetSysRoot(tls *libc.TLS, config uintptr) (r uintptr) {
  9754. if !(config != 0) {
  9755. config = XFcConfigGetCurrent(tls)
  9756. if !(config != 0) {
  9757. return libc.UintptrFromInt32(0)
  9758. }
  9759. }
  9760. return (*TFcConfig)(unsafe.Pointer(config)).FsysRoot
  9761. }
  9762. func XFcConfigSetSysRoot(tls *libc.TLS, config uintptr, sysroot uintptr) {
  9763. var init1 TFcBool
  9764. var nretry, v1 int32
  9765. var s uintptr
  9766. _, _, _, _ = init1, nretry, s, v1
  9767. s = libc.UintptrFromInt32(0)
  9768. init1 = m_FcFalse
  9769. nretry = int32(3)
  9770. goto retry
  9771. retry:
  9772. ;
  9773. if !(config != 0) {
  9774. /* We can't use FcConfigGetCurrent() here to ensure
  9775. * the sysroot is set prior to initialize FcConfig,
  9776. * to avoid loading caches from non-sysroot dirs.
  9777. * So postpone the initialization later.
  9778. */
  9779. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  9780. if !(config != 0) {
  9781. config = XFcConfigCreate(tls)
  9782. if !(config != 0) {
  9783. return
  9784. }
  9785. init1 = int32(m_FcTrue)
  9786. }
  9787. }
  9788. if sysroot != 0 {
  9789. s = XFcStrRealPath(tls, sysroot)
  9790. if !(s != 0) {
  9791. return
  9792. }
  9793. }
  9794. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  9795. XFcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  9796. }
  9797. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = s
  9798. if init1 != 0 {
  9799. config = XFcInitLoadOwnConfigAndFonts(tls, config)
  9800. if !(config != 0) {
  9801. /* Something failed. this is usually unlikely. so retrying */
  9802. init1 = m_FcFalse
  9803. nretry--
  9804. v1 = nretry
  9805. if v1 == 0 {
  9806. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1664, 0)
  9807. return
  9808. }
  9809. goto retry
  9810. }
  9811. XFcConfigSetCurrent(tls, config)
  9812. /* FcConfigSetCurrent() increases the refcount.
  9813. * decrease it here to avoid the memory leak.
  9814. */
  9815. XFcConfigDestroy(tls, config)
  9816. }
  9817. }
  9818. func XFcRuleSetCreate(tls *libc.TLS, name uintptr) (r uintptr) {
  9819. var k TFcMatchKind
  9820. var p, ret uintptr
  9821. _, _, _ = k, p, ret
  9822. ret = libc.Xmalloc(tls, uint64(64))
  9823. if !(name != 0) {
  9824. p = __ccgo_ts + 110
  9825. } else {
  9826. p = name
  9827. }
  9828. if ret != 0 {
  9829. (*TFcRuleSet)(unsafe.Pointer(ret)).Fname = libc.Xstrdup(tls, p)
  9830. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdescription = libc.UintptrFromInt32(0)
  9831. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdomain = libc.UintptrFromInt32(0)
  9832. k = int32(_FcMatchKindBegin)
  9833. for {
  9834. if !(k < int32(_FcMatchKindEnd)) {
  9835. break
  9836. }
  9837. *(*uintptr)(unsafe.Pointer(ret + 40 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRule))
  9838. goto _1
  9839. _1:
  9840. ;
  9841. k++
  9842. }
  9843. (*TFcRef)(unsafe.Pointer(ret)).Fcount = int32(1)
  9844. }
  9845. return ret
  9846. }
  9847. func XFcRuleSetDestroy(tls *libc.TLS, rs uintptr) {
  9848. var k TFcMatchKind
  9849. var v1 int32
  9850. var p3 uintptr
  9851. _, _, _ = k, v1, p3
  9852. if !(rs != 0) {
  9853. return
  9854. }
  9855. p3 = rs
  9856. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  9857. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  9858. goto _2
  9859. _2:
  9860. if v1 != int32(1) {
  9861. return
  9862. }
  9863. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fname != 0 {
  9864. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname)
  9865. }
  9866. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  9867. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  9868. }
  9869. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  9870. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  9871. }
  9872. k = int32(_FcMatchKindBegin)
  9873. for {
  9874. if !(k < int32(_FcMatchKindEnd)) {
  9875. break
  9876. }
  9877. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(k)*8)))
  9878. goto _4
  9879. _4:
  9880. ;
  9881. k++
  9882. }
  9883. libc.Xfree(tls, rs)
  9884. }
  9885. func XFcRuleSetReference(tls *libc.TLS, rs uintptr) {
  9886. var v1 TFcBool
  9887. var p4 uintptr
  9888. _, _ = v1, p4
  9889. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(rs)).Fcount == -libc.Int32FromInt32(1))
  9890. goto _2
  9891. _2:
  9892. if !(v1 != 0) {
  9893. p4 = rs
  9894. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  9895. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  9896. goto _3
  9897. _3:
  9898. }
  9899. }
  9900. func XFcRuleSetEnable(tls *libc.TLS, rs uintptr, flag TFcBool) {
  9901. if rs != 0 {
  9902. (*TFcRuleSet)(unsafe.Pointer(rs)).Fenabled = flag
  9903. /* XXX: we may want to provide a feature
  9904. * to enable/disable rulesets through API
  9905. * in the future?
  9906. */
  9907. }
  9908. }
  9909. func XFcRuleSetAddDescription(tls *libc.TLS, rs uintptr, domain uintptr, description uintptr) {
  9910. var v1, v2 uintptr
  9911. _, _ = v1, v2
  9912. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  9913. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  9914. }
  9915. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  9916. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  9917. }
  9918. if domain != 0 {
  9919. v1 = libc.Xstrdup(tls, domain)
  9920. } else {
  9921. v1 = libc.UintptrFromInt32(0)
  9922. }
  9923. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain = v1
  9924. if description != 0 {
  9925. v2 = libc.Xstrdup(tls, description)
  9926. } else {
  9927. v2 = libc.UintptrFromInt32(0)
  9928. }
  9929. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription = v2
  9930. }
  9931. func XFcRuleSetAdd(tls *libc.TLS, rs uintptr, rule uintptr, kind TFcMatchKind) (r1 int32) {
  9932. bp := tls.Alloc(48)
  9933. defer tls.Free(48)
  9934. var n, ret, v2 int32
  9935. var r uintptr
  9936. var _ /* iter at bp+0 */ TFcPtrListIter
  9937. _, _, _, _ = n, r, ret, v2
  9938. n = 0
  9939. if !(rs != 0) || kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  9940. return -int32(1)
  9941. }
  9942. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp)
  9943. if !(XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp, rule) != 0) {
  9944. return -int32(1)
  9945. }
  9946. r = rule
  9947. for {
  9948. if !(r != 0) {
  9949. break
  9950. }
  9951. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  9952. case int32(_FcRuleTest):
  9953. if *(*uintptr)(unsafe.Pointer(r + 16)) != 0 {
  9954. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == -libc.Int32FromInt32(1) {
  9955. (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind = kind
  9956. }
  9957. if n < (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  9958. n = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  9959. }
  9960. }
  9961. case int32(_FcRuleEdit):
  9962. if n < (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  9963. n = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  9964. }
  9965. default:
  9966. break
  9967. }
  9968. goto _1
  9969. _1:
  9970. ;
  9971. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  9972. }
  9973. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  9974. libc.Xprintf(tls, __ccgo_ts+1787, libc.VaList(bp+32, kind, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  9975. XFcRulePrint(tls, rule)
  9976. }
  9977. ret = n & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) - (int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1))
  9978. if ret < 0 {
  9979. v2 = 0
  9980. } else {
  9981. v2 = ret
  9982. }
  9983. return v2
  9984. }
  9985. func XFcConfigFileInfoIterInit(tls *libc.TLS, config uintptr, iter uintptr) {
  9986. var c, i uintptr
  9987. _, _ = c, i
  9988. i = iter
  9989. if !(config != 0) {
  9990. c = XFcConfigGetCurrent(tls)
  9991. } else {
  9992. c = config
  9993. }
  9994. XFcPtrListIterInit(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  9995. }
  9996. func XFcConfigFileInfoIterNext(tls *libc.TLS, config uintptr, iter uintptr) (r TFcBool) {
  9997. var c, i uintptr
  9998. _, _ = c, i
  9999. i = iter
  10000. if !(config != 0) {
  10001. c = XFcConfigGetCurrent(tls)
  10002. } else {
  10003. c = config
  10004. }
  10005. if XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0 {
  10006. XFcPtrListIterNext(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  10007. } else {
  10008. return m_FcFalse
  10009. }
  10010. return int32(m_FcTrue)
  10011. }
  10012. func XFcConfigFileInfoIterGet(tls *libc.TLS, config uintptr, iter uintptr, name uintptr, description uintptr, enabled uintptr) (r1 TFcBool) {
  10013. var c, i, r, v1, v2 uintptr
  10014. _, _, _, _, _ = c, i, r, v1, v2
  10015. i = iter
  10016. if !(config != 0) {
  10017. c = XFcConfigGetCurrent(tls)
  10018. } else {
  10019. c = config
  10020. }
  10021. if !(XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0) {
  10022. return m_FcFalse
  10023. }
  10024. r = XFcPtrListIterGetValue(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  10025. if name != 0 {
  10026. if (*TFcRuleSet)(unsafe.Pointer(r)).Fname != 0 && *(*TFcChar8)(unsafe.Pointer((*TFcRuleSet)(unsafe.Pointer(r)).Fname)) != 0 {
  10027. v1 = (*TFcRuleSet)(unsafe.Pointer(r)).Fname
  10028. } else {
  10029. v1 = __ccgo_ts + 1653
  10030. }
  10031. *(*uintptr)(unsafe.Pointer(name)) = libc.Xstrdup(tls, v1)
  10032. }
  10033. if description != 0 {
  10034. if !((*TFcRuleSet)(unsafe.Pointer(r)).Fdescription != 0) {
  10035. v2 = __ccgo_ts + 1816
  10036. } else {
  10037. v2 = (*TFcRuleSet)(unsafe.Pointer(r)).Fdescription
  10038. }
  10039. *(*uintptr)(unsafe.Pointer(description)) = libc.Xstrdup(tls, v2)
  10040. }
  10041. if enabled != 0 {
  10042. *(*TFcBool)(unsafe.Pointer(enabled)) = (*TFcRuleSet)(unsafe.Pointer(r)).Fenabled
  10043. }
  10044. return int32(m_FcTrue)
  10045. }
  10046. const m_FC_CHAR_LEAF_HASH_SIZE = 257
  10047. const m_FC_CHAR_SET_HASH_SIZE = 67
  10048. const m_FC_DIR_SEPARATOR2 = '/'
  10049. const m_FC_DIR_SEPARATOR_S2 = "/"
  10050. const m_FC_SEARCH_PATH_SEPARATOR2 = ':'
  10051. const m_S_IFIFO2 = 0010000
  10052. const m_S_IFMT2 = 0170000
  10053. type TFcCharSetFreezer = struct {
  10054. Fleaf_hash_table [257]uintptr
  10055. Fleaf_blocks uintptr
  10056. Fleaf_block_count int32
  10057. Fset_hash_table [67]uintptr
  10058. Forig_hash_table [67]uintptr
  10059. Fcurrent_block uintptr
  10060. Fleaf_remain int32
  10061. Fleaves_seen int32
  10062. Fcharsets_seen int32
  10063. Fleaves_allocated int32
  10064. Fcharsets_allocated int32
  10065. }
  10066. type T_FcCharSetFreezer = TFcCharSetFreezer
  10067. /*
  10068. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  10069. *
  10070. * @APPLE_LICENSE_HEADER_START@
  10071. *
  10072. * This file contains Original Code and/or Modifications of Original Code
  10073. * as defined in and that are subject to the Apple Public Source License
  10074. * Version 2.0 (the 'License'). You may not use this file except in
  10075. * compliance with the License. Please obtain a copy of the License at
  10076. * http://www.opensource.apple.com/apsl/ and read it before using this
  10077. * file.
  10078. *
  10079. * The Original Code and all software distributed under the License are
  10080. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  10081. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  10082. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  10083. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  10084. * Please see the License for the specific language governing rights and
  10085. * limitations under the License.
  10086. *
  10087. * @APPLE_LICENSE_HEADER_END@
  10088. */
  10089. /*-
  10090. * Copyright (c) 1990, 1993
  10091. * The Regents of the University of California. All rights reserved.
  10092. *
  10093. * Redistribution and use in source and binary forms, with or without
  10094. * modification, are permitted provided that the following conditions
  10095. * are met:
  10096. * 1. Redistributions of source code must retain the above copyright
  10097. * notice, this list of conditions and the following disclaimer.
  10098. * 2. Redistributions in binary form must reproduce the above copyright
  10099. * notice, this list of conditions and the following disclaimer in the
  10100. * documentation and/or other materials provided with the distribution.
  10101. * 3. All advertising materials mentioning features or use of this software
  10102. * must display the following acknowledgement:
  10103. * This product includes software developed by the University of
  10104. * California, Berkeley and its contributors.
  10105. * 4. Neither the name of the University nor the names of its contributors
  10106. * may be used to endorse or promote products derived from this software
  10107. * without specific prior written permission.
  10108. *
  10109. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  10110. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  10111. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  10112. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  10113. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  10114. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  10115. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  10116. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  10117. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  10118. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  10119. * SUCH DAMAGE.
  10120. *
  10121. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  10122. */
  10123. /*
  10124. * Copyright (c) 2023 Apple Inc. All rights reserved.
  10125. *
  10126. * @APPLE_LICENSE_HEADER_START@
  10127. *
  10128. * This file contains Original Code and/or Modifications of Original Code
  10129. * as defined in and that are subject to the Apple Public Source License
  10130. * Version 2.0 (the 'License'). You may not use this file except in
  10131. * compliance with the License. Please obtain a copy of the License at
  10132. * http://www.opensource.apple.com/apsl/ and read it before using this
  10133. * file.
  10134. *
  10135. * The Original Code and all software distributed under the License are
  10136. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  10137. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  10138. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  10139. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  10140. * Please see the License for the specific language governing rights and
  10141. * limitations under the License.
  10142. *
  10143. * @APPLE_LICENSE_HEADER_END@
  10144. */
  10145. /*-
  10146. * Copyright (c) 1990, 1993
  10147. * The Regents of the University of California. All rights reserved.
  10148. *
  10149. * Redistribution and use in source and binary forms, with or without
  10150. * modification, are permitted provided that the following conditions
  10151. * are met:
  10152. * 1. Redistributions of source code must retain the above copyright
  10153. * notice, this list of conditions and the following disclaimer.
  10154. * 2. Redistributions in binary form must reproduce the above copyright
  10155. * notice, this list of conditions and the following disclaimer in the
  10156. * documentation and/or other materials provided with the distribution.
  10157. * 3. All advertising materials mentioning features or use of this software
  10158. * must display the following acknowledgement:
  10159. * This product includes software developed by the University of
  10160. * California, Berkeley and its contributors.
  10161. * 4. Neither the name of the University nor the names of its contributors
  10162. * may be used to endorse or promote products derived from this software
  10163. * without specific prior written permission.
  10164. *
  10165. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  10166. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  10167. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  10168. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  10169. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  10170. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  10171. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  10172. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  10173. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  10174. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  10175. * SUCH DAMAGE.
  10176. *
  10177. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  10178. */
  10179. /* #define CHECK */
  10180. func XFcCharSetCreate(tls *libc.TLS) (r uintptr) {
  10181. var fcs uintptr
  10182. _ = fcs
  10183. fcs = libc.Xmalloc(tls, uint64(24))
  10184. if !(fcs != 0) {
  10185. return uintptr(0)
  10186. }
  10187. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = int32(1)
  10188. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  10189. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  10190. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  10191. return fcs
  10192. }
  10193. func XFcCharSetPromote(tls *libc.TLS, vbuf uintptr) (r uintptr) {
  10194. var fcs uintptr
  10195. _ = fcs
  10196. fcs = vbuf
  10197. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = -libc.Int32FromInt32(1)
  10198. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  10199. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  10200. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  10201. return fcs
  10202. }
  10203. func XFcCharSetNew(tls *libc.TLS) (r uintptr) {
  10204. return XFcCharSetCreate(tls)
  10205. }
  10206. func XFcCharSetDestroy(tls *libc.TLS, fcs uintptr) {
  10207. var i, v3 int32
  10208. var v1 TFcBool
  10209. var p5 uintptr
  10210. _, _, _, _ = i, v1, v3, p5
  10211. if fcs != 0 {
  10212. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  10213. goto _2
  10214. _2:
  10215. if v1 != 0 {
  10216. XFcCacheObjectDereference(tls, fcs)
  10217. return
  10218. }
  10219. p5 = fcs
  10220. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  10221. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  10222. goto _4
  10223. _4:
  10224. if v3 != int32(1) {
  10225. return
  10226. }
  10227. i = 0
  10228. for {
  10229. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  10230. break
  10231. }
  10232. libc.Xfree(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  10233. goto _6
  10234. _6:
  10235. ;
  10236. i++
  10237. }
  10238. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  10239. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  10240. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset))
  10241. }
  10242. libc.Xfree(tls, fcs)
  10243. }
  10244. }
  10245. /*
  10246. * Search for the leaf containing with the specified num.
  10247. * Return its index if it exists, otherwise return negative of
  10248. * the (position + 1) where it should be inserted
  10249. */
  10250. func _FcCharSetFindLeafForward(tls *libc.TLS, fcs uintptr, start int32, num TFcChar16) (r int32) {
  10251. var high, low, mid int32
  10252. var numbers uintptr
  10253. var page TFcChar16
  10254. _, _, _, _, _ = high, low, mid, numbers, page
  10255. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  10256. low = start
  10257. high = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum - int32(1)
  10258. if !(numbers != 0) {
  10259. return -int32(1)
  10260. }
  10261. for low <= high {
  10262. mid = (low + high) >> int32(1)
  10263. page = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(mid)*2))
  10264. if libc.Int32FromUint16(page) == libc.Int32FromUint16(num) {
  10265. return mid
  10266. }
  10267. if libc.Int32FromUint16(page) < libc.Int32FromUint16(num) {
  10268. low = mid + int32(1)
  10269. } else {
  10270. high = mid - int32(1)
  10271. }
  10272. }
  10273. if high < 0 || high < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(high)*2))) < libc.Int32FromUint16(num) {
  10274. high++
  10275. }
  10276. return -(high + int32(1))
  10277. }
  10278. /*
  10279. * Locate the leaf containing the specified char, return
  10280. * its index if it exists, otherwise return negative of
  10281. * the (position + 1) where it should be inserted
  10282. */
  10283. func _FcCharSetFindLeafPos(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r int32) {
  10284. return _FcCharSetFindLeafForward(tls, fcs, 0, uint16(ucs4>>int32(8)))
  10285. }
  10286. func _FcCharSetFindLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  10287. var pos int32
  10288. _ = pos
  10289. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  10290. if pos >= 0 {
  10291. return uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  10292. }
  10293. return uintptr(0)
  10294. }
  10295. func _FcCharSetPutLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr, pos int32) (r TFcBool) {
  10296. var alloced, alloced1 uint32
  10297. var distance Tptrdiff_t
  10298. var i int32
  10299. var leaves, new_leaves, numbers uintptr
  10300. _, _, _, _, _, _, _ = alloced, alloced1, distance, i, leaves, new_leaves, numbers
  10301. leaves = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)
  10302. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  10303. ucs4 >>= uint32(8)
  10304. if ucs4 >= uint32(0x10000) {
  10305. return m_FcFalse
  10306. }
  10307. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum&((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-libc.Int32FromInt32(1)) != 0) {
  10308. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0) {
  10309. alloced = uint32(8)
  10310. leaves = libc.Xmalloc(tls, uint64(alloced)*uint64(8))
  10311. numbers = libc.Xmalloc(tls, uint64(alloced)*uint64(2))
  10312. if !(leaves != 0) || !(numbers != 0) {
  10313. if leaves != 0 {
  10314. libc.Xfree(tls, leaves)
  10315. }
  10316. if numbers != 0 {
  10317. libc.Xfree(tls, numbers)
  10318. }
  10319. return m_FcFalse
  10320. }
  10321. } else {
  10322. alloced1 = libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)
  10323. alloced1 *= uint32(2)
  10324. numbers = libc.Xrealloc(tls, numbers, uint64(alloced1)*uint64(2))
  10325. if !(numbers != 0) {
  10326. return m_FcFalse
  10327. }
  10328. new_leaves = libc.Xrealloc(tls, leaves, uint64(alloced1)*uint64(8))
  10329. if !(new_leaves != 0) {
  10330. /*
  10331. * Revert the reallocation of numbers. We update numbers_offset
  10332. * first in case realloc() fails.
  10333. */
  10334. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  10335. numbers = libc.Xrealloc(tls, numbers, uint64(alloced1/libc.Uint32FromInt32(2))*uint64(2))
  10336. /* unlikely to fail though */
  10337. if !(numbers != 0) {
  10338. return m_FcFalse
  10339. }
  10340. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  10341. return m_FcFalse
  10342. }
  10343. distance = int64(new_leaves) - int64(leaves)
  10344. i = 0
  10345. for {
  10346. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  10347. break
  10348. }
  10349. *(*Tintptr_t)(unsafe.Pointer(new_leaves + uintptr(i)*8)) -= distance
  10350. goto _1
  10351. _1:
  10352. ;
  10353. i++
  10354. }
  10355. leaves = new_leaves
  10356. }
  10357. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = int64(leaves) - int64(fcs)
  10358. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  10359. }
  10360. libc.X__builtin___memmove_chk(tls, leaves+uintptr(pos)*8+uintptr(1)*8, leaves+uintptr(pos)*8, libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(8), ^t__predefined_size_t(0))
  10361. libc.X__builtin___memmove_chk(tls, numbers+uintptr(pos)*2+uintptr(1)*2, numbers+uintptr(pos)*2, libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(2), ^t__predefined_size_t(0))
  10362. *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(pos)*2)) = uint16(ucs4)
  10363. *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(pos)*8)) = int64(leaf) - int64(leaves)
  10364. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum++
  10365. return int32(m_FcTrue)
  10366. }
  10367. /*
  10368. * Locate the leaf containing the specified char, creating it
  10369. * if desired
  10370. */
  10371. func XFcCharSetFindLeafCreate(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  10372. var leaf uintptr
  10373. var pos int32
  10374. _, _ = leaf, pos
  10375. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  10376. if pos >= 0 {
  10377. return uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  10378. }
  10379. leaf = libc.Xcalloc(tls, uint64(1), uint64(32))
  10380. if !(leaf != 0) {
  10381. return uintptr(0)
  10382. }
  10383. pos = -pos - int32(1)
  10384. if !(_FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos) != 0) {
  10385. libc.Xfree(tls, leaf)
  10386. return uintptr(0)
  10387. }
  10388. return leaf
  10389. }
  10390. func _FcCharSetInsertLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  10391. var pos int32
  10392. _ = pos
  10393. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  10394. if pos >= 0 {
  10395. libc.Xfree(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8))))
  10396. *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)) = int64(leaf) - int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  10397. return int32(m_FcTrue)
  10398. }
  10399. pos = -pos - int32(1)
  10400. return _FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos)
  10401. }
  10402. func XFcCharSetAddChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  10403. var b, leaf uintptr
  10404. var v1 TFcBool
  10405. var v3 bool
  10406. _, _, _, _ = b, leaf, v1, v3
  10407. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  10408. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  10409. goto _2
  10410. _2:
  10411. }
  10412. if v3 || v1 != 0 {
  10413. return m_FcFalse
  10414. }
  10415. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  10416. if !(leaf != 0) {
  10417. return m_FcFalse
  10418. }
  10419. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  10420. *(*TFcChar32)(unsafe.Pointer(b)) |= uint32(1) << (ucs4 & uint32(0x1f))
  10421. return int32(m_FcTrue)
  10422. }
  10423. func XFcCharSetDelChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  10424. var b, leaf uintptr
  10425. var v1 TFcBool
  10426. var v3 bool
  10427. _, _, _, _ = b, leaf, v1, v3
  10428. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  10429. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  10430. goto _2
  10431. _2:
  10432. }
  10433. if v3 || v1 != 0 {
  10434. return m_FcFalse
  10435. }
  10436. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  10437. if !(leaf != 0) {
  10438. return int32(m_FcTrue)
  10439. }
  10440. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  10441. *(*TFcChar32)(unsafe.Pointer(b)) &= ^(libc.Uint32FromUint32(1) << (ucs4 & libc.Uint32FromInt32(0x1f)))
  10442. /* We don't bother removing the leaf if it's empty */
  10443. return int32(m_FcTrue)
  10444. }
  10445. /*
  10446. * An iterator for the leaves of a charset
  10447. */
  10448. type TFcCharSetIter = struct {
  10449. Fleaf uintptr
  10450. Fucs4 TFcChar32
  10451. Fpos int32
  10452. }
  10453. /*
  10454. * An iterator for the leaves of a charset
  10455. */
  10456. type T_fcCharSetIter = TFcCharSetIter
  10457. /*
  10458. * Set iter->leaf to the leaf containing iter->ucs4 or higher
  10459. */
  10460. func _FcCharSetIterSet(tls *libc.TLS, fcs uintptr, iter uintptr) {
  10461. var pos int32
  10462. _ = pos
  10463. pos = _FcCharSetFindLeafPos(tls, fcs, (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4)
  10464. if pos < 0 {
  10465. pos = -pos - int32(1)
  10466. if pos == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  10467. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  10468. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  10469. return
  10470. }
  10471. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  10472. }
  10473. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  10474. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  10475. }
  10476. func _FcCharSetIterNext(tls *libc.TLS, fcs uintptr, iter uintptr) {
  10477. var pos int32
  10478. _ = pos
  10479. pos = (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos + int32(1)
  10480. if pos >= (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  10481. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  10482. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  10483. } else {
  10484. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  10485. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  10486. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  10487. }
  10488. }
  10489. func _FcCharSetIterStart(tls *libc.TLS, fcs uintptr, iter uintptr) {
  10490. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(0)
  10491. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = 0
  10492. _FcCharSetIterSet(tls, fcs, iter)
  10493. }
  10494. func XFcCharSetCopy(tls *libc.TLS, src uintptr) (r uintptr) {
  10495. var v1 TFcBool
  10496. var p4 uintptr
  10497. _, _ = v1, p4
  10498. if src != 0 {
  10499. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(src)).Fcount == -libc.Int32FromInt32(1))
  10500. goto _2
  10501. _2:
  10502. if !(v1 != 0) {
  10503. p4 = src
  10504. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  10505. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  10506. goto _3
  10507. _3:
  10508. } else {
  10509. XFcCacheObjectReference(tls, src)
  10510. }
  10511. }
  10512. return src
  10513. }
  10514. func XFcCharSetEqual(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  10515. bp := tls.Alloc(32)
  10516. defer tls.Free(32)
  10517. var i int32
  10518. var _ /* ai at bp+0 */ TFcCharSetIter
  10519. var _ /* bi at bp+16 */ TFcCharSetIter
  10520. _ = i
  10521. if a == b {
  10522. return int32(m_FcTrue)
  10523. }
  10524. if !(a != 0) || !(b != 0) {
  10525. return m_FcFalse
  10526. }
  10527. _FcCharSetIterStart(tls, a, bp)
  10528. _FcCharSetIterStart(tls, b, bp+16)
  10529. for {
  10530. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0) {
  10531. break
  10532. }
  10533. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 != (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10534. return m_FcFalse
  10535. }
  10536. i = 0
  10537. for {
  10538. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10539. break
  10540. }
  10541. if *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf + uintptr(i)*4)) {
  10542. return m_FcFalse
  10543. }
  10544. goto _2
  10545. _2:
  10546. ;
  10547. i++
  10548. }
  10549. goto _1
  10550. _1:
  10551. ;
  10552. _FcCharSetIterNext(tls, a, bp)
  10553. _FcCharSetIterNext(tls, b, bp+16)
  10554. }
  10555. return libc.BoolInt32((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf)
  10556. }
  10557. func _FcCharSetAddLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  10558. var new1 uintptr
  10559. _ = new1
  10560. new1 = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  10561. if !(new1 != 0) {
  10562. return m_FcFalse
  10563. }
  10564. *(*TFcCharLeaf)(unsafe.Pointer(new1)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  10565. return int32(m_FcTrue)
  10566. }
  10567. func _FcCharSetOperate(tls *libc.TLS, a uintptr, b uintptr, overlap uintptr, aonly TFcBool, bonly TFcBool) (r uintptr) {
  10568. bp := tls.Alloc(64)
  10569. defer tls.Free(64)
  10570. var fcs uintptr
  10571. var _ /* ai at bp+0 */ TFcCharSetIter
  10572. var _ /* bi at bp+16 */ TFcCharSetIter
  10573. var _ /* leaf at bp+32 */ TFcCharLeaf
  10574. _ = fcs
  10575. if !(a != 0) || !(b != 0) {
  10576. goto bail0
  10577. }
  10578. fcs = XFcCharSetCreate(tls)
  10579. if !(fcs != 0) {
  10580. goto bail0
  10581. }
  10582. _FcCharSetIterStart(tls, a, bp)
  10583. _FcCharSetIterStart(tls, b, bp+16)
  10584. for ((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 || bonly != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0) && ((*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 || aonly != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10585. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10586. if aonly != 0 {
  10587. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf) != 0) {
  10588. goto bail1
  10589. }
  10590. _FcCharSetIterNext(tls, a, bp)
  10591. } else {
  10592. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  10593. _FcCharSetIterSet(tls, a, bp)
  10594. }
  10595. } else {
  10596. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  10597. if bonly != 0 {
  10598. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf) != 0) {
  10599. goto bail1
  10600. }
  10601. _FcCharSetIterNext(tls, b, bp+16)
  10602. } else {
  10603. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10604. _FcCharSetIterSet(tls, b, bp+16)
  10605. }
  10606. } else {
  10607. if (*(*func(*libc.TLS, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{overlap})))(tls, bp+32, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf) != 0 {
  10608. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, bp+32) != 0) {
  10609. goto bail1
  10610. }
  10611. }
  10612. _FcCharSetIterNext(tls, a, bp)
  10613. _FcCharSetIterNext(tls, b, bp+16)
  10614. }
  10615. }
  10616. }
  10617. return fcs
  10618. goto bail1
  10619. bail1:
  10620. ;
  10621. XFcCharSetDestroy(tls, fcs)
  10622. goto bail0
  10623. bail0:
  10624. ;
  10625. return uintptr(0)
  10626. return r
  10627. }
  10628. func _FcCharSetIntersectLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  10629. var i int32
  10630. var nonempty TFcBool
  10631. var v2 TFcChar32
  10632. _, _, _ = i, nonempty, v2
  10633. nonempty = m_FcFalse
  10634. i = 0
  10635. for {
  10636. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10637. break
  10638. }
  10639. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  10640. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  10641. if v2 != 0 {
  10642. nonempty = int32(m_FcTrue)
  10643. }
  10644. goto _1
  10645. _1:
  10646. ;
  10647. i++
  10648. }
  10649. return nonempty
  10650. }
  10651. func XFcCharSetIntersect(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  10652. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetIntersectLeaf), m_FcFalse, m_FcFalse)
  10653. }
  10654. func _FcCharSetUnionLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  10655. var i int32
  10656. _ = i
  10657. i = 0
  10658. for {
  10659. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10660. break
  10661. }
  10662. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) | *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  10663. goto _1
  10664. _1:
  10665. ;
  10666. i++
  10667. }
  10668. return int32(m_FcTrue)
  10669. }
  10670. func XFcCharSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  10671. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetUnionLeaf), int32(m_FcTrue), int32(m_FcTrue))
  10672. }
  10673. func XFcCharSetMerge(tls *libc.TLS, a uintptr, b uintptr, changed uintptr) (r TFcBool) {
  10674. var ai, bi, v3 int32
  10675. var al, bl uintptr
  10676. var an, bn TFcChar16
  10677. var v1 TFcBool
  10678. _, _, _, _, _, _, _, _ = ai, al, an, bi, bl, bn, v1, v3
  10679. ai = 0
  10680. bi = 0
  10681. if !(a != 0) || !(b != 0) {
  10682. return m_FcFalse
  10683. }
  10684. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(a)).Fcount == -libc.Int32FromInt32(1))
  10685. goto _2
  10686. _2:
  10687. if v1 != 0 {
  10688. if changed != 0 {
  10689. *(*TFcBool)(unsafe.Pointer(changed)) = m_FcFalse
  10690. }
  10691. return m_FcFalse
  10692. }
  10693. if changed != 0 {
  10694. *(*TFcBool)(unsafe.Pointer(changed)) = libc.BoolInt32(!(XFcCharSetIsSubset(tls, b, a) != 0))
  10695. if !(*(*TFcBool)(unsafe.Pointer(changed)) != 0) {
  10696. return int32(m_FcTrue)
  10697. }
  10698. }
  10699. for bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  10700. if ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum {
  10701. v3 = libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2)))
  10702. } else {
  10703. v3 = ^libc.Int32FromInt32(0)
  10704. }
  10705. an = libc.Uint16FromInt32(v3)
  10706. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  10707. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  10708. ai = _FcCharSetFindLeafForward(tls, a, ai+int32(1), bn)
  10709. if ai < 0 {
  10710. ai = -ai - int32(1)
  10711. }
  10712. } else {
  10713. bl = uintptr(int64(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset) + uintptr(bi)*8)))
  10714. if libc.Int32FromUint16(bn) < libc.Int32FromUint16(an) {
  10715. if !(_FcCharSetAddLeaf(tls, a, libc.Uint32FromInt32(libc.Int32FromUint16(bn)<<int32(8)), bl) != 0) {
  10716. return m_FcFalse
  10717. }
  10718. } else {
  10719. al = uintptr(int64(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset) + uintptr(ai)*8)))
  10720. _FcCharSetUnionLeaf(tls, al, al, bl)
  10721. }
  10722. ai++
  10723. bi++
  10724. }
  10725. }
  10726. return int32(m_FcTrue)
  10727. }
  10728. func _FcCharSetSubtractLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  10729. var i int32
  10730. var nonempty TFcBool
  10731. var v2 TFcChar32
  10732. _, _, _ = i, nonempty, v2
  10733. nonempty = m_FcFalse
  10734. i = 0
  10735. for {
  10736. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10737. break
  10738. }
  10739. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  10740. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  10741. if v2 != 0 {
  10742. nonempty = int32(m_FcTrue)
  10743. }
  10744. goto _1
  10745. _1:
  10746. ;
  10747. i++
  10748. }
  10749. return nonempty
  10750. }
  10751. func XFcCharSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  10752. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetSubtractLeaf), int32(m_FcTrue), m_FcFalse)
  10753. }
  10754. func XFcCharSetHasChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  10755. var leaf uintptr
  10756. _ = leaf
  10757. if !(fcs != 0) {
  10758. return m_FcFalse
  10759. }
  10760. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  10761. if !(leaf != 0) {
  10762. return m_FcFalse
  10763. }
  10764. return libc.BoolInt32(*(*TFcChar32)(unsafe.Pointer(leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4))&(uint32(1)<<(ucs4&uint32(0x1f))) != uint32(0))
  10765. }
  10766. func _FcCharSetPopCount(tls *libc.TLS, c1 TFcChar32) (r TFcChar32) {
  10767. return libc.Uint32FromInt32(libc.X__builtin_popcount(tls, c1))
  10768. }
  10769. func XFcCharSetIntersectCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  10770. bp := tls.Alloc(32)
  10771. defer tls.Free(32)
  10772. var am, bm, v2, v3 uintptr
  10773. var count TFcChar32
  10774. var i, v1 int32
  10775. var _ /* ai at bp+0 */ TFcCharSetIter
  10776. var _ /* bi at bp+16 */ TFcCharSetIter
  10777. _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3
  10778. count = uint32(0)
  10779. if a != 0 && b != 0 {
  10780. _FcCharSetIterStart(tls, a, bp)
  10781. _FcCharSetIterStart(tls, b, bp+16)
  10782. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  10783. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10784. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  10785. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  10786. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10787. for {
  10788. v1 = i
  10789. i--
  10790. if !(v1 != 0) {
  10791. break
  10792. }
  10793. v2 = am
  10794. am += 4
  10795. v3 = bm
  10796. bm += 4
  10797. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2))&*(*TFcChar32)(unsafe.Pointer(v3)))
  10798. }
  10799. _FcCharSetIterNext(tls, a, bp)
  10800. } else {
  10801. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10802. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  10803. _FcCharSetIterSet(tls, a, bp)
  10804. }
  10805. }
  10806. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  10807. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10808. _FcCharSetIterSet(tls, b, bp+16)
  10809. }
  10810. }
  10811. }
  10812. return count
  10813. }
  10814. func XFcCharSetCount(tls *libc.TLS, a uintptr) (r TFcChar32) {
  10815. bp := tls.Alloc(16)
  10816. defer tls.Free(16)
  10817. var am, v3 uintptr
  10818. var count TFcChar32
  10819. var i, v2 int32
  10820. var _ /* ai at bp+0 */ TFcCharSetIter
  10821. _, _, _, _, _ = am, count, i, v2, v3
  10822. count = uint32(0)
  10823. if a != 0 {
  10824. _FcCharSetIterStart(tls, a, bp)
  10825. for {
  10826. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10827. break
  10828. }
  10829. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10830. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  10831. for {
  10832. v2 = i
  10833. i--
  10834. if !(v2 != 0) {
  10835. break
  10836. }
  10837. v3 = am
  10838. am += 4
  10839. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v3)))
  10840. }
  10841. goto _1
  10842. _1:
  10843. ;
  10844. _FcCharSetIterNext(tls, a, bp)
  10845. }
  10846. }
  10847. return count
  10848. }
  10849. func XFcCharSetSubtractCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  10850. bp := tls.Alloc(32)
  10851. defer tls.Free(32)
  10852. var am, bm, v2, v3, v5 uintptr
  10853. var count TFcChar32
  10854. var i, v1, v4 int32
  10855. var _ /* ai at bp+0 */ TFcCharSetIter
  10856. var _ /* bi at bp+16 */ TFcCharSetIter
  10857. _, _, _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3, v4, v5
  10858. count = uint32(0)
  10859. if a != 0 && b != 0 {
  10860. _FcCharSetIterStart(tls, a, bp)
  10861. _FcCharSetIterStart(tls, b, bp+16)
  10862. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 {
  10863. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 <= (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10864. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  10865. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10866. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10867. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  10868. for {
  10869. v1 = i
  10870. i--
  10871. if !(v1 != 0) {
  10872. break
  10873. }
  10874. v2 = am
  10875. am += 4
  10876. v3 = bm
  10877. bm += 4
  10878. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)))
  10879. }
  10880. } else {
  10881. for {
  10882. v4 = i
  10883. i--
  10884. if !(v4 != 0) {
  10885. break
  10886. }
  10887. v5 = am
  10888. am += 4
  10889. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v5)))
  10890. }
  10891. }
  10892. _FcCharSetIterNext(tls, a, bp)
  10893. } else {
  10894. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  10895. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10896. _FcCharSetIterSet(tls, b, bp+16)
  10897. }
  10898. }
  10899. }
  10900. }
  10901. return count
  10902. }
  10903. // C documentation
  10904. //
  10905. // /*
  10906. // * return FcTrue iff a is a subset of b
  10907. // */
  10908. func XFcCharSetIsSubset(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  10909. var ai, bi, i, v1 int32
  10910. var am, bm, v2, v3 uintptr
  10911. var an, bn TFcChar16
  10912. _, _, _, _, _, _, _, _, _, _ = ai, am, an, bi, bm, bn, i, v1, v2, v3
  10913. if a == b {
  10914. return int32(m_FcTrue)
  10915. }
  10916. if !(a != 0) || !(b != 0) {
  10917. return m_FcFalse
  10918. }
  10919. bi = 0
  10920. ai = 0
  10921. for ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum && bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  10922. an = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2))
  10923. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  10924. /*
  10925. * Check matching pages
  10926. */
  10927. if libc.Int32FromUint16(an) == libc.Int32FromUint16(bn) {
  10928. am = uintptr(int64(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset) + uintptr(ai)*8)))
  10929. bm = uintptr(int64(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset) + uintptr(bi)*8)))
  10930. if am != bm {
  10931. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10932. /*
  10933. * Does am have any bits not in bm?
  10934. */
  10935. for {
  10936. v1 = i
  10937. i--
  10938. if !(v1 != 0) {
  10939. break
  10940. }
  10941. v2 = am
  10942. am += 4
  10943. v3 = bm
  10944. bm += 4
  10945. if *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)) != 0 {
  10946. return m_FcFalse
  10947. }
  10948. }
  10949. }
  10950. ai++
  10951. bi++
  10952. } else {
  10953. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  10954. return m_FcFalse
  10955. } else {
  10956. bi = _FcCharSetFindLeafForward(tls, b, bi+int32(1), an)
  10957. if bi < 0 {
  10958. bi = -bi - int32(1)
  10959. }
  10960. }
  10961. }
  10962. }
  10963. /*
  10964. * did we look at every page?
  10965. */
  10966. return libc.BoolInt32(ai >= (*TFcCharSet)(unsafe.Pointer(a)).Fnum)
  10967. }
  10968. /*
  10969. * These two functions efficiently walk the entire charmap for
  10970. * other software (like pango) that want their own copy
  10971. */
  10972. func XFcCharSetNextPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  10973. bp := tls.Alloc(16)
  10974. defer tls.Free(16)
  10975. var page TFcChar32
  10976. var _ /* ai at bp+0 */ TFcCharSetIter
  10977. _ = page
  10978. if !(a != 0) {
  10979. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  10980. }
  10981. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = *(*TFcChar32)(unsafe.Pointer(next))
  10982. _FcCharSetIterSet(tls, a, bp)
  10983. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10984. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  10985. }
  10986. /*
  10987. * Save current information
  10988. */
  10989. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10990. libc.X__builtin___memcpy_chk(tls, map1, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32), ^t__predefined_size_t(0))
  10991. /*
  10992. * Step to next page
  10993. */
  10994. _FcCharSetIterNext(tls, a, bp)
  10995. *(*TFcChar32)(unsafe.Pointer(next)) = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10996. return page
  10997. }
  10998. func XFcCharSetFirstPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  10999. *(*TFcChar32)(unsafe.Pointer(next)) = uint32(0)
  11000. return XFcCharSetNextPage(tls, a, map1, next)
  11001. }
  11002. /*
  11003. * old coverage API, rather hard to use correctly
  11004. */
  11005. func XFcCharSetCoverage(tls *libc.TLS, a uintptr, page TFcChar32, result uintptr) (r TFcChar32) {
  11006. bp := tls.Alloc(16)
  11007. defer tls.Free(16)
  11008. var _ /* ai at bp+0 */ TFcCharSetIter
  11009. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = page
  11010. _FcCharSetIterSet(tls, a, bp)
  11011. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  11012. libc.X__builtin___memset_chk(tls, result, int32('\000'), libc.Uint64FromInt32(libc.Int32FromInt32(256)/libc.Int32FromInt32(8)), ^t__predefined_size_t(0))
  11013. page = uint32(0)
  11014. } else {
  11015. libc.X__builtin___memcpy_chk(tls, result, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32), ^t__predefined_size_t(0))
  11016. _FcCharSetIterNext(tls, a, bp)
  11017. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  11018. }
  11019. return page
  11020. }
  11021. func _FcNameParseRange(tls *libc.TLS, string1 uintptr, pfirst uintptr, plast uintptr) (r TFcBool) {
  11022. bp := tls.Alloc(16)
  11023. defer tls.Free(16)
  11024. var first, last, v10 int64
  11025. var t uintptr
  11026. var v1, v11, v15, v17, v18, v5, v7, v8 int32
  11027. var v13, v3 t__darwin_ct_rune_t
  11028. var v14, v4 uint64
  11029. var _ /* s at bp+0 */ uintptr
  11030. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = first, last, t, v1, v10, v11, v13, v14, v15, v17, v18, v3, v4, v5, v7, v8
  11031. *(*uintptr)(unsafe.Pointer(bp)) = *(*uintptr)(unsafe.Pointer(string1))
  11032. for {
  11033. v3 = libc.Int32FromUint8(libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))))
  11034. v4 = uint64(0x00004000)
  11035. v8 = libc.BoolInt32(v3 & ^libc.Int32FromInt32(0x7F) == 0)
  11036. goto _9
  11037. _9:
  11038. if v8 != 0 {
  11039. v7 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v3)*4)))&v4 != 0))
  11040. } else {
  11041. v7 = libc.BoolInt32(!!(libc.X__maskrune(tls, v3, v4) != 0))
  11042. }
  11043. v5 = v7
  11044. goto _6
  11045. _6:
  11046. v1 = v5
  11047. goto _2
  11048. _2:
  11049. if !(v1 != 0) {
  11050. break
  11051. }
  11052. *(*uintptr)(unsafe.Pointer(bp))++
  11053. }
  11054. t = *(*uintptr)(unsafe.Pointer(bp))
  11055. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = 0
  11056. v10 = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  11057. last = v10
  11058. first = v10
  11059. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != 0 {
  11060. return m_FcFalse
  11061. }
  11062. for {
  11063. v13 = libc.Int32FromUint8(libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))))
  11064. v14 = uint64(0x00004000)
  11065. v18 = libc.BoolInt32(v13 & ^libc.Int32FromInt32(0x7F) == 0)
  11066. goto _19
  11067. _19:
  11068. if v18 != 0 {
  11069. v17 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v13)*4)))&v14 != 0))
  11070. } else {
  11071. v17 = libc.BoolInt32(!!(libc.X__maskrune(tls, v13, v14) != 0))
  11072. }
  11073. v15 = v17
  11074. goto _16
  11075. _16:
  11076. v11 = v15
  11077. goto _12
  11078. _12:
  11079. if !(v11 != 0) {
  11080. break
  11081. }
  11082. *(*uintptr)(unsafe.Pointer(bp))++
  11083. }
  11084. if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) == int32('-') {
  11085. *(*uintptr)(unsafe.Pointer(bp))++
  11086. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = 0
  11087. last = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  11088. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != 0 {
  11089. return m_FcFalse
  11090. }
  11091. }
  11092. if *(*uintptr)(unsafe.Pointer(bp)) == t || first < 0 || last < 0 || last < first || last > int64(0x10ffff) {
  11093. return m_FcFalse
  11094. }
  11095. *(*uintptr)(unsafe.Pointer(string1)) = *(*uintptr)(unsafe.Pointer(bp))
  11096. *(*TFcChar32)(unsafe.Pointer(pfirst)) = libc.Uint32FromInt64(first)
  11097. *(*TFcChar32)(unsafe.Pointer(plast)) = libc.Uint32FromInt64(last)
  11098. return int32(m_FcTrue)
  11099. }
  11100. func XFcNameParseCharSet(tls *libc.TLS, _string uintptr) (r uintptr) {
  11101. bp := tls.Alloc(16)
  11102. defer tls.Free(16)
  11103. *(*uintptr)(unsafe.Pointer(bp)) = _string
  11104. var c uintptr
  11105. var u TFcChar32
  11106. var _ /* first at bp+8 */ TFcChar32
  11107. var _ /* last at bp+12 */ TFcChar32
  11108. _, _ = c, u
  11109. c = XFcCharSetCreate(tls)
  11110. if !(c != 0) {
  11111. goto bail0
  11112. }
  11113. for *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != 0 {
  11114. if !(_FcNameParseRange(tls, bp, bp+8, bp+12) != 0) {
  11115. goto bail1
  11116. }
  11117. u = *(*TFcChar32)(unsafe.Pointer(bp + 8))
  11118. for {
  11119. if !(u < *(*TFcChar32)(unsafe.Pointer(bp + 12))+uint32(1)) {
  11120. break
  11121. }
  11122. XFcCharSetAddChar(tls, c, u)
  11123. goto _1
  11124. _1:
  11125. ;
  11126. u++
  11127. }
  11128. }
  11129. return c
  11130. goto bail1
  11131. bail1:
  11132. ;
  11133. XFcCharSetDestroy(tls, c)
  11134. goto bail0
  11135. bail0:
  11136. ;
  11137. return libc.UintptrFromInt32(0)
  11138. return r
  11139. }
  11140. func _FcNameUnparseUnicode(tls *libc.TLS, buf uintptr, u TFcChar32) {
  11141. bp := tls.Alloc(80)
  11142. defer tls.Free(80)
  11143. var _ /* buf_static at bp+0 */ [64]TFcChar8
  11144. libc.X__builtin___snprintf_chk(tls, bp, uint64(64), 0, ^t__predefined_size_t(0), __ccgo_ts+1831, libc.VaList(bp+72, u))
  11145. XFcStrBufString(tls, buf, bp)
  11146. }
  11147. func XFcNameUnparseCharSet(tls *libc.TLS, buf uintptr, c uintptr) (r TFcBool) {
  11148. bp := tls.Alloc(16)
  11149. defer tls.Free(16)
  11150. var bits, first, last, u, v1 TFcChar32
  11151. var i int32
  11152. var _ /* ci at bp+0 */ TFcCharSetIter
  11153. _, _, _, _, _, _ = bits, first, i, last, u, v1
  11154. v1 = libc.Uint32FromInt32(0x7FFFFFFF)
  11155. last = v1
  11156. first = v1
  11157. _FcCharSetIterStart(tls, c, bp)
  11158. for {
  11159. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  11160. break
  11161. }
  11162. i = 0
  11163. for {
  11164. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  11165. break
  11166. }
  11167. bits = *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4))
  11168. u = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 + libc.Uint32FromInt32(i*int32(32))
  11169. for bits != 0 {
  11170. if bits&uint32(1) != 0 {
  11171. if u != last+uint32(1) {
  11172. if last != first {
  11173. XFcStrBufChar(tls, buf, uint8('-'))
  11174. _FcNameUnparseUnicode(tls, buf, last)
  11175. }
  11176. if last != uint32(0x7FFFFFFF) {
  11177. XFcStrBufChar(tls, buf, uint8(' '))
  11178. }
  11179. /* Start new range. */
  11180. first = u
  11181. _FcNameUnparseUnicode(tls, buf, u)
  11182. }
  11183. last = u
  11184. }
  11185. bits >>= uint32(1)
  11186. u++
  11187. }
  11188. goto _3
  11189. _3:
  11190. ;
  11191. i++
  11192. }
  11193. goto _2
  11194. _2:
  11195. ;
  11196. _FcCharSetIterNext(tls, c, bp)
  11197. }
  11198. if last != first {
  11199. XFcStrBufChar(tls, buf, uint8('-'))
  11200. _FcNameUnparseUnicode(tls, buf, last)
  11201. }
  11202. return int32(m_FcTrue)
  11203. }
  11204. type TFcCharLeafEnt = struct {
  11205. Fnext uintptr
  11206. Fhash TFcChar32
  11207. Fleaf TFcCharLeaf
  11208. }
  11209. type T_FcCharLeafEnt = TFcCharLeafEnt
  11210. type TFcCharSetEnt = struct {
  11211. Fnext uintptr
  11212. Fhash TFcChar32
  11213. Fset TFcCharSet
  11214. }
  11215. type T_FcCharSetEnt = TFcCharSetEnt
  11216. type TFcCharSetOrigEnt = struct {
  11217. Fnext uintptr
  11218. Forig uintptr
  11219. Ffrozen uintptr
  11220. }
  11221. type T_FcCharSetOrigEnt = TFcCharSetOrigEnt
  11222. func _FcCharLeafEntCreate(tls *libc.TLS, freezer uintptr) (r uintptr) {
  11223. var newBlocks, v1, v2, v3 uintptr
  11224. _, _, _, _ = newBlocks, v1, v2, v3
  11225. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain != 0) {
  11226. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count++
  11227. newBlocks = libc.Xrealloc(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks, libc.Uint64FromInt32((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count)*uint64(8))
  11228. if !(newBlocks != 0) {
  11229. return uintptr(0)
  11230. }
  11231. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks = newBlocks
  11232. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(4096)/libc.Uint64FromInt64(48)*libc.Uint64FromInt64(48))
  11233. *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count-int32(1))*8)) = v1
  11234. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block = v1
  11235. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block != 0) {
  11236. return uintptr(0)
  11237. }
  11238. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain = libc.Int32FromUint64(libc.Uint64FromInt32(4096) / libc.Uint64FromInt64(48))
  11239. }
  11240. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain--
  11241. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated++
  11242. v3 = freezer + 3144
  11243. v2 = *(*uintptr)(unsafe.Pointer(v3))
  11244. *(*uintptr)(unsafe.Pointer(v3)) += 48
  11245. return v2
  11246. }
  11247. func _FcCharLeafHash(tls *libc.TLS, leaf uintptr) (r TFcChar32) {
  11248. var hash TFcChar32
  11249. var i int32
  11250. _, _ = hash, i
  11251. hash = uint32(0)
  11252. i = 0
  11253. for {
  11254. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  11255. break
  11256. }
  11257. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(i)*4))
  11258. goto _1
  11259. _1:
  11260. ;
  11261. i++
  11262. }
  11263. return hash
  11264. }
  11265. func _FcCharSetFreezeLeaf(tls *libc.TLS, freezer uintptr, leaf uintptr) (r uintptr) {
  11266. var bucket, ent uintptr
  11267. var hash TFcChar32
  11268. _, _, _ = bucket, ent, hash
  11269. hash = _FcCharLeafHash(tls, leaf)
  11270. bucket = freezer + uintptr(hash%uint32(m_FC_CHAR_LEAF_HASH_SIZE))*8
  11271. ent = *(*uintptr)(unsafe.Pointer(bucket))
  11272. for {
  11273. if !(ent != 0) {
  11274. break
  11275. }
  11276. if (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash == hash && !(libc.Xmemcmp(tls, ent+12, leaf, uint64(32)) != 0) {
  11277. return ent + 12
  11278. }
  11279. goto _1
  11280. _1:
  11281. ;
  11282. ent = (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext
  11283. }
  11284. ent = _FcCharLeafEntCreate(tls, freezer)
  11285. if !(ent != 0) {
  11286. return uintptr(0)
  11287. }
  11288. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fleaf = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  11289. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash = hash
  11290. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  11291. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  11292. return ent + 12
  11293. }
  11294. func _FcCharSetHash(tls *libc.TLS, fcs uintptr) (r TFcChar32) {
  11295. var hash TFcChar32
  11296. var i int32
  11297. _, _ = hash, i
  11298. hash = uint32(0)
  11299. /* hash in leaves */
  11300. i = 0
  11301. for {
  11302. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11303. break
  11304. }
  11305. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcCharLeafHash(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  11306. goto _1
  11307. _1:
  11308. ;
  11309. i++
  11310. }
  11311. /* hash in numbers */
  11312. i = 0
  11313. for {
  11314. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11315. break
  11316. }
  11317. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))
  11318. goto _2
  11319. _2:
  11320. ;
  11321. i++
  11322. }
  11323. return hash
  11324. }
  11325. func _FcCharSetFreezeOrig(tls *libc.TLS, freezer uintptr, orig uintptr, frozen uintptr) (r TFcBool) {
  11326. var bucket, ent uintptr
  11327. _, _ = bucket, ent
  11328. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  11329. ent = libc.Xmalloc(tls, uint64(24))
  11330. if !(ent != 0) {
  11331. return m_FcFalse
  11332. }
  11333. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig = orig
  11334. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen = frozen
  11335. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  11336. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  11337. return int32(m_FcTrue)
  11338. }
  11339. func _FcCharSetFreezeBase(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  11340. var bucket, ent, ent_leaves uintptr
  11341. var hash TFcChar32
  11342. var i, i1, size int32
  11343. var ok TFcBool
  11344. _, _, _, _, _, _, _, _ = bucket, ent, ent_leaves, hash, i, i1, ok, size
  11345. hash = _FcCharSetHash(tls, fcs)
  11346. bucket = freezer + 2072 + uintptr(hash%uint32(m_FC_CHAR_SET_HASH_SIZE))*8
  11347. ent = *(*uintptr)(unsafe.Pointer(bucket))
  11348. for {
  11349. if !(ent != 0) {
  11350. break
  11351. }
  11352. if (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash == hash && (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && !(libc.Xmemcmp(tls, uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fnumbers_offset), uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint64(2)) != 0) {
  11353. ok = int32(m_FcTrue)
  11354. i1 = 0
  11355. for {
  11356. if !(i1 < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11357. break
  11358. }
  11359. if uintptr(int64(uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset) + uintptr(i1)*8))) != uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i1)*8))) {
  11360. ok = m_FcFalse
  11361. }
  11362. goto _2
  11363. _2:
  11364. ;
  11365. i1++
  11366. }
  11367. if ok != 0 {
  11368. return ent + 16
  11369. }
  11370. }
  11371. goto _1
  11372. _1:
  11373. ;
  11374. ent = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  11375. }
  11376. size = libc.Int32FromUint64(libc.Uint64FromInt64(40) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(2))
  11377. ent = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  11378. if !(ent != 0) {
  11379. return uintptr(0)
  11380. }
  11381. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated++
  11382. (*TFcRef)(unsafe.Pointer(ent + 16)).Fcount = -libc.Int32FromInt32(1)
  11383. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  11384. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  11385. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = int64(24)
  11386. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = libc.Int64FromUint64(libc.Uint64FromInt64((*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(8))
  11387. ent_leaves = uintptr(Tintptr_t(ent+16) + (*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset)
  11388. i = 0
  11389. for {
  11390. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11391. break
  11392. }
  11393. *(*Tintptr_t)(unsafe.Pointer(ent_leaves + uintptr(i)*8)) = int64(uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8)))) - int64(ent_leaves)
  11394. goto _3
  11395. _3:
  11396. ;
  11397. i++
  11398. }
  11399. libc.X__builtin___memcpy_chk(tls, uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fnumbers_offset), uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint64(2), ^t__predefined_size_t(0))
  11400. } else {
  11401. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = 0
  11402. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = 0
  11403. }
  11404. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash = hash
  11405. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  11406. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  11407. return ent + 16
  11408. }
  11409. func _FcCharSetFindFrozen(tls *libc.TLS, freezer uintptr, orig uintptr) (r uintptr) {
  11410. var bucket, ent uintptr
  11411. _, _ = bucket, ent
  11412. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  11413. ent = *(*uintptr)(unsafe.Pointer(bucket))
  11414. for {
  11415. if !(ent != 0) {
  11416. break
  11417. }
  11418. if (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig == orig {
  11419. return (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen
  11420. }
  11421. goto _1
  11422. _1:
  11423. ;
  11424. ent = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext
  11425. }
  11426. return libc.UintptrFromInt32(0)
  11427. }
  11428. func XFcCharSetFreeze(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  11429. var b, l, n uintptr
  11430. var i int32
  11431. _, _, _, _ = b, i, l, n
  11432. n = uintptr(0)
  11433. b = XFcCharSetCreate(tls)
  11434. if !(b != 0) {
  11435. goto bail0
  11436. }
  11437. i = 0
  11438. for {
  11439. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11440. break
  11441. }
  11442. l = _FcCharSetFreezeLeaf(tls, freezer, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  11443. if !(l != 0) {
  11444. goto bail1
  11445. }
  11446. if !(_FcCharSetInsertLeaf(tls, b, libc.Uint32FromInt32(libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))<<int32(8)), l) != 0) {
  11447. goto bail1
  11448. }
  11449. goto _1
  11450. _1:
  11451. ;
  11452. i++
  11453. }
  11454. n = _FcCharSetFreezeBase(tls, freezer, b)
  11455. if !(_FcCharSetFreezeOrig(tls, freezer, fcs, n) != 0) {
  11456. n = libc.UintptrFromInt32(0)
  11457. goto bail1
  11458. }
  11459. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen++
  11460. *(*int32)(unsafe.Pointer(freezer + 3156)) += (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  11461. goto bail1
  11462. bail1:
  11463. ;
  11464. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  11465. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset))
  11466. }
  11467. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  11468. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset))
  11469. }
  11470. libc.Xfree(tls, b)
  11471. goto bail0
  11472. bail0:
  11473. ;
  11474. return n
  11475. return r
  11476. }
  11477. func XFcCharSetFreezerCreate(tls *libc.TLS) (r uintptr) {
  11478. var freezer uintptr
  11479. _ = freezer
  11480. freezer = libc.Xcalloc(tls, uint64(1), uint64(3176))
  11481. return freezer
  11482. }
  11483. func XFcCharSetFreezerDestroy(tls *libc.TLS, freezer uintptr) {
  11484. bp := tls.Alloc(48)
  11485. defer tls.Free(48)
  11486. var ent, ent1, next, next1 uintptr
  11487. var i int32
  11488. _, _, _, _, _ = ent, ent1, i, next, next1
  11489. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  11490. libc.Xprintf(tls, __ccgo_ts+1834, libc.VaList(bp+8, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_seen, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated))
  11491. }
  11492. i = 0
  11493. for {
  11494. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  11495. break
  11496. }
  11497. ent = *(*uintptr)(unsafe.Pointer(freezer + 2072 + uintptr(i)*8))
  11498. for {
  11499. if !(ent != 0) {
  11500. break
  11501. }
  11502. next = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  11503. libc.Xfree(tls, ent)
  11504. goto _2
  11505. _2:
  11506. ;
  11507. ent = next
  11508. }
  11509. goto _1
  11510. _1:
  11511. ;
  11512. i++
  11513. }
  11514. i = 0
  11515. for {
  11516. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  11517. break
  11518. }
  11519. ent1 = *(*uintptr)(unsafe.Pointer(freezer + 2608 + uintptr(i)*8))
  11520. for {
  11521. if !(ent1 != 0) {
  11522. break
  11523. }
  11524. next1 = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent1)).Fnext
  11525. libc.Xfree(tls, ent1)
  11526. goto _4
  11527. _4:
  11528. ;
  11529. ent1 = next1
  11530. }
  11531. goto _3
  11532. _3:
  11533. ;
  11534. i++
  11535. }
  11536. i = 0
  11537. for {
  11538. if !(i < (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count) {
  11539. break
  11540. }
  11541. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr(i)*8)))
  11542. goto _5
  11543. _5:
  11544. ;
  11545. i++
  11546. }
  11547. libc.Xfree(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks)
  11548. libc.Xfree(tls, freezer)
  11549. }
  11550. func XFcCharSetSerializeAlloc(tls *libc.TLS, serialize uintptr, cs uintptr) (r TFcBool) {
  11551. var i int32
  11552. var leaves, numbers uintptr
  11553. var v1 TFcBool
  11554. _, _, _, _ = i, leaves, numbers, v1
  11555. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  11556. goto _2
  11557. _2:
  11558. if !(v1 != 0) {
  11559. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  11560. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = XFcCharSetFreezerCreate(tls)
  11561. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  11562. return m_FcFalse
  11563. }
  11564. }
  11565. if _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs) != 0 {
  11566. return int32(m_FcTrue)
  11567. }
  11568. cs = XFcCharSetFreeze(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  11569. }
  11570. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  11571. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  11572. if !(XFcSerializeAlloc(tls, serialize, cs, int32(24)) != 0) {
  11573. return m_FcFalse
  11574. }
  11575. if !(XFcSerializeAlloc(tls, serialize, leaves, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(8))) != 0) {
  11576. return m_FcFalse
  11577. }
  11578. if !(XFcSerializeAlloc(tls, serialize, numbers, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(2))) != 0) {
  11579. return m_FcFalse
  11580. }
  11581. i = 0
  11582. for {
  11583. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  11584. break
  11585. }
  11586. if !(XFcSerializeAlloc(tls, serialize, uintptr(int64(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset) + uintptr(i)*8))), int32(32)) != 0) {
  11587. return m_FcFalse
  11588. }
  11589. goto _3
  11590. _3:
  11591. ;
  11592. i++
  11593. }
  11594. return int32(m_FcTrue)
  11595. }
  11596. func XFcCharSetSerialize(tls *libc.TLS, serialize uintptr, cs uintptr) (r uintptr) {
  11597. var cs_serialized, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized uintptr
  11598. var i int32
  11599. var v1 TFcBool
  11600. _, _, _, _, _, _, _, _, _ = cs_serialized, i, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized, v1
  11601. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  11602. goto _2
  11603. _2:
  11604. ;
  11605. if !(v1 != 0) && (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  11606. cs = _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  11607. if !(cs != 0) {
  11608. return libc.UintptrFromInt32(0)
  11609. }
  11610. }
  11611. cs_serialized = XFcSerializePtr(tls, serialize, cs)
  11612. if !(cs_serialized != 0) {
  11613. return libc.UintptrFromInt32(0)
  11614. }
  11615. (*TFcRef)(unsafe.Pointer(cs_serialized)).Fcount = -libc.Int32FromInt32(1)
  11616. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnum = (*TFcCharSet)(unsafe.Pointer(cs)).Fnum
  11617. if (*TFcCharSet)(unsafe.Pointer(cs)).Fnum != 0 {
  11618. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  11619. leaves_serialized = XFcSerializePtr(tls, serialize, leaves)
  11620. if !(leaves_serialized != 0) {
  11621. return libc.UintptrFromInt32(0)
  11622. }
  11623. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = int64(leaves_serialized) - int64(cs_serialized)
  11624. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  11625. numbers_serialized = XFcSerializePtr(tls, serialize, numbers)
  11626. if !(numbers != 0) {
  11627. return libc.UintptrFromInt32(0)
  11628. }
  11629. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = int64(numbers_serialized) - int64(cs_serialized)
  11630. i = 0
  11631. for {
  11632. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  11633. break
  11634. }
  11635. leaf = uintptr(int64(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset) + uintptr(i)*8)))
  11636. leaf_serialized = XFcSerializePtr(tls, serialize, leaf)
  11637. if !(leaf_serialized != 0) {
  11638. return libc.UintptrFromInt32(0)
  11639. }
  11640. *(*TFcCharLeaf)(unsafe.Pointer(leaf_serialized)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  11641. *(*Tintptr_t)(unsafe.Pointer(leaves_serialized + uintptr(i)*8)) = int64(leaf_serialized) - int64(leaves_serialized)
  11642. *(*TFcChar16)(unsafe.Pointer(numbers_serialized + uintptr(i)*2)) = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2))
  11643. goto _3
  11644. _3:
  11645. ;
  11646. i++
  11647. }
  11648. } else {
  11649. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = 0
  11650. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = 0
  11651. }
  11652. return cs_serialized
  11653. }
  11654. const m_FC_O_BINARY = 0
  11655. const m_FC_O_CLOEXEC = "O_CLOEXEC"
  11656. const m_FC_O_LARGEFILE = 0
  11657. const m_FC_O_NOINHERIT = 0
  11658. const m_FC_O_TEMPORARY = 0
  11659. const m_O_CLOEXEC1 = 16777216
  11660. const m_O_RDONLY1 = 0x0000
  11661. const m_O_RDWR1 = 0x0002
  11662. /*
  11663. * Copyright (c) 2000, 2002-2006, 2008-2010, 2012 Apple Inc. All rights reserved.
  11664. *
  11665. * @APPLE_LICENSE_HEADER_START@
  11666. *
  11667. * This file contains Original Code and/or Modifications of Original Code
  11668. * as defined in and that are subject to the Apple Public Source License
  11669. * Version 2.0 (the 'License'). You may not use this file except in
  11670. * compliance with the License. Please obtain a copy of the License at
  11671. * http://www.opensource.apple.com/apsl/ and read it before using this
  11672. * file.
  11673. *
  11674. * The Original Code and all software distributed under the License are
  11675. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11676. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11677. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11678. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11679. * Please see the License for the specific language governing rights and
  11680. * limitations under the License.
  11681. *
  11682. * @APPLE_LICENSE_HEADER_END@
  11683. */
  11684. /*-
  11685. * Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved
  11686. * Copyright (c) 1991, 1993, 1994
  11687. * The Regents of the University of California. All rights reserved.
  11688. *
  11689. * Redistribution and use in source and binary forms, with or without
  11690. * modification, are permitted provided that the following conditions
  11691. * are met:
  11692. * 1. Redistributions of source code must retain the above copyright
  11693. * notice, this list of conditions and the following disclaimer.
  11694. * 2. Redistributions in binary form must reproduce the above copyright
  11695. * notice, this list of conditions and the following disclaimer in the
  11696. * documentation and/or other materials provided with the distribution.
  11697. * 3. All advertising materials mentioning features or use of this software
  11698. * must display the following acknowledgement:
  11699. * This product includes software developed by the University of
  11700. * California, Berkeley and its contributors.
  11701. * 4. Neither the name of the University nor the names of its contributors
  11702. * may be used to endorse or promote products derived from this software
  11703. * without specific prior written permission.
  11704. *
  11705. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11706. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11707. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11708. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11709. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11710. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11711. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11712. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11713. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11714. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11715. * SUCH DAMAGE.
  11716. *
  11717. * @(#)unistd.h 8.12 (Berkeley) 4/27/95
  11718. *
  11719. * Copyright (c) 1998 Apple Compter, Inc.
  11720. * All Rights Reserved
  11721. */
  11722. /* History:
  11723. 7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr
  11724. 3/26/98 CHW at Apple added real interface to searchfs call
  11725. 3/5/98 CHW at Apple added hfs semantic system calls headers
  11726. */
  11727. /*===---- stdarg.h - Variable argument handling ----------------------------===
  11728. *
  11729. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11730. * See https://llvm.org/LICENSE.txt for license information.
  11731. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11732. *
  11733. *===-----------------------------------------------------------------------===
  11734. */
  11735. /*
  11736. * This header is designed to be included multiple times. If any of the __need_
  11737. * macros are defined, then only that subset of interfaces are provided. This
  11738. * can be useful for POSIX headers that need to not expose all of stdarg.h, but
  11739. * need to use some of its interfaces. Otherwise this header provides all of
  11740. * the expected interfaces.
  11741. *
  11742. * When clang modules are enabled, this header is a textual header to support
  11743. * the multiple include behavior. As such, it doesn't directly declare anything
  11744. * so that it doesn't add duplicate declarations to all of its includers'
  11745. * modules.
  11746. */
  11747. /* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
  11748. * or -ansi is not specified, since it was not part of C90.
  11749. */
  11750. /*===---- __stdarg_header_macro.h ------------------------------------------===
  11751. *
  11752. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11753. * See https://llvm.org/LICENSE.txt for license information.
  11754. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11755. *
  11756. *===-----------------------------------------------------------------------===
  11757. */
  11758. /*===---- __stdarg___gnuc_va_list.h - Definition of __gnuc_va_list ---------===
  11759. *
  11760. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11761. * See https://llvm.org/LICENSE.txt for license information.
  11762. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11763. *
  11764. *===-----------------------------------------------------------------------===
  11765. */
  11766. /*===---- __stdarg_va_list.h - Definition of va_list -----------------------===
  11767. *
  11768. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11769. * See https://llvm.org/LICENSE.txt for license information.
  11770. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11771. *
  11772. *===-----------------------------------------------------------------------===
  11773. */
  11774. /*===---- __stdarg_va_arg.h - Definitions of va_start, va_arg, va_end-------===
  11775. *
  11776. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11777. * See https://llvm.org/LICENSE.txt for license information.
  11778. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11779. *
  11780. *===-----------------------------------------------------------------------===
  11781. */
  11782. /*===---- __stdarg___va_copy.h - Definition of __va_copy -------------------===
  11783. *
  11784. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11785. * See https://llvm.org/LICENSE.txt for license information.
  11786. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11787. *
  11788. *===-----------------------------------------------------------------------===
  11789. */
  11790. /*===---- __stdarg_va_copy.h - Definition of va_copy------------------------===
  11791. *
  11792. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11793. * See https://llvm.org/LICENSE.txt for license information.
  11794. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11795. *
  11796. *===-----------------------------------------------------------------------===
  11797. */
  11798. /*
  11799. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  11800. *
  11801. * @APPLE_LICENSE_HEADER_START@
  11802. *
  11803. * This file contains Original Code and/or Modifications of Original Code
  11804. * as defined in and that are subject to the Apple Public Source License
  11805. * Version 2.0 (the 'License'). You may not use this file except in
  11806. * compliance with the License. Please obtain a copy of the License at
  11807. * http://www.opensource.apple.com/apsl/ and read it before using this
  11808. * file.
  11809. *
  11810. * The Original Code and all software distributed under the License are
  11811. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11812. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11813. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11814. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11815. * Please see the License for the specific language governing rights and
  11816. * limitations under the License.
  11817. *
  11818. * @APPLE_LICENSE_HEADER_END@
  11819. */
  11820. /*-
  11821. * Copyright (c) 1990, 1993
  11822. * The Regents of the University of California. All rights reserved.
  11823. *
  11824. * Redistribution and use in source and binary forms, with or without
  11825. * modification, are permitted provided that the following conditions
  11826. * are met:
  11827. * 1. Redistributions of source code must retain the above copyright
  11828. * notice, this list of conditions and the following disclaimer.
  11829. * 2. Redistributions in binary form must reproduce the above copyright
  11830. * notice, this list of conditions and the following disclaimer in the
  11831. * documentation and/or other materials provided with the distribution.
  11832. * 3. All advertising materials mentioning features or use of this software
  11833. * must display the following acknowledgement:
  11834. * This product includes software developed by the University of
  11835. * California, Berkeley and its contributors.
  11836. * 4. Neither the name of the University nor the names of its contributors
  11837. * may be used to endorse or promote products derived from this software
  11838. * without specific prior written permission.
  11839. *
  11840. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11841. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11842. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11843. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11844. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11845. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11846. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11847. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11848. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11849. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11850. * SUCH DAMAGE.
  11851. *
  11852. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  11853. */
  11854. /*
  11855. * Copyright (c) 2023 Apple Inc. All rights reserved.
  11856. *
  11857. * @APPLE_LICENSE_HEADER_START@
  11858. *
  11859. * This file contains Original Code and/or Modifications of Original Code
  11860. * as defined in and that are subject to the Apple Public Source License
  11861. * Version 2.0 (the 'License'). You may not use this file except in
  11862. * compliance with the License. Please obtain a copy of the License at
  11863. * http://www.opensource.apple.com/apsl/ and read it before using this
  11864. * file.
  11865. *
  11866. * The Original Code and all software distributed under the License are
  11867. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11868. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11869. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11870. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11871. * Please see the License for the specific language governing rights and
  11872. * limitations under the License.
  11873. *
  11874. * @APPLE_LICENSE_HEADER_END@
  11875. */
  11876. /*-
  11877. * Copyright (c) 1990, 1993
  11878. * The Regents of the University of California. All rights reserved.
  11879. *
  11880. * Redistribution and use in source and binary forms, with or without
  11881. * modification, are permitted provided that the following conditions
  11882. * are met:
  11883. * 1. Redistributions of source code must retain the above copyright
  11884. * notice, this list of conditions and the following disclaimer.
  11885. * 2. Redistributions in binary form must reproduce the above copyright
  11886. * notice, this list of conditions and the following disclaimer in the
  11887. * documentation and/or other materials provided with the distribution.
  11888. * 3. All advertising materials mentioning features or use of this software
  11889. * must display the following acknowledgement:
  11890. * This product includes software developed by the University of
  11891. * California, Berkeley and its contributors.
  11892. * 4. Neither the name of the University nor the names of its contributors
  11893. * may be used to endorse or promote products derived from this software
  11894. * without specific prior written permission.
  11895. *
  11896. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11897. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11898. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11899. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11900. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11901. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11902. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11903. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11904. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11905. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11906. * SUCH DAMAGE.
  11907. *
  11908. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  11909. */
  11910. /*
  11911. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  11912. *
  11913. * @APPLE_LICENSE_HEADER_START@
  11914. *
  11915. * This file contains Original Code and/or Modifications of Original Code
  11916. * as defined in and that are subject to the Apple Public Source License
  11917. * Version 2.0 (the 'License'). You may not use this file except in
  11918. * compliance with the License. Please obtain a copy of the License at
  11919. * http://www.opensource.apple.com/apsl/ and read it before using this
  11920. * file.
  11921. *
  11922. * The Original Code and all software distributed under the License are
  11923. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11924. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11925. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11926. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11927. * Please see the License for the specific language governing rights and
  11928. * limitations under the License.
  11929. *
  11930. * @APPLE_LICENSE_HEADER_END@
  11931. */
  11932. /*-
  11933. * Copyright (c) 1990, 1993
  11934. * The Regents of the University of California. All rights reserved.
  11935. *
  11936. * Redistribution and use in source and binary forms, with or without
  11937. * modification, are permitted provided that the following conditions
  11938. * are met:
  11939. * 1. Redistributions of source code must retain the above copyright
  11940. * notice, this list of conditions and the following disclaimer.
  11941. * 2. Redistributions in binary form must reproduce the above copyright
  11942. * notice, this list of conditions and the following disclaimer in the
  11943. * documentation and/or other materials provided with the distribution.
  11944. * 3. All advertising materials mentioning features or use of this software
  11945. * must display the following acknowledgement:
  11946. * This product includes software developed by the University of
  11947. * California, Berkeley and its contributors.
  11948. * 4. Neither the name of the University nor the names of its contributors
  11949. * may be used to endorse or promote products derived from this software
  11950. * without specific prior written permission.
  11951. *
  11952. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11953. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11954. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11955. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11956. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11957. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11958. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11959. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11960. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11961. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11962. * SUCH DAMAGE.
  11963. *
  11964. * @(#)string.h 8.1 (Berkeley) 6/2/93
  11965. */
  11966. /*
  11967. * Copyright (c) 2023 Apple Inc. All rights reserved.
  11968. *
  11969. * @APPLE_LICENSE_HEADER_START@
  11970. *
  11971. * This file contains Original Code and/or Modifications of Original Code
  11972. * as defined in and that are subject to the Apple Public Source License
  11973. * Version 2.0 (the 'License'). You may not use this file except in
  11974. * compliance with the License. Please obtain a copy of the License at
  11975. * http://www.opensource.apple.com/apsl/ and read it before using this
  11976. * file.
  11977. *
  11978. * The Original Code and all software distributed under the License are
  11979. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11980. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11981. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11982. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11983. * Please see the License for the specific language governing rights and
  11984. * limitations under the License.
  11985. *
  11986. * @APPLE_LICENSE_HEADER_END@
  11987. */
  11988. /*-
  11989. * Copyright (c) 1990, 1993
  11990. * The Regents of the University of California. All rights reserved.
  11991. *
  11992. * Redistribution and use in source and binary forms, with or without
  11993. * modification, are permitted provided that the following conditions
  11994. * are met:
  11995. * 1. Redistributions of source code must retain the above copyright
  11996. * notice, this list of conditions and the following disclaimer.
  11997. * 2. Redistributions in binary form must reproduce the above copyright
  11998. * notice, this list of conditions and the following disclaimer in the
  11999. * documentation and/or other materials provided with the distribution.
  12000. * 3. All advertising materials mentioning features or use of this software
  12001. * must display the following acknowledgement:
  12002. * This product includes software developed by the University of
  12003. * California, Berkeley and its contributors.
  12004. * 4. Neither the name of the University nor the names of its contributors
  12005. * may be used to endorse or promote products derived from this software
  12006. * without specific prior written permission.
  12007. *
  12008. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12009. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12010. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12011. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12012. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12013. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12014. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12015. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12016. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12017. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12018. * SUCH DAMAGE.
  12019. *
  12020. * @(#)string.h 8.1 (Berkeley) 6/2/93
  12021. */
  12022. /*
  12023. * Copyright (c) 2000, 2023 Apple Computer, Inc. All rights reserved.
  12024. *
  12025. * @APPLE_LICENSE_HEADER_START@
  12026. *
  12027. * This file contains Original Code and/or Modifications of Original Code
  12028. * as defined in and that are subject to the Apple Public Source License
  12029. * Version 2.0 (the 'License'). You may not use this file except in
  12030. * compliance with the License. Please obtain a copy of the License at
  12031. * http://www.opensource.apple.com/apsl/ and read it before using this
  12032. * file.
  12033. *
  12034. * The Original Code and all software distributed under the License are
  12035. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  12036. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  12037. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  12038. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  12039. * Please see the License for the specific language governing rights and
  12040. * limitations under the License.
  12041. *
  12042. * @APPLE_LICENSE_HEADER_END@
  12043. */
  12044. /*
  12045. * Copyright (c) 1989, 1993
  12046. * The Regents of the University of California. All rights reserved.
  12047. * (c) UNIX System Laboratories, Inc.
  12048. * All or some portions of this file are derived from material licensed
  12049. * to the University of California by American Telephone and Telegraph
  12050. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  12051. * the permission of UNIX System Laboratories, Inc.
  12052. *
  12053. * Redistribution and use in source and binary forms, with or without
  12054. * modification, are permitted provided that the following conditions
  12055. * are met:
  12056. * 1. Redistributions of source code must retain the above copyright
  12057. * notice, this list of conditions and the following disclaimer.
  12058. * 2. Redistributions in binary form must reproduce the above copyright
  12059. * notice, this list of conditions and the following disclaimer in the
  12060. * documentation and/or other materials provided with the distribution.
  12061. * 3. All advertising materials mentioning features or use of this software
  12062. * must display the following acknowledgement:
  12063. * This product includes software developed by the University of
  12064. * California, Berkeley and its contributors.
  12065. * 4. Neither the name of the University nor the names of its contributors
  12066. * may be used to endorse or promote products derived from this software
  12067. * without specific prior written permission.
  12068. *
  12069. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12070. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12071. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12072. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12073. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12074. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12075. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12076. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12077. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12078. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12079. * SUCH DAMAGE.
  12080. *
  12081. * @(#)time.h 8.3 (Berkeley) 1/21/94
  12082. */
  12083. /*
  12084. * Copyright (c) 2023 Apple Computer, Inc. All rights reserved.
  12085. *
  12086. * @APPLE_LICENSE_HEADER_START@
  12087. *
  12088. * This file contains Original Code and/or Modifications of Original Code
  12089. * as defined in and that are subject to the Apple Public Source License
  12090. * Version 2.0 (the 'License'). You may not use this file except in
  12091. * compliance with the License. Please obtain a copy of the License at
  12092. * http://www.opensource.apple.com/apsl/ and read it before using this
  12093. * file.
  12094. *
  12095. * The Original Code and all software distributed under the License are
  12096. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  12097. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  12098. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  12099. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  12100. * Please see the License for the specific language governing rights and
  12101. * limitations under the License.
  12102. *
  12103. * @APPLE_LICENSE_HEADER_END@
  12104. */
  12105. /*
  12106. * Copyright (c) 1989, 1993
  12107. * The Regents of the University of California. All rights reserved.
  12108. * (c) UNIX System Laboratories, Inc.
  12109. * All or some portions of this file are derived from material licensed
  12110. * to the University of California by American Telephone and Telegraph
  12111. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  12112. * the permission of UNIX System Laboratories, Inc.
  12113. *
  12114. * Redistribution and use in source and binary forms, with or without
  12115. * modification, are permitted provided that the following conditions
  12116. * are met:
  12117. * 1. Redistributions of source code must retain the above copyright
  12118. * notice, this list of conditions and the following disclaimer.
  12119. * 2. Redistributions in binary form must reproduce the above copyright
  12120. * notice, this list of conditions and the following disclaimer in the
  12121. * documentation and/or other materials provided with the distribution.
  12122. * 3. All advertising materials mentioning features or use of this software
  12123. * must display the following acknowledgement:
  12124. * This product includes software developed by the University of
  12125. * California, Berkeley and its contributors.
  12126. * 4. Neither the name of the University nor the names of its contributors
  12127. * may be used to endorse or promote products derived from this software
  12128. * without specific prior written permission.
  12129. *
  12130. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12131. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12132. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12133. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12134. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12135. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12136. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12137. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12138. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12139. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12140. * SUCH DAMAGE.
  12141. *
  12142. * @(#)time.h 8.3 (Berkeley) 1/21/94
  12143. */
  12144. func XFcOpen(tls *libc.TLS, pathname uintptr, flags int32, va uintptr) (r int32) {
  12145. bp := tls.Alloc(16)
  12146. defer tls.Free(16)
  12147. var ap Tva_list
  12148. var fd int32
  12149. var mode Tmode_t
  12150. _, _, _ = ap, fd, mode
  12151. fd = -int32(1)
  12152. if flags&int32(m_O_CREAT) != 0 {
  12153. ap = va
  12154. mode = libc.Uint16FromInt32(libc.VaInt32(&ap))
  12155. _ = ap
  12156. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|m_FC_O_LARGEFILE, libc.VaList(bp+8, libc.Int32FromUint16(mode)))
  12157. } else {
  12158. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|m_FC_O_LARGEFILE, 0)
  12159. }
  12160. return fd
  12161. }
  12162. func XFcMakeTempfile(tls *libc.TLS, template uintptr) (r int32) {
  12163. var fd int32
  12164. _ = fd
  12165. fd = -int32(1)
  12166. fd = libc.Xmkostemp(tls, template, int32(m_O_CLOEXEC1))
  12167. return fd
  12168. }
  12169. func XFcRandom(tls *libc.TLS) (r Tint32_t) {
  12170. var result Tint32_t
  12171. var state uintptr
  12172. _, _ = result, state
  12173. if _initialized != int32(m_FcTrue) {
  12174. state = libc.Xinitstate(tls, libc.Uint32FromInt64(libc.Xtime(tls, libc.UintptrFromInt32(0))), uintptr(unsafe.Pointer(&_statebuf)), uint64(256))
  12175. _initialized = int32(m_FcTrue)
  12176. } else {
  12177. state = libc.Xsetstate(tls, uintptr(unsafe.Pointer(&_statebuf)))
  12178. }
  12179. result = int32(libc.Xrandom(tls))
  12180. libc.Xsetstate(tls, state)
  12181. return result
  12182. }
  12183. var _statebuf [256]int8
  12184. var _initialized TFcBool
  12185. func XFcMakeDirectory(tls *libc.TLS, dir uintptr) (r TFcBool) {
  12186. var parent uintptr
  12187. var ret TFcBool
  12188. _, _ = parent, ret
  12189. if libc.Xstrlen(tls, dir) == uint64(0) {
  12190. return m_FcFalse
  12191. }
  12192. parent = XFcStrDirname(tls, dir)
  12193. if !(parent != 0) {
  12194. return m_FcFalse
  12195. }
  12196. if libc.Xaccess(tls, parent, m_F_OK) == 0 {
  12197. ret = libc.BoolInt32(libc.Xmkdir(tls, dir, uint16(0755)) == 0 && libc.Xchmod(tls, dir, uint16(0755)) == 0)
  12198. } else {
  12199. if libc.Xaccess(tls, parent, m_F_OK) == -int32(1) {
  12200. ret = libc.BoolInt32(XFcMakeDirectory(tls, parent) != 0 && libc.Xmkdir(tls, dir, uint16(0755)) == 0 && libc.Xchmod(tls, dir, uint16(0755)) == 0)
  12201. } else {
  12202. ret = m_FcFalse
  12203. }
  12204. }
  12205. XFcStrFree(tls, parent)
  12206. return ret
  12207. }
  12208. func XFcReadLink(tls *libc.TLS, pathname uintptr, buf uintptr, bufsiz Tsize_t) (r Tssize_t) {
  12209. return libc.Xreadlink(tls, pathname, buf, bufsiz)
  12210. }
  12211. /*
  12212. * Copyright (c) 2000, 2005, 2007, 2009, 2010, 2023 Apple Inc. All rights reserved.
  12213. *
  12214. * @APPLE_LICENSE_HEADER_START@
  12215. *
  12216. * This file contains Original Code and/or Modifications of Original Code
  12217. * as defined in and that are subject to the Apple Public Source License
  12218. * Version 2.0 (the 'License'). You may not use this file except in
  12219. * compliance with the License. Please obtain a copy of the License at
  12220. * http://www.opensource.apple.com/apsl/ and read it before using this
  12221. * file.
  12222. *
  12223. * The Original Code and all software distributed under the License are
  12224. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  12225. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  12226. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  12227. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  12228. * Please see the License for the specific language governing rights and
  12229. * limitations under the License.
  12230. *
  12231. * @APPLE_LICENSE_HEADER_END@
  12232. */
  12233. /*-
  12234. * Copyright (c) 1990, 1993
  12235. * The Regents of the University of California. All rights reserved.
  12236. *
  12237. * This code is derived from software contributed to Berkeley by
  12238. * Chris Torek.
  12239. *
  12240. * Redistribution and use in source and binary forms, with or without
  12241. * modification, are permitted provided that the following conditions
  12242. * are met:
  12243. * 1. Redistributions of source code must retain the above copyright
  12244. * notice, this list of conditions and the following disclaimer.
  12245. * 2. Redistributions in binary form must reproduce the above copyright
  12246. * notice, this list of conditions and the following disclaimer in the
  12247. * documentation and/or other materials provided with the distribution.
  12248. * 3. All advertising materials mentioning features or use of this software
  12249. * must display the following acknowledgement:
  12250. * This product includes software developed by the University of
  12251. * California, Berkeley and its contributors.
  12252. * 4. Neither the name of the University nor the names of its contributors
  12253. * may be used to endorse or promote products derived from this software
  12254. * without specific prior written permission.
  12255. *
  12256. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12257. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12258. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12259. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12260. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12261. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12262. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12263. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12264. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12265. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12266. * SUCH DAMAGE.
  12267. *
  12268. * @(#)stdio.h 8.5 (Berkeley) 4/29/95
  12269. */
  12270. /*
  12271. * Copyright (c) 2000, 2005, 2007, 2009, 2010, 2023 Apple Inc. All rights reserved.
  12272. *
  12273. * @APPLE_LICENSE_HEADER_START@
  12274. *
  12275. * This file contains Original Code and/or Modifications of Original Code
  12276. * as defined in and that are subject to the Apple Public Source License
  12277. * Version 2.0 (the 'License'). You may not use this file except in
  12278. * compliance with the License. Please obtain a copy of the License at
  12279. * http://www.opensource.apple.com/apsl/ and read it before using this
  12280. * file.
  12281. *
  12282. * The Original Code and all software distributed under the License are
  12283. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  12284. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  12285. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  12286. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  12287. * Please see the License for the specific language governing rights and
  12288. * limitations under the License.
  12289. *
  12290. * @APPLE_LICENSE_HEADER_END@
  12291. */
  12292. /*-
  12293. * Copyright (c) 1990, 1993
  12294. * The Regents of the University of California. All rights reserved.
  12295. *
  12296. * This code is derived from software contributed to Berkeley by
  12297. * Chris Torek.
  12298. *
  12299. * Redistribution and use in source and binary forms, with or without
  12300. * modification, are permitted provided that the following conditions
  12301. * are met:
  12302. * 1. Redistributions of source code must retain the above copyright
  12303. * notice, this list of conditions and the following disclaimer.
  12304. * 2. Redistributions in binary form must reproduce the above copyright
  12305. * notice, this list of conditions and the following disclaimer in the
  12306. * documentation and/or other materials provided with the distribution.
  12307. * 3. All advertising materials mentioning features or use of this software
  12308. * must display the following acknowledgement:
  12309. * This product includes software developed by the University of
  12310. * California, Berkeley and its contributors.
  12311. * 4. Neither the name of the University nor the names of its contributors
  12312. * may be used to endorse or promote products derived from this software
  12313. * without specific prior written permission.
  12314. *
  12315. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12316. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12317. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12318. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12319. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12320. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12321. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12322. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12323. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12324. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12325. * SUCH DAMAGE.
  12326. *
  12327. * @(#)stdio.h 8.5 (Berkeley) 4/29/95
  12328. */
  12329. /*
  12330. * Common header for stdio.h and xlocale/_stdio.h
  12331. */
  12332. /*
  12333. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  12334. *
  12335. * @APPLE_LICENSE_HEADER_START@
  12336. *
  12337. * This file contains Original Code and/or Modifications of Original Code
  12338. * as defined in and that are subject to the Apple Public Source License
  12339. * Version 2.0 (the 'License'). You may not use this file except in
  12340. * compliance with the License. Please obtain a copy of the License at
  12341. * http://www.opensource.apple.com/apsl/ and read it before using this
  12342. * file.
  12343. *
  12344. * The Original Code and all software distributed under the License are
  12345. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  12346. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  12347. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  12348. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  12349. * Please see the License for the specific language governing rights and
  12350. * limitations under the License.
  12351. *
  12352. * @APPLE_LICENSE_HEADER_END@
  12353. */
  12354. /*-
  12355. * Copyright (c) 1990, 1993
  12356. * The Regents of the University of California. All rights reserved.
  12357. *
  12358. * Redistribution and use in source and binary forms, with or without
  12359. * modification, are permitted provided that the following conditions
  12360. * are met:
  12361. * 1. Redistributions of source code must retain the above copyright
  12362. * notice, this list of conditions and the following disclaimer.
  12363. * 2. Redistributions in binary form must reproduce the above copyright
  12364. * notice, this list of conditions and the following disclaimer in the
  12365. * documentation and/or other materials provided with the distribution.
  12366. * 3. All advertising materials mentioning features or use of this software
  12367. * must display the following acknowledgement:
  12368. * This product includes software developed by the University of
  12369. * California, Berkeley and its contributors.
  12370. * 4. Neither the name of the University nor the names of its contributors
  12371. * may be used to endorse or promote products derived from this software
  12372. * without specific prior written permission.
  12373. *
  12374. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12375. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12376. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12377. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12378. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12379. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12380. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12381. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12382. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12383. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12384. * SUCH DAMAGE.
  12385. *
  12386. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  12387. */
  12388. /*
  12389. * Copyright (c) 2023 Apple Inc. All rights reserved.
  12390. *
  12391. * @APPLE_LICENSE_HEADER_START@
  12392. *
  12393. * This file contains Original Code and/or Modifications of Original Code
  12394. * as defined in and that are subject to the Apple Public Source License
  12395. * Version 2.0 (the 'License'). You may not use this file except in
  12396. * compliance with the License. Please obtain a copy of the License at
  12397. * http://www.opensource.apple.com/apsl/ and read it before using this
  12398. * file.
  12399. *
  12400. * The Original Code and all software distributed under the License are
  12401. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  12402. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  12403. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  12404. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  12405. * Please see the License for the specific language governing rights and
  12406. * limitations under the License.
  12407. *
  12408. * @APPLE_LICENSE_HEADER_END@
  12409. */
  12410. /*-
  12411. * Copyright (c) 1990, 1993
  12412. * The Regents of the University of California. All rights reserved.
  12413. *
  12414. * Redistribution and use in source and binary forms, with or without
  12415. * modification, are permitted provided that the following conditions
  12416. * are met:
  12417. * 1. Redistributions of source code must retain the above copyright
  12418. * notice, this list of conditions and the following disclaimer.
  12419. * 2. Redistributions in binary form must reproduce the above copyright
  12420. * notice, this list of conditions and the following disclaimer in the
  12421. * documentation and/or other materials provided with the distribution.
  12422. * 3. All advertising materials mentioning features or use of this software
  12423. * must display the following acknowledgement:
  12424. * This product includes software developed by the University of
  12425. * California, Berkeley and its contributors.
  12426. * 4. Neither the name of the University nor the names of its contributors
  12427. * may be used to endorse or promote products derived from this software
  12428. * without specific prior written permission.
  12429. *
  12430. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12431. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12432. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12433. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12434. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12435. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12436. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12437. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12438. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12439. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12440. * SUCH DAMAGE.
  12441. *
  12442. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  12443. */
  12444. func __FcValuePrintFile(tls *libc.TLS, f uintptr, _v TFcValue) {
  12445. bp := tls.Alloc(64)
  12446. defer tls.Free(64)
  12447. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  12448. var v1, v2 uintptr
  12449. _, _ = v1, v2
  12450. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  12451. case int32(_FcTypeUnknown):
  12452. libc.Xfprintf(tls, f, __ccgo_ts+1870, 0)
  12453. case int32(_FcTypeVoid):
  12454. libc.Xfprintf(tls, f, __ccgo_ts+1880, 0)
  12455. case int32(_FcTypeInteger):
  12456. libc.Xfprintf(tls, f, __ccgo_ts+1887, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 8))))
  12457. case int32(_FcTypeDouble):
  12458. libc.Xfprintf(tls, f, __ccgo_ts+1893, libc.VaList(bp+24, *(*float64)(unsafe.Pointer(bp + 8))))
  12459. case int32(_FcTypeString):
  12460. libc.Xfprintf(tls, f, __ccgo_ts+1899, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 8))))
  12461. case int32(_FcTypeBool):
  12462. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcTrue) {
  12463. v1 = __ccgo_ts + 1904
  12464. } else {
  12465. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == m_FcFalse {
  12466. v2 = __ccgo_ts + 1909
  12467. } else {
  12468. v2 = __ccgo_ts + 1915
  12469. }
  12470. v1 = v2
  12471. }
  12472. libc.Xfprintf(tls, f, v1, 0)
  12473. case int32(_FcTypeMatrix):
  12474. libc.Xfprintf(tls, f, __ccgo_ts+1924, libc.VaList(bp+24, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyy))
  12475. case int32(_FcTypeCharSet): /* XXX */
  12476. if f == libc.X__stdoutp {
  12477. XFcCharSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  12478. }
  12479. case int32(_FcTypeLangSet):
  12480. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  12481. case int32(_FcTypeFTFace):
  12482. libc.Xfprintf(tls, f, __ccgo_ts+1939, 0)
  12483. case int32(_FcTypeRange):
  12484. libc.Xfprintf(tls, f, __ccgo_ts+1944, libc.VaList(bp+24, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend))
  12485. break
  12486. }
  12487. }
  12488. func XFcValuePrintFile(tls *libc.TLS, f uintptr, v TFcValue) {
  12489. libc.Xfprintf(tls, f, __ccgo_ts+1952, 0)
  12490. __FcValuePrintFile(tls, f, v)
  12491. }
  12492. func XFcValuePrint(tls *libc.TLS, v TFcValue) {
  12493. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12494. __FcValuePrintFile(tls, libc.X__stdoutp, v)
  12495. }
  12496. func XFcValuePrintWithPosition(tls *libc.TLS, v TFcValue, show_pos_mark TFcBool) {
  12497. if show_pos_mark != 0 {
  12498. libc.Xprintf(tls, __ccgo_ts+1954, 0)
  12499. } else {
  12500. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12501. }
  12502. __FcValuePrintFile(tls, libc.X__stdoutp, v)
  12503. }
  12504. func _FcValueBindingPrint(tls *libc.TLS, l TFcValueListPtr) {
  12505. switch (*T_FcValueList)(unsafe.Pointer(l)).Fbinding {
  12506. case int32(_FcValueBindingWeak):
  12507. libc.Xprintf(tls, __ccgo_ts+1965, 0)
  12508. case int32(_FcValueBindingStrong):
  12509. libc.Xprintf(tls, __ccgo_ts+1969, 0)
  12510. case int32(_FcValueBindingSame):
  12511. libc.Xprintf(tls, __ccgo_ts+1973, 0)
  12512. default:
  12513. /* shouldn't be reached */
  12514. libc.Xprintf(tls, __ccgo_ts+1977, 0)
  12515. break
  12516. }
  12517. }
  12518. func XFcValueListPrintWithPosition(tls *libc.TLS, l TFcValueListPtr, pos TFcValueListPtr) {
  12519. var v2 uintptr
  12520. _ = v2
  12521. for {
  12522. if !(l != libc.UintptrFromInt32(0)) {
  12523. break
  12524. }
  12525. XFcValuePrintWithPosition(tls, XFcValueCanonicalize(tls, l+8), libc.BoolInt32(pos != libc.UintptrFromInt32(0) && l == pos))
  12526. _FcValueBindingPrint(tls, l)
  12527. goto _1
  12528. _1:
  12529. ;
  12530. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  12531. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  12532. } else {
  12533. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  12534. }
  12535. l = v2
  12536. }
  12537. if !(pos != 0) {
  12538. libc.Xprintf(tls, __ccgo_ts+1981, 0)
  12539. }
  12540. }
  12541. func XFcValueListPrint(tls *libc.TLS, l TFcValueListPtr) {
  12542. var v2 uintptr
  12543. _ = v2
  12544. for {
  12545. if !(l != libc.UintptrFromInt32(0)) {
  12546. break
  12547. }
  12548. XFcValuePrint(tls, XFcValueCanonicalize(tls, l+8))
  12549. _FcValueBindingPrint(tls, l)
  12550. goto _1
  12551. _1:
  12552. ;
  12553. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  12554. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  12555. } else {
  12556. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  12557. }
  12558. l = v2
  12559. }
  12560. }
  12561. func XFcLangSetPrint(tls *libc.TLS, ls uintptr) {
  12562. bp := tls.Alloc(1200)
  12563. defer tls.Free(1200)
  12564. var _ /* buf at bp+0 */ TFcStrBuf
  12565. var _ /* init_buf at bp+152 */ [1024]TFcChar8
  12566. XFcStrBufInit(tls, bp, bp+152, int32(1024))
  12567. if XFcNameUnparseLangSet(tls, bp, ls) != 0 && XFcStrBufChar(tls, bp, uint8('\000')) != 0 {
  12568. libc.Xprintf(tls, __ccgo_ts+1991, libc.VaList(bp+1184, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf))
  12569. } else {
  12570. libc.Xprintf(tls, __ccgo_ts+1994, 0)
  12571. }
  12572. XFcStrBufDestroy(tls, bp)
  12573. }
  12574. func XFcCharSetPrint(tls *libc.TLS, c uintptr) {
  12575. bp := tls.Alloc(16)
  12576. defer tls.Free(16)
  12577. var i, j int32
  12578. var leaf, leaves, numbers uintptr
  12579. var leaf_offset Tintptr_t
  12580. _, _, _, _, _, _ = i, j, leaf, leaf_offset, leaves, numbers
  12581. leaves = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fleaves_offset)
  12582. numbers = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fnumbers_offset)
  12583. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12584. i = 0
  12585. for {
  12586. if !(i < (*TFcCharSet)(unsafe.Pointer(c)).Fnum) {
  12587. break
  12588. }
  12589. leaf_offset = *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(i)*8))
  12590. leaf = uintptr(int64(leaves) + leaf_offset)
  12591. libc.Xprintf(tls, __ccgo_ts+2016, 0)
  12592. libc.Xprintf(tls, __ccgo_ts+2018, libc.VaList(bp+8, libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2)))))
  12593. j = 0
  12594. for {
  12595. if !(j < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  12596. break
  12597. }
  12598. libc.Xprintf(tls, __ccgo_ts+2024, libc.VaList(bp+8, *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(j)*4))))
  12599. goto _2
  12600. _2:
  12601. ;
  12602. j++
  12603. }
  12604. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12605. goto _1
  12606. _1:
  12607. ;
  12608. i++
  12609. }
  12610. }
  12611. func XFcPatternPrint(tls *libc.TLS, p uintptr) {
  12612. bp := tls.Alloc(48)
  12613. defer tls.Free(48)
  12614. var _ /* iter at bp+0 */ TFcPatternIter
  12615. if !(p != 0) {
  12616. libc.Xprintf(tls, __ccgo_ts+2030, 0)
  12617. return
  12618. }
  12619. libc.Xprintf(tls, __ccgo_ts+2044, libc.VaList(bp+24, XFcPatternObjectCount(tls, p), (*TFcPattern)(unsafe.Pointer(p)).Fsize))
  12620. XFcPatternIterStart(tls, p, bp)
  12621. for cond := true; cond; cond = XFcPatternIterNext(tls, p, bp) != 0 {
  12622. libc.Xprintf(tls, __ccgo_ts+2075, libc.VaList(bp+24, XFcPatternIterGetObject(tls, p, bp)))
  12623. XFcValueListPrint(tls, XFcPatternIterGetValues(tls, p, bp))
  12624. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12625. }
  12626. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12627. }
  12628. func XFcPatternPrint2(tls *libc.TLS, pp1 uintptr, pp2 uintptr, os uintptr) {
  12629. bp := tls.Alloc(48)
  12630. defer tls.Free(48)
  12631. var e1, e2, p1, p2, v10, v5, v6, v7, v8 uintptr
  12632. var i, j, k, pos int32
  12633. _, _, _, _, _, _, _, _, _, _, _, _, _ = e1, e2, i, j, k, p1, p2, pos, v10, v5, v6, v7, v8
  12634. if os != 0 {
  12635. p1 = XFcPatternFilter(tls, pp1, os)
  12636. p2 = XFcPatternFilter(tls, pp2, os)
  12637. } else {
  12638. p1 = pp1
  12639. p2 = pp2
  12640. }
  12641. libc.Xprintf(tls, __ccgo_ts+2080, libc.VaList(bp+8, (*TFcPattern)(unsafe.Pointer(p1)).Fnum, (*TFcPattern)(unsafe.Pointer(p1)).Fsize, (*TFcPattern)(unsafe.Pointer(p2)).Fnum, (*TFcPattern)(unsafe.Pointer(p2)).Fsize))
  12642. i = 0
  12643. j = libc.Int32FromInt32(0)
  12644. for {
  12645. if !(i < (*TFcPattern)(unsafe.Pointer(p1)).Fnum) {
  12646. break
  12647. }
  12648. e1 = uintptr(int64(p1)+(*TFcPattern)(unsafe.Pointer(p1)).Felts_offset) + uintptr(i)*16
  12649. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  12650. if !(!(e2 != 0) || (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject != (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) {
  12651. goto _2
  12652. }
  12653. pos = XFcPatternPosition(tls, p2, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject))
  12654. if pos >= 0 {
  12655. k = j
  12656. for {
  12657. if !(k < pos) {
  12658. break
  12659. }
  12660. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  12661. libc.Xprintf(tls, __ccgo_ts+2130, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  12662. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  12663. v5 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12664. } else {
  12665. v5 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  12666. }
  12667. XFcValueListPrint(tls, v5)
  12668. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12669. goto _4
  12670. _4:
  12671. ;
  12672. k++
  12673. }
  12674. j = pos
  12675. goto cont
  12676. } else {
  12677. libc.Xprintf(tls, __ccgo_ts+2075, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  12678. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  12679. v6 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12680. } else {
  12681. v6 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  12682. }
  12683. XFcValueListPrint(tls, v6)
  12684. libc.Xprintf(tls, __ccgo_ts+2146, 0)
  12685. }
  12686. goto _3
  12687. _2:
  12688. ;
  12689. goto cont
  12690. cont:
  12691. ;
  12692. libc.Xprintf(tls, __ccgo_ts+2075, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  12693. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  12694. v7 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12695. } else {
  12696. v7 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  12697. }
  12698. XFcValueListPrint(tls, v7)
  12699. libc.Xprintf(tls, __ccgo_ts+2158, 0)
  12700. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  12701. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  12702. v8 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12703. } else {
  12704. v8 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  12705. }
  12706. XFcValueListPrint(tls, v8)
  12707. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12708. j++
  12709. _3:
  12710. ;
  12711. goto _1
  12712. _1:
  12713. ;
  12714. i++
  12715. }
  12716. if j < (*TFcPattern)(unsafe.Pointer(p2)).Fnum {
  12717. k = j
  12718. for {
  12719. if !(k < (*TFcPattern)(unsafe.Pointer(p2)).Fnum) {
  12720. break
  12721. }
  12722. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  12723. if XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) != 0 {
  12724. libc.Xprintf(tls, __ccgo_ts+2130, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  12725. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  12726. v10 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12727. } else {
  12728. v10 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  12729. }
  12730. XFcValueListPrint(tls, v10)
  12731. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12732. }
  12733. goto _9
  12734. _9:
  12735. ;
  12736. k++
  12737. }
  12738. }
  12739. if p1 != pp1 {
  12740. XFcPatternDestroy(tls, p1)
  12741. }
  12742. if p2 != pp2 {
  12743. XFcPatternDestroy(tls, p2)
  12744. }
  12745. }
  12746. func XFcOpPrint(tls *libc.TLS, op_ TFcOp) {
  12747. var f, f1, f2 int32
  12748. var op TFcOp
  12749. _, _, _, _ = f, f1, f2, op
  12750. op = op_ & libc.Int32FromInt32(0xffff)
  12751. switch op {
  12752. case int32(_FcOpInteger):
  12753. libc.Xprintf(tls, __ccgo_ts+2163, 0)
  12754. case int32(_FcOpDouble):
  12755. libc.Xprintf(tls, __ccgo_ts+2171, 0)
  12756. case int32(_FcOpString):
  12757. libc.Xprintf(tls, __ccgo_ts+2178, 0)
  12758. case int32(_FcOpMatrix):
  12759. libc.Xprintf(tls, __ccgo_ts+2185, 0)
  12760. case int32(_FcOpRange):
  12761. libc.Xprintf(tls, __ccgo_ts+2192, 0)
  12762. case int32(_FcOpBool):
  12763. libc.Xprintf(tls, __ccgo_ts+2198, 0)
  12764. case int32(_FcOpCharSet):
  12765. libc.Xprintf(tls, __ccgo_ts+2203, 0)
  12766. case int32(_FcOpLangSet):
  12767. libc.Xprintf(tls, __ccgo_ts+2211, 0)
  12768. case int32(_FcOpField):
  12769. libc.Xprintf(tls, __ccgo_ts+2219, 0)
  12770. case int32(_FcOpConst):
  12771. libc.Xprintf(tls, __ccgo_ts+2225, 0)
  12772. case int32(_FcOpAssign):
  12773. libc.Xprintf(tls, __ccgo_ts+2231, 0)
  12774. case int32(_FcOpAssignReplace):
  12775. libc.Xprintf(tls, __ccgo_ts+2238, 0)
  12776. case int32(_FcOpPrepend):
  12777. libc.Xprintf(tls, __ccgo_ts+1309, 0)
  12778. case int32(_FcOpPrependFirst):
  12779. libc.Xprintf(tls, __ccgo_ts+2252, 0)
  12780. case int32(_FcOpAppend):
  12781. libc.Xprintf(tls, __ccgo_ts+1302, 0)
  12782. case int32(_FcOpAppendLast):
  12783. libc.Xprintf(tls, __ccgo_ts+2265, 0)
  12784. case int32(_FcOpDelete):
  12785. libc.Xprintf(tls, __ccgo_ts+2276, 0)
  12786. case int32(_FcOpDeleteAll):
  12787. libc.Xprintf(tls, __ccgo_ts+2283, 0)
  12788. case int32(_FcOpQuest):
  12789. libc.Xprintf(tls, __ccgo_ts+2293, 0)
  12790. case int32(_FcOpOr):
  12791. libc.Xprintf(tls, __ccgo_ts+2299, 0)
  12792. case int32(_FcOpAnd):
  12793. libc.Xprintf(tls, __ccgo_ts+2302, 0)
  12794. case int32(_FcOpEqual):
  12795. libc.Xprintf(tls, __ccgo_ts+2306, 0)
  12796. f = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12797. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12798. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12799. }
  12800. case int32(_FcOpNotEqual):
  12801. libc.Xprintf(tls, __ccgo_ts+2328, 0)
  12802. f1 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12803. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12804. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12805. }
  12806. case int32(_FcOpLess):
  12807. libc.Xprintf(tls, __ccgo_ts+2337, 0)
  12808. case int32(_FcOpLessEqual):
  12809. libc.Xprintf(tls, __ccgo_ts+2342, 0)
  12810. case int32(_FcOpMore):
  12811. libc.Xprintf(tls, __ccgo_ts+2352, 0)
  12812. case int32(_FcOpMoreEqual):
  12813. libc.Xprintf(tls, __ccgo_ts+2357, 0)
  12814. case int32(_FcOpContains):
  12815. libc.Xprintf(tls, __ccgo_ts+2367, 0)
  12816. case int32(_FcOpNotContains):
  12817. libc.Xprintf(tls, __ccgo_ts+2376, 0)
  12818. case int32(_FcOpPlus):
  12819. libc.Xprintf(tls, __ccgo_ts+2388, 0)
  12820. case int32(_FcOpMinus):
  12821. libc.Xprintf(tls, __ccgo_ts+2393, 0)
  12822. case int32(_FcOpTimes):
  12823. libc.Xprintf(tls, __ccgo_ts+2399, 0)
  12824. case int32(_FcOpDivide):
  12825. libc.Xprintf(tls, __ccgo_ts+2405, 0)
  12826. case int32(_FcOpNot):
  12827. libc.Xprintf(tls, __ccgo_ts+2412, 0)
  12828. case int32(_FcOpNil):
  12829. libc.Xprintf(tls, __ccgo_ts+2416, 0)
  12830. case int32(_FcOpComma):
  12831. libc.Xprintf(tls, __ccgo_ts+2420, 0)
  12832. case int32(_FcOpFloor):
  12833. libc.Xprintf(tls, __ccgo_ts+2426, 0)
  12834. case int32(_FcOpCeil):
  12835. libc.Xprintf(tls, __ccgo_ts+2432, 0)
  12836. case int32(_FcOpRound):
  12837. libc.Xprintf(tls, __ccgo_ts+2437, 0)
  12838. case int32(_FcOpTrunc):
  12839. libc.Xprintf(tls, __ccgo_ts+2443, 0)
  12840. case int32(_FcOpListing):
  12841. libc.Xprintf(tls, __ccgo_ts+2449, 0)
  12842. f2 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12843. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12844. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12845. }
  12846. case int32(_FcOpInvalid):
  12847. libc.Xprintf(tls, __ccgo_ts+2457, 0)
  12848. break
  12849. }
  12850. }
  12851. func XFcExprPrint(tls *libc.TLS, expr uintptr) {
  12852. bp := tls.Alloc(32)
  12853. defer tls.Free(32)
  12854. var f, f1, f2 int32
  12855. var v1 uintptr
  12856. _, _, _, _ = f, f1, f2, v1
  12857. if !(expr != 0) {
  12858. libc.Xprintf(tls, __ccgo_ts+2465, 0)
  12859. } else {
  12860. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  12861. case int32(_FcOpInteger):
  12862. libc.Xprintf(tls, __ccgo_ts+2470, libc.VaList(bp+8, (*TFcExpr)(unsafe.Pointer(expr)).Fu.Fival))
  12863. case int32(_FcOpDouble):
  12864. libc.Xprintf(tls, __ccgo_ts+2473, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  12865. case int32(_FcOpString):
  12866. libc.Xprintf(tls, __ccgo_ts+1899, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  12867. case int32(_FcOpMatrix):
  12868. libc.Xprintf(tls, __ccgo_ts+2476, 0)
  12869. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxx)
  12870. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12871. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxy)
  12872. libc.Xprintf(tls, __ccgo_ts+2478, 0)
  12873. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyx)
  12874. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12875. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyy)
  12876. libc.Xprintf(tls, __ccgo_ts+2481, 0)
  12877. case int32(_FcOpRange):
  12878. libc.Xprintf(tls, __ccgo_ts+2483, libc.VaList(bp+8, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fend))
  12879. case int32(_FcOpBool):
  12880. if *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)) != 0 {
  12881. v1 = __ccgo_ts + 2492
  12882. } else {
  12883. v1 = __ccgo_ts + 2497
  12884. }
  12885. libc.Xprintf(tls, __ccgo_ts+1991, libc.VaList(bp+8, v1))
  12886. case int32(_FcOpCharSet):
  12887. libc.Xprintf(tls, __ccgo_ts+2503, 0)
  12888. case int32(_FcOpLangSet):
  12889. libc.Xprintf(tls, __ccgo_ts+2512, 0)
  12890. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  12891. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12892. case int32(_FcOpNil):
  12893. libc.Xprintf(tls, __ccgo_ts+2521, 0)
  12894. case int32(_FcOpField):
  12895. libc.Xprintf(tls, __ccgo_ts+2526, libc.VaList(bp+8, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject)))
  12896. switch (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fkind {
  12897. case int32(_FcMatchPattern):
  12898. libc.Xprintf(tls, __ccgo_ts+2530, 0)
  12899. case int32(_FcMatchFont):
  12900. libc.Xprintf(tls, __ccgo_ts+2541, 0)
  12901. break
  12902. }
  12903. case int32(_FcOpConst):
  12904. libc.Xprintf(tls, __ccgo_ts+1991, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  12905. case int32(_FcOpQuest):
  12906. XFcExprPrint(tls, (*(*struct {
  12907. Fleft uintptr
  12908. Fright uintptr
  12909. })(unsafe.Pointer(expr + 8))).Fleft)
  12910. libc.Xprintf(tls, __ccgo_ts+2549, 0)
  12911. XFcExprPrint(tls, (*(*struct {
  12912. Fleft uintptr
  12913. Fright uintptr
  12914. })(unsafe.Pointer((*(*struct {
  12915. Fleft uintptr
  12916. Fright uintptr
  12917. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft)
  12918. libc.Xprintf(tls, __ccgo_ts+2557, 0)
  12919. XFcExprPrint(tls, (*(*struct {
  12920. Fleft uintptr
  12921. Fright uintptr
  12922. })(unsafe.Pointer((*(*struct {
  12923. Fleft uintptr
  12924. Fright uintptr
  12925. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright)
  12926. case int32(_FcOpAssign):
  12927. fallthrough
  12928. case int32(_FcOpAssignReplace):
  12929. fallthrough
  12930. case int32(_FcOpPrependFirst):
  12931. fallthrough
  12932. case int32(_FcOpPrepend):
  12933. fallthrough
  12934. case int32(_FcOpAppend):
  12935. fallthrough
  12936. case int32(_FcOpAppendLast):
  12937. fallthrough
  12938. case int32(_FcOpOr):
  12939. fallthrough
  12940. case int32(_FcOpAnd):
  12941. fallthrough
  12942. case int32(_FcOpEqual):
  12943. fallthrough
  12944. case int32(_FcOpNotEqual):
  12945. fallthrough
  12946. case int32(_FcOpLess):
  12947. fallthrough
  12948. case int32(_FcOpLessEqual):
  12949. fallthrough
  12950. case int32(_FcOpMore):
  12951. fallthrough
  12952. case int32(_FcOpMoreEqual):
  12953. fallthrough
  12954. case int32(_FcOpContains):
  12955. fallthrough
  12956. case int32(_FcOpListing):
  12957. fallthrough
  12958. case int32(_FcOpNotContains):
  12959. fallthrough
  12960. case int32(_FcOpPlus):
  12961. fallthrough
  12962. case int32(_FcOpMinus):
  12963. fallthrough
  12964. case int32(_FcOpTimes):
  12965. fallthrough
  12966. case int32(_FcOpDivide):
  12967. fallthrough
  12968. case int32(_FcOpComma):
  12969. XFcExprPrint(tls, (*(*struct {
  12970. Fleft uintptr
  12971. Fright uintptr
  12972. })(unsafe.Pointer(expr + 8))).Fleft)
  12973. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12974. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  12975. case int32(_FcOpAssign):
  12976. libc.Xprintf(tls, __ccgo_ts+2231, 0)
  12977. case int32(_FcOpAssignReplace):
  12978. libc.Xprintf(tls, __ccgo_ts+2238, 0)
  12979. case int32(_FcOpPrependFirst):
  12980. libc.Xprintf(tls, __ccgo_ts+2252, 0)
  12981. case int32(_FcOpPrepend):
  12982. libc.Xprintf(tls, __ccgo_ts+1309, 0)
  12983. case int32(_FcOpAppend):
  12984. libc.Xprintf(tls, __ccgo_ts+1302, 0)
  12985. case int32(_FcOpAppendLast):
  12986. libc.Xprintf(tls, __ccgo_ts+2265, 0)
  12987. case int32(_FcOpOr):
  12988. libc.Xprintf(tls, __ccgo_ts+2299, 0)
  12989. case int32(_FcOpAnd):
  12990. libc.Xprintf(tls, __ccgo_ts+2302, 0)
  12991. case int32(_FcOpEqual):
  12992. libc.Xprintf(tls, __ccgo_ts+2306, 0)
  12993. f = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12994. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12995. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12996. }
  12997. case int32(_FcOpNotEqual):
  12998. libc.Xprintf(tls, __ccgo_ts+2328, 0)
  12999. f1 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  13000. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  13001. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  13002. }
  13003. case int32(_FcOpLess):
  13004. libc.Xprintf(tls, __ccgo_ts+2337, 0)
  13005. case int32(_FcOpLessEqual):
  13006. libc.Xprintf(tls, __ccgo_ts+2342, 0)
  13007. case int32(_FcOpMore):
  13008. libc.Xprintf(tls, __ccgo_ts+2352, 0)
  13009. case int32(_FcOpMoreEqual):
  13010. libc.Xprintf(tls, __ccgo_ts+2357, 0)
  13011. case int32(_FcOpContains):
  13012. libc.Xprintf(tls, __ccgo_ts+2367, 0)
  13013. case int32(_FcOpListing):
  13014. libc.Xprintf(tls, __ccgo_ts+2449, 0)
  13015. f2 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  13016. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  13017. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  13018. }
  13019. case int32(_FcOpNotContains):
  13020. libc.Xprintf(tls, __ccgo_ts+2376, 0)
  13021. case int32(_FcOpPlus):
  13022. libc.Xprintf(tls, __ccgo_ts+2388, 0)
  13023. case int32(_FcOpMinus):
  13024. libc.Xprintf(tls, __ccgo_ts+2393, 0)
  13025. case int32(_FcOpTimes):
  13026. libc.Xprintf(tls, __ccgo_ts+2399, 0)
  13027. case int32(_FcOpDivide):
  13028. libc.Xprintf(tls, __ccgo_ts+2405, 0)
  13029. case int32(_FcOpComma):
  13030. libc.Xprintf(tls, __ccgo_ts+2420, 0)
  13031. default:
  13032. break
  13033. }
  13034. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  13035. XFcExprPrint(tls, (*(*struct {
  13036. Fleft uintptr
  13037. Fright uintptr
  13038. })(unsafe.Pointer(expr + 8))).Fright)
  13039. case int32(_FcOpNot):
  13040. libc.Xprintf(tls, __ccgo_ts+2565, 0)
  13041. XFcExprPrint(tls, (*(*struct {
  13042. Fleft uintptr
  13043. Fright uintptr
  13044. })(unsafe.Pointer(expr + 8))).Fleft)
  13045. case int32(_FcOpFloor):
  13046. libc.Xprintf(tls, __ccgo_ts+2570, 0)
  13047. XFcExprPrint(tls, (*(*struct {
  13048. Fleft uintptr
  13049. Fright uintptr
  13050. })(unsafe.Pointer(expr + 8))).Fleft)
  13051. case int32(_FcOpCeil):
  13052. libc.Xprintf(tls, __ccgo_ts+2577, 0)
  13053. XFcExprPrint(tls, (*(*struct {
  13054. Fleft uintptr
  13055. Fright uintptr
  13056. })(unsafe.Pointer(expr + 8))).Fleft)
  13057. case int32(_FcOpRound):
  13058. libc.Xprintf(tls, __ccgo_ts+2583, 0)
  13059. XFcExprPrint(tls, (*(*struct {
  13060. Fleft uintptr
  13061. Fright uintptr
  13062. })(unsafe.Pointer(expr + 8))).Fleft)
  13063. case int32(_FcOpTrunc):
  13064. libc.Xprintf(tls, __ccgo_ts+2590, 0)
  13065. XFcExprPrint(tls, (*(*struct {
  13066. Fleft uintptr
  13067. Fright uintptr
  13068. })(unsafe.Pointer(expr + 8))).Fleft)
  13069. case int32(_FcOpInvalid):
  13070. libc.Xprintf(tls, __ccgo_ts+2457, 0)
  13071. break
  13072. }
  13073. }
  13074. }
  13075. func XFcTestPrint(tls *libc.TLS, test uintptr) {
  13076. bp := tls.Alloc(16)
  13077. defer tls.Free(16)
  13078. switch (*TFcTest)(unsafe.Pointer(test)).Fkind {
  13079. case int32(_FcMatchPattern):
  13080. libc.Xprintf(tls, __ccgo_ts+2597, 0)
  13081. case int32(_FcMatchFont):
  13082. libc.Xprintf(tls, __ccgo_ts+2606, 0)
  13083. case int32(_FcMatchScan):
  13084. libc.Xprintf(tls, __ccgo_ts+2612, 0)
  13085. case int32(_FcMatchKindEnd):
  13086. /* shouldn't be reached */
  13087. return
  13088. }
  13089. switch (*TFcTest)(unsafe.Pointer(test)).Fqual {
  13090. case int32(_FcQualAny):
  13091. libc.Xprintf(tls, __ccgo_ts+2618, 0)
  13092. case int32(_FcQualAll):
  13093. libc.Xprintf(tls, __ccgo_ts+2623, 0)
  13094. case int32(_FcQualFirst):
  13095. libc.Xprintf(tls, __ccgo_ts+2628, 0)
  13096. case int32(_FcQualNotFirst):
  13097. libc.Xprintf(tls, __ccgo_ts+2635, 0)
  13098. break
  13099. }
  13100. libc.Xprintf(tls, __ccgo_ts+2526, libc.VaList(bp+8, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject)))
  13101. XFcOpPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fop)
  13102. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  13103. XFcExprPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  13104. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  13105. }
  13106. func XFcEditPrint(tls *libc.TLS, edit uintptr) {
  13107. bp := tls.Alloc(16)
  13108. defer tls.Free(16)
  13109. libc.Xprintf(tls, __ccgo_ts+2646, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fobject)))
  13110. XFcOpPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fop)
  13111. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  13112. XFcExprPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fexpr)
  13113. }
  13114. func XFcRulePrint(tls *libc.TLS, rule uintptr) {
  13115. var last_type TFcRuleType
  13116. var r uintptr
  13117. _, _ = last_type, r
  13118. last_type = int32(_FcRuleUnknown)
  13119. r = rule
  13120. for {
  13121. if !(r != 0) {
  13122. break
  13123. }
  13124. if last_type != (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  13125. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  13126. case int32(_FcRuleTest):
  13127. libc.Xprintf(tls, __ccgo_ts+2655, 0)
  13128. case int32(_FcRuleEdit):
  13129. libc.Xprintf(tls, __ccgo_ts+2663, 0)
  13130. default:
  13131. break
  13132. }
  13133. last_type = (*TFcRule)(unsafe.Pointer(r)).Ftype1
  13134. }
  13135. libc.Xprintf(tls, __ccgo_ts+2016, 0)
  13136. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  13137. case int32(_FcRuleTest):
  13138. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  13139. case int32(_FcRuleEdit):
  13140. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  13141. libc.Xprintf(tls, __ccgo_ts+2671, 0)
  13142. default:
  13143. break
  13144. }
  13145. goto _1
  13146. _1:
  13147. ;
  13148. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  13149. }
  13150. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  13151. }
  13152. func XFcFontSetPrint(tls *libc.TLS, s uintptr) {
  13153. bp := tls.Alloc(32)
  13154. defer tls.Free(32)
  13155. var i int32
  13156. _ = i
  13157. libc.Xprintf(tls, __ccgo_ts+2674, libc.VaList(bp+8, (*TFcFontSet)(unsafe.Pointer(s)).Fnfont, (*TFcFontSet)(unsafe.Pointer(s)).Fsfont))
  13158. i = 0
  13159. for {
  13160. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  13161. break
  13162. }
  13163. libc.Xprintf(tls, __ccgo_ts+2692, libc.VaList(bp+8, i))
  13164. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  13165. goto _1
  13166. _1:
  13167. ;
  13168. i++
  13169. }
  13170. }
  13171. func XFcInitDebug(tls *libc.TLS) {
  13172. bp := tls.Alloc(16)
  13173. defer tls.Free(16)
  13174. var e uintptr
  13175. _ = e
  13176. if !(XFcDebugVal != 0) {
  13177. e = libc.Xgetenv(tls, __ccgo_ts+2701)
  13178. if e != 0 {
  13179. libc.Xprintf(tls, __ccgo_ts+2710, libc.VaList(bp+8, e))
  13180. XFcDebugVal = libc.Xatoi(tls, e)
  13181. if XFcDebugVal < 0 {
  13182. XFcDebugVal = 0
  13183. }
  13184. }
  13185. }
  13186. }
  13187. /*===---- limits.h - Standard header for integer sizes --------------------===* *
  13188. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  13189. * See https://llvm.org/LICENSE.txt for license information.
  13190. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  13191. *
  13192. \*===----------------------------------------------------------------------===*/
  13193. /*
  13194. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  13195. *
  13196. * @APPLE_LICENSE_HEADER_START@
  13197. *
  13198. * This file contains Original Code and/or Modifications of Original Code
  13199. * as defined in and that are subject to the Apple Public Source License
  13200. * Version 2.0 (the 'License'). You may not use this file except in
  13201. * compliance with the License. Please obtain a copy of the License at
  13202. * http://www.opensource.apple.com/apsl/ and read it before using this
  13203. * file.
  13204. *
  13205. * The Original Code and all software distributed under the License are
  13206. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  13207. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  13208. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  13209. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  13210. * Please see the License for the specific language governing rights and
  13211. * limitations under the License.
  13212. *
  13213. * @APPLE_LICENSE_HEADER_END@
  13214. */
  13215. /*-
  13216. * Copyright (c) 1990, 1993
  13217. * The Regents of the University of California. All rights reserved.
  13218. *
  13219. * Redistribution and use in source and binary forms, with or without
  13220. * modification, are permitted provided that the following conditions
  13221. * are met:
  13222. * 1. Redistributions of source code must retain the above copyright
  13223. * notice, this list of conditions and the following disclaimer.
  13224. * 2. Redistributions in binary form must reproduce the above copyright
  13225. * notice, this list of conditions and the following disclaimer in the
  13226. * documentation and/or other materials provided with the distribution.
  13227. * 3. All advertising materials mentioning features or use of this software
  13228. * must display the following acknowledgement:
  13229. * This product includes software developed by the University of
  13230. * California, Berkeley and its contributors.
  13231. * 4. Neither the name of the University nor the names of its contributors
  13232. * may be used to endorse or promote products derived from this software
  13233. * without specific prior written permission.
  13234. *
  13235. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  13236. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  13237. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  13238. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  13239. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  13240. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  13241. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  13242. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  13243. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  13244. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  13245. * SUCH DAMAGE.
  13246. *
  13247. * @(#)string.h 8.1 (Berkeley) 6/2/93
  13248. */
  13249. /*
  13250. * Copyright (c) 2023 Apple Inc. All rights reserved.
  13251. *
  13252. * @APPLE_LICENSE_HEADER_START@
  13253. *
  13254. * This file contains Original Code and/or Modifications of Original Code
  13255. * as defined in and that are subject to the Apple Public Source License
  13256. * Version 2.0 (the 'License'). You may not use this file except in
  13257. * compliance with the License. Please obtain a copy of the License at
  13258. * http://www.opensource.apple.com/apsl/ and read it before using this
  13259. * file.
  13260. *
  13261. * The Original Code and all software distributed under the License are
  13262. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  13263. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  13264. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  13265. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  13266. * Please see the License for the specific language governing rights and
  13267. * limitations under the License.
  13268. *
  13269. * @APPLE_LICENSE_HEADER_END@
  13270. */
  13271. /*-
  13272. * Copyright (c) 1990, 1993
  13273. * The Regents of the University of California. All rights reserved.
  13274. *
  13275. * Redistribution and use in source and binary forms, with or without
  13276. * modification, are permitted provided that the following conditions
  13277. * are met:
  13278. * 1. Redistributions of source code must retain the above copyright
  13279. * notice, this list of conditions and the following disclaimer.
  13280. * 2. Redistributions in binary form must reproduce the above copyright
  13281. * notice, this list of conditions and the following disclaimer in the
  13282. * documentation and/or other materials provided with the distribution.
  13283. * 3. All advertising materials mentioning features or use of this software
  13284. * must display the following acknowledgement:
  13285. * This product includes software developed by the University of
  13286. * California, Berkeley and its contributors.
  13287. * 4. Neither the name of the University nor the names of its contributors
  13288. * may be used to endorse or promote products derived from this software
  13289. * without specific prior written permission.
  13290. *
  13291. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  13292. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  13293. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  13294. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  13295. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  13296. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  13297. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  13298. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  13299. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  13300. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  13301. * SUCH DAMAGE.
  13302. *
  13303. * @(#)string.h 8.1 (Berkeley) 6/2/93
  13304. */
  13305. /* MT-safe */
  13306. var _FcBoolDefaults = [8]struct {
  13307. Ffield TFcObject
  13308. Fvalue TFcBool
  13309. }{
  13310. 0: {
  13311. Ffield: int32(_FC_HINTING_OBJECT),
  13312. Fvalue: int32(m_FcTrue),
  13313. },
  13314. 1: {
  13315. Ffield: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  13316. },
  13317. 2: {
  13318. Ffield: int32(_FC_AUTOHINT_OBJECT),
  13319. },
  13320. 3: {
  13321. Ffield: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  13322. Fvalue: int32(m_FcTrue),
  13323. },
  13324. 4: {
  13325. Ffield: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  13326. Fvalue: int32(m_FcTrue),
  13327. },
  13328. 5: {
  13329. Ffield: int32(_FC_DECORATIVE_OBJECT),
  13330. },
  13331. 6: {
  13332. Ffield: int32(_FC_SYMBOL_OBJECT),
  13333. },
  13334. 7: {
  13335. Ffield: int32(_FC_VARIABLE_OBJECT),
  13336. },
  13337. }
  13338. func XFcGetDefaultLangs(tls *libc.TLS) (r uintptr) {
  13339. var langs, result uintptr
  13340. var v1 int32
  13341. _, _, _ = langs, result, v1
  13342. goto retry
  13343. retry:
  13344. ;
  13345. result = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  13346. if !(result != 0) {
  13347. result = XFcStrSetCreate(tls)
  13348. langs = libc.Xgetenv(tls, __ccgo_ts+2723)
  13349. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  13350. langs = libc.Xgetenv(tls, __ccgo_ts+2731)
  13351. }
  13352. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  13353. langs = libc.Xgetenv(tls, __ccgo_ts+2738)
  13354. }
  13355. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  13356. langs = libc.Xgetenv(tls, __ccgo_ts+2747)
  13357. }
  13358. if langs != 0 && *(*int8)(unsafe.Pointer(langs)) != 0 {
  13359. if !(XFcStrSetAddLangs(tls, result, langs) != 0) {
  13360. XFcStrSetAdd(tls, result, __ccgo_ts+2752)
  13361. }
  13362. } else {
  13363. XFcStrSetAdd(tls, result, __ccgo_ts+2752)
  13364. }
  13365. (*TFcRef)(unsafe.Pointer(result)).Fcount = -libc.Int32FromInt32(1)
  13366. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == libc.UintptrFromInt32(0) {
  13367. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = result
  13368. v1 = libc.Int32FromInt32(m_FcTrue)
  13369. } else {
  13370. v1 = m_FcFalse
  13371. }
  13372. if !(v1 != 0) {
  13373. (*TFcRef)(unsafe.Pointer(result)).Fcount = int32(1)
  13374. XFcStrSetDestroy(tls, result)
  13375. goto retry
  13376. }
  13377. }
  13378. return result
  13379. }
  13380. var _default_lang uintptr /* MT-safe */
  13381. func XFcGetDefaultLang(tls *libc.TLS) (r uintptr) {
  13382. var lang, langs uintptr
  13383. var v1 int32
  13384. _, _, _ = lang, langs, v1
  13385. goto retry
  13386. retry:
  13387. ;
  13388. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  13389. if !(lang != 0) {
  13390. langs = XFcGetDefaultLangs(tls)
  13391. lang = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(langs)).Fstrs)))
  13392. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == libc.UintptrFromInt32(0) {
  13393. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = lang
  13394. v1 = libc.Int32FromInt32(m_FcTrue)
  13395. } else {
  13396. v1 = m_FcFalse
  13397. }
  13398. if !(v1 != 0) {
  13399. libc.Xfree(tls, lang)
  13400. goto retry
  13401. }
  13402. }
  13403. return lang
  13404. }
  13405. var _default_prgname uintptr
  13406. func XFcGetPrgname(tls *libc.TLS) (r uintptr) {
  13407. var prgname, q uintptr
  13408. var v1 int32
  13409. _, _, _ = prgname, q, v1
  13410. goto retry
  13411. retry:
  13412. ;
  13413. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  13414. if !(prgname != 0) {
  13415. q = libc.Xgetprogname(tls)
  13416. if q != 0 {
  13417. prgname = libc.Xstrdup(tls, q)
  13418. } else {
  13419. prgname = libc.Xstrdup(tls, __ccgo_ts+110)
  13420. }
  13421. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == libc.UintptrFromInt32(0) {
  13422. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = prgname
  13423. v1 = libc.Int32FromInt32(m_FcTrue)
  13424. } else {
  13425. v1 = m_FcFalse
  13426. }
  13427. if !(v1 != 0) {
  13428. libc.Xfree(tls, prgname)
  13429. goto retry
  13430. }
  13431. }
  13432. if prgname != 0 && !(*(*TFcChar8)(unsafe.Pointer(prgname)) != 0) {
  13433. return libc.UintptrFromInt32(0)
  13434. }
  13435. return prgname
  13436. }
  13437. func XFcDefaultFini(tls *libc.TLS) {
  13438. var lang, langs, prgname uintptr
  13439. var v1, v3, v5 int32
  13440. var v2, v4, v6 bool
  13441. _, _, _, _, _, _, _, _, _ = lang, langs, prgname, v1, v2, v3, v4, v5, v6
  13442. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  13443. if v2 = lang != 0; v2 {
  13444. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == lang {
  13445. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = libc.UintptrFromInt32(0)
  13446. v1 = libc.Int32FromInt32(m_FcTrue)
  13447. } else {
  13448. v1 = m_FcFalse
  13449. }
  13450. }
  13451. if v2 && v1 != 0 {
  13452. libc.Xfree(tls, lang)
  13453. }
  13454. langs = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  13455. if v4 = langs != 0; v4 {
  13456. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == langs {
  13457. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = libc.UintptrFromInt32(0)
  13458. v3 = libc.Int32FromInt32(m_FcTrue)
  13459. } else {
  13460. v3 = m_FcFalse
  13461. }
  13462. }
  13463. if v4 && v3 != 0 {
  13464. (*TFcRef)(unsafe.Pointer(langs)).Fcount = int32(1)
  13465. XFcStrSetDestroy(tls, langs)
  13466. }
  13467. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  13468. if v6 = prgname != 0; v6 {
  13469. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == prgname {
  13470. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = libc.UintptrFromInt32(0)
  13471. v5 = libc.Int32FromInt32(m_FcTrue)
  13472. } else {
  13473. v5 = m_FcFalse
  13474. }
  13475. }
  13476. if v6 && v5 != 0 {
  13477. libc.Xfree(tls, prgname)
  13478. }
  13479. }
  13480. func XFcDefaultSubstitute(tls *libc.TLS, pattern uintptr) {
  13481. bp := tls.Alloc(112)
  13482. defer tls.Free(112)
  13483. var i int32
  13484. var pixelsize float64
  13485. var prgname uintptr
  13486. var _ /* b at bp+96 */ float64
  13487. var _ /* dpi at bp+64 */ float64
  13488. var _ /* e at bp+104 */ float64
  13489. var _ /* iter at bp+0 */ TFcPatternIter
  13490. var _ /* namelang at bp+32 */ TFcValue
  13491. var _ /* r at bp+88 */ uintptr
  13492. var _ /* scale at bp+80 */ float64
  13493. var _ /* size at bp+72 */ float64
  13494. var _ /* v at bp+16 */ TFcValue
  13495. var _ /* v2 at bp+48 */ TFcValue
  13496. _, _, _ = i, pixelsize, prgname
  13497. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WEIGHT_OBJECT)) != 0) {
  13498. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WEIGHT_OBJECT), int32(m_FC_WEIGHT_REGULAR))
  13499. }
  13500. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_SLANT_OBJECT)) != 0) {
  13501. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_SLANT_OBJECT), m_FC_SLANT_ROMAN)
  13502. }
  13503. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WIDTH_OBJECT)) != 0) {
  13504. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WIDTH_OBJECT), int32(m_FC_WIDTH_NORMAL))
  13505. }
  13506. i = 0
  13507. for {
  13508. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(64)/libc.Uint64FromInt64(8))) {
  13509. break
  13510. }
  13511. if !(XFcPatternFindObjectIter(tls, pattern, bp, _FcBoolDefaults[i].Ffield) != 0) {
  13512. XFcPatternObjectAddBool(tls, pattern, _FcBoolDefaults[i].Ffield, _FcBoolDefaults[i].Fvalue)
  13513. }
  13514. goto _1
  13515. _1:
  13516. ;
  13517. i++
  13518. }
  13519. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+72) != int32(_FcResultMatch) {
  13520. if XFcPatternObjectGetRange(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+88) == int32(_FcResultMatch) && XFcRangeGetDouble(tls, *(*uintptr)(unsafe.Pointer(bp + 88)), bp+96, bp+104) != 0 {
  13521. *(*float64)(unsafe.Pointer(bp + 72)) = (*(*float64)(unsafe.Pointer(bp + 96)) + *(*float64)(unsafe.Pointer(bp + 104))) * float64(0.5)
  13522. } else {
  13523. *(*float64)(unsafe.Pointer(bp + 72)) = libc.Float64FromFloat64(12)
  13524. }
  13525. }
  13526. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SCALE_OBJECT), 0, bp+80) != int32(_FcResultMatch) {
  13527. *(*float64)(unsafe.Pointer(bp + 80)) = float64(1)
  13528. }
  13529. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_DPI_OBJECT), 0, bp+64) != int32(_FcResultMatch) {
  13530. *(*float64)(unsafe.Pointer(bp + 64)) = float64(75)
  13531. }
  13532. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_PIXEL_SIZE_OBJECT)) != 0) {
  13533. XFcPatternObjectDel(tls, pattern, int32(_FC_SCALE_OBJECT))
  13534. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SCALE_OBJECT), *(*float64)(unsafe.Pointer(bp + 80)))
  13535. pixelsize = *(*float64)(unsafe.Pointer(bp + 72)) * *(*float64)(unsafe.Pointer(bp + 80))
  13536. XFcPatternObjectDel(tls, pattern, int32(_FC_DPI_OBJECT))
  13537. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_DPI_OBJECT), *(*float64)(unsafe.Pointer(bp + 64)))
  13538. pixelsize *= *(*float64)(unsafe.Pointer(bp + 64)) / float64(72)
  13539. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_PIXEL_SIZE_OBJECT), pixelsize)
  13540. } else {
  13541. XFcPatternIterGetValue(tls, pattern, bp, 0, bp+16, libc.UintptrFromInt32(0))
  13542. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  13543. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 72)) / *(*float64)(unsafe.Pointer(bp + 64)) * float64(72) / *(*float64)(unsafe.Pointer(bp + 80))
  13544. }
  13545. XFcPatternObjectDel(tls, pattern, int32(_FC_SIZE_OBJECT))
  13546. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SIZE_OBJECT), *(*float64)(unsafe.Pointer(bp + 72)))
  13547. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FONTVERSION_OBJECT)) != 0) {
  13548. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_FONTVERSION_OBJECT), int32(0x7fffffff))
  13549. }
  13550. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_HINT_STYLE_OBJECT)) != 0) {
  13551. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_HINT_STYLE_OBJECT), int32(m_FC_HINT_FULL))
  13552. }
  13553. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_NAMELANG_OBJECT)) != 0) {
  13554. XFcPatternObjectAddString(tls, pattern, int32(_FC_NAMELANG_OBJECT), XFcGetDefaultLang(tls))
  13555. }
  13556. /* shouldn't be failed. */
  13557. XFcPatternObjectGet(tls, pattern, int32(_FC_NAMELANG_OBJECT), 0, bp+32)
  13558. /* Add a fallback to ensure the english name when the requested language
  13559. * isn't available. this would helps for the fonts that have non-English
  13560. * name at the beginning.
  13561. */
  13562. /* Set "en-us" instead of "en" to avoid giving higher score to "en".
  13563. * This is a hack for the case that the orth is not like ll-cc, because,
  13564. * if no namelang isn't explicitly set, it will has something like ll-cc
  13565. * according to current locale. which may causes FcLangDifferentTerritory
  13566. * at FcLangCompare(). thus, the English name is selected so that
  13567. * exact matched "en" has higher score than ll-cc.
  13568. */
  13569. (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 = int32(_FcTypeString)
  13570. *(*uintptr)(unsafe.Pointer(bp + 48 + 8)) = __ccgo_ts + 2755
  13571. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FAMILYLANG_OBJECT)) != 0) {
  13572. XFcPatternObjectAdd(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  13573. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  13574. }
  13575. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_STYLELANG_OBJECT)) != 0) {
  13576. XFcPatternObjectAdd(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  13577. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  13578. }
  13579. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FULLNAMELANG_OBJECT)) != 0) {
  13580. XFcPatternObjectAdd(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  13581. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  13582. }
  13583. if XFcPatternObjectGet(tls, pattern, int32(_FC_PRGNAME_OBJECT), 0, bp+16) == int32(_FcResultNoMatch) {
  13584. prgname = XFcGetPrgname(tls)
  13585. if prgname != 0 {
  13586. XFcPatternObjectAddString(tls, pattern, int32(_FC_PRGNAME_OBJECT), prgname)
  13587. }
  13588. }
  13589. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_ORDER_OBJECT)) != 0) {
  13590. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_ORDER_OBJECT), 0)
  13591. }
  13592. }
  13593. const m_S_IFDIR1 = 16384
  13594. const m_S_IFLNK1 = 40960
  13595. const m_S_IFMT3 = 61440
  13596. const m_S_IFREG1 = 32768
  13597. func XFcFileIsDir(tls *libc.TLS, file uintptr) (r TFcBool) {
  13598. bp := tls.Alloc(144)
  13599. defer tls.Free(144)
  13600. var _ /* statb at bp+0 */ Tstat
  13601. if XFcStat(tls, file, bp) != 0 {
  13602. return m_FcFalse
  13603. }
  13604. return libc.BoolInt32(libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode)&libc.Int32FromInt32(m_S_IFMT3) == libc.Int32FromInt32(m_S_IFDIR1))
  13605. }
  13606. func XFcFileIsLink(tls *libc.TLS, file uintptr) (r TFcBool) {
  13607. bp := tls.Alloc(144)
  13608. defer tls.Free(144)
  13609. var _ /* statb at bp+0 */ Tstat
  13610. if libc.Xlstat(tls, file, bp) != 0 {
  13611. return m_FcFalse
  13612. }
  13613. return libc.BoolInt32(libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode)&libc.Int32FromInt32(m_S_IFMT3) == libc.Int32FromInt32(m_S_IFLNK1))
  13614. }
  13615. func XFcFileIsFile(tls *libc.TLS, file uintptr) (r TFcBool) {
  13616. bp := tls.Alloc(144)
  13617. defer tls.Free(144)
  13618. var _ /* statb at bp+0 */ Tstat
  13619. if XFcStat(tls, file, bp) != 0 {
  13620. return m_FcFalse
  13621. }
  13622. return libc.BoolInt32(libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode)&libc.Int32FromInt32(m_S_IFMT3) == libc.Int32FromInt32(m_S_IFREG1))
  13623. }
  13624. func _FcFileScanFontConfig(tls *libc.TLS, set uintptr, file uintptr, config uintptr) (r TFcBool) {
  13625. bp := tls.Alloc(32)
  13626. defer tls.Free(32)
  13627. var font, s, sysroot uintptr
  13628. var i, old_nfont int32
  13629. var len1 Tsize_t
  13630. var ret TFcBool
  13631. var _ /* f at bp+0 */ uintptr
  13632. _, _, _, _, _, _, _ = font, i, len1, old_nfont, ret, s, sysroot
  13633. ret = int32(m_FcTrue)
  13634. old_nfont = (*TFcFontSet)(unsafe.Pointer(set)).Fnfont
  13635. sysroot = XFcConfigGetSysRoot(tls, config)
  13636. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  13637. libc.Xprintf(tls, __ccgo_ts+2761, libc.VaList(bp+16, file))
  13638. libc.Xfflush(tls, libc.X__stdoutp)
  13639. }
  13640. if !(XFcFreeTypeQueryAll(tls, file, libc.Uint32FromInt32(-libc.Int32FromInt32(1)), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), set) != 0) {
  13641. return m_FcFalse
  13642. }
  13643. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  13644. libc.Xprintf(tls, __ccgo_ts+2782, 0)
  13645. }
  13646. i = old_nfont
  13647. for {
  13648. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  13649. break
  13650. }
  13651. font = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  13652. /*
  13653. * Get rid of sysroot here so that targeting scan rule may contains FC_FILE pattern
  13654. * and they should usually expect without sysroot.
  13655. */
  13656. if sysroot != 0 {
  13657. len1 = libc.Xstrlen(tls, sysroot)
  13658. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  13659. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) && libc.Xstrncmp(tls, *(*uintptr)(unsafe.Pointer(bp)), sysroot, len1) == 0 {
  13660. s = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp)))
  13661. XFcPatternObjectDel(tls, font, int32(_FC_FILE_OBJECT))
  13662. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1)))) != int32('/') {
  13663. len1--
  13664. } else {
  13665. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1+uint64(1))))) == int32('/') {
  13666. len1++
  13667. }
  13668. }
  13669. XFcPatternObjectAddString(tls, font, int32(_FC_FILE_OBJECT), s+uintptr(len1))
  13670. XFcStrFree(tls, s)
  13671. }
  13672. }
  13673. /*
  13674. * Edit pattern with user-defined rules
  13675. */
  13676. if config != 0 && !(XFcConfigSubstitute(tls, config, font, int32(_FcMatchScan)) != 0) {
  13677. ret = m_FcFalse
  13678. }
  13679. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  13680. libc.Xprintf(tls, __ccgo_ts+2788, 0)
  13681. XFcPatternPrint(tls, font)
  13682. }
  13683. goto _1
  13684. _1:
  13685. ;
  13686. i++
  13687. }
  13688. return ret
  13689. }
  13690. func XFcFileScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, file uintptr, config uintptr) (r TFcBool) {
  13691. var d, sysroot uintptr
  13692. var len1 Tsize_t
  13693. _, _, _ = d, len1, sysroot
  13694. if XFcFileIsDir(tls, file) != 0 {
  13695. sysroot = XFcConfigGetSysRoot(tls, config)
  13696. d = file
  13697. if sysroot != 0 {
  13698. len1 = libc.Xstrlen(tls, sysroot)
  13699. if libc.Xstrncmp(tls, file, sysroot, len1) == 0 {
  13700. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1)))) != int32('/') {
  13701. len1--
  13702. } else {
  13703. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1+uint64(1))))) == int32('/') {
  13704. len1++
  13705. }
  13706. }
  13707. d = file + uintptr(len1)
  13708. }
  13709. }
  13710. return XFcStrSetAdd(tls, dirs, d)
  13711. } else {
  13712. if set != 0 {
  13713. return _FcFileScanFontConfig(tls, set, file, config)
  13714. } else {
  13715. return int32(m_FcTrue)
  13716. }
  13717. }
  13718. return r
  13719. }
  13720. func XFcFileScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, file uintptr, force TFcBool) (r TFcBool) {
  13721. var config uintptr
  13722. var ret TFcBool
  13723. _, _ = config, ret
  13724. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  13725. if !(config != 0) {
  13726. return m_FcFalse
  13727. }
  13728. ret = XFcFileScanConfig(tls, set, dirs, file, config)
  13729. XFcConfigDestroy(tls, config)
  13730. return ret
  13731. }
  13732. // C documentation
  13733. //
  13734. // /*
  13735. // * Strcmp helper that takes pointers to pointers, copied from qsort(3) manpage
  13736. // */
  13737. func _cmpstringp(tls *libc.TLS, p1 uintptr, p2 uintptr) (r int32) {
  13738. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(p1)), *(*uintptr)(unsafe.Pointer(p2)))
  13739. }
  13740. func XFcDirScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  13741. bp := tls.Alloc(32)
  13742. defer tls.Free(32)
  13743. var base, d, e, file_prefix, files, s_dir, sysroot, v1 uintptr
  13744. var i int32
  13745. var ret TFcBool
  13746. _, _, _, _, _, _, _, _, _, _ = base, d, e, file_prefix, files, i, ret, s_dir, sysroot, v1
  13747. s_dir = libc.UintptrFromInt32(0)
  13748. sysroot = XFcConfigGetSysRoot(tls, config)
  13749. ret = int32(m_FcTrue)
  13750. if !(force != 0) {
  13751. return m_FcFalse
  13752. }
  13753. if !(set != 0) && !(dirs != 0) {
  13754. return int32(m_FcTrue)
  13755. }
  13756. /* freed below */
  13757. file_prefix = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  13758. if !(file_prefix != 0) {
  13759. ret = m_FcFalse
  13760. goto bail
  13761. }
  13762. libc.X__builtin___strcpy_chk(tls, file_prefix, dir, ^t__predefined_size_t(0))
  13763. libc.X__builtin___strcat_chk(tls, file_prefix, __ccgo_ts+1485, ^t__predefined_size_t(0))
  13764. base = file_prefix + uintptr(libc.Xstrlen(tls, file_prefix))
  13765. if sysroot != 0 {
  13766. s_dir = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  13767. } else {
  13768. s_dir = libc.Xstrdup(tls, dir)
  13769. }
  13770. if !(s_dir != 0) {
  13771. ret = m_FcFalse
  13772. goto bail
  13773. }
  13774. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  13775. libc.Xprintf(tls, __ccgo_ts+2809, libc.VaList(bp+8, s_dir))
  13776. }
  13777. d = libc.Xopendir(tls, s_dir)
  13778. if !(d != 0) {
  13779. /* Don't complain about missing directories */
  13780. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != int32(m_ENOENT) {
  13781. ret = m_FcFalse
  13782. }
  13783. goto bail
  13784. }
  13785. files = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  13786. if !(files != 0) {
  13787. ret = m_FcFalse
  13788. goto bail1
  13789. }
  13790. for {
  13791. v1 = libc.Xreaddir(tls, d)
  13792. e = v1
  13793. if !(v1 != 0) {
  13794. break
  13795. }
  13796. if int32(*(*int8)(unsafe.Pointer(e + 21))) != int32('.') && libc.Xstrlen(tls, e+21) < uint64(m_FC_MAX_FILE_LEN) {
  13797. libc.X__builtin___strcpy_chk(tls, base, e+21, ^t__predefined_size_t(0))
  13798. if !(XFcStrSetAdd(tls, files, file_prefix) != 0) {
  13799. ret = m_FcFalse
  13800. goto bail2
  13801. }
  13802. }
  13803. }
  13804. /*
  13805. * Sort files to make things prettier
  13806. */
  13807. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_cmpstringp))
  13808. /*
  13809. * Scan file files to build font patterns
  13810. */
  13811. i = 0
  13812. for {
  13813. if !(i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  13814. break
  13815. }
  13816. XFcFileScanConfig(tls, set, dirs, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), config)
  13817. goto _2
  13818. _2:
  13819. ;
  13820. i++
  13821. }
  13822. goto bail2
  13823. bail2:
  13824. ;
  13825. XFcStrSetDestroy(tls, files)
  13826. goto bail1
  13827. bail1:
  13828. ;
  13829. libc.Xclosedir(tls, d)
  13830. goto bail
  13831. bail:
  13832. ;
  13833. if s_dir != 0 {
  13834. libc.Xfree(tls, s_dir)
  13835. }
  13836. if file_prefix != 0 {
  13837. libc.Xfree(tls, file_prefix)
  13838. }
  13839. return ret
  13840. }
  13841. func XFcDirScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, dir uintptr, force TFcBool) (r TFcBool) {
  13842. var config uintptr
  13843. var ret TFcBool
  13844. _, _ = config, ret
  13845. if cache != 0 || !(force != 0) {
  13846. return m_FcFalse
  13847. }
  13848. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  13849. if !(config != 0) {
  13850. return m_FcFalse
  13851. }
  13852. ret = XFcDirScanConfig(tls, set, dirs, dir, force, config)
  13853. XFcConfigDestroy(tls, config)
  13854. return ret
  13855. }
  13856. // C documentation
  13857. //
  13858. // /*
  13859. // * Scan the specified directory and construct a cache of its contents
  13860. // */
  13861. func XFcDirCacheScan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  13862. bp := tls.Alloc(176)
  13863. defer tls.Free(176)
  13864. var cache, d, dirs, set, sysroot uintptr
  13865. var fd int32
  13866. var _ /* dir_stat at bp+0 */ Tstat
  13867. _, _, _, _, _, _ = cache, d, dirs, fd, set, sysroot
  13868. cache = libc.UintptrFromInt32(0)
  13869. sysroot = XFcConfigGetSysRoot(tls, config)
  13870. fd = -int32(1)
  13871. if sysroot != 0 {
  13872. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  13873. } else {
  13874. d = libc.Xstrdup(tls, dir)
  13875. }
  13876. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  13877. libc.Xprintf(tls, __ccgo_ts+2827, libc.VaList(bp+152, d))
  13878. }
  13879. if XFcStatChecksum(tls, d, bp) < 0 {
  13880. goto bail
  13881. }
  13882. set = XFcFontSetCreate(tls)
  13883. if !(set != 0) {
  13884. goto bail
  13885. }
  13886. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  13887. if !(dirs != 0) {
  13888. goto bail1
  13889. }
  13890. fd = XFcDirCacheLock(tls, dir, config)
  13891. /*
  13892. * Scan the dir
  13893. */
  13894. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  13895. if !(XFcDirScanConfig(tls, set, dirs, dir, int32(m_FcTrue), config) != 0) {
  13896. goto bail2
  13897. }
  13898. /*
  13899. * Build the cache object
  13900. */
  13901. cache = XFcDirCacheBuild(tls, set, dir, bp, dirs)
  13902. if !(cache != 0) {
  13903. goto bail2
  13904. }
  13905. /*
  13906. * Write out the cache file, ignoring any troubles
  13907. */
  13908. XFcDirCacheWrite(tls, cache, config)
  13909. goto bail2
  13910. bail2:
  13911. ;
  13912. XFcDirCacheUnlock(tls, fd)
  13913. XFcStrSetDestroy(tls, dirs)
  13914. goto bail1
  13915. bail1:
  13916. ;
  13917. XFcFontSetDestroy(tls, set)
  13918. goto bail
  13919. bail:
  13920. ;
  13921. XFcStrFree(tls, d)
  13922. return cache
  13923. }
  13924. func XFcDirCacheRescan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  13925. bp := tls.Alloc(176)
  13926. defer tls.Free(176)
  13927. var cache, d, dirs, new1, sysroot uintptr
  13928. var fd int32
  13929. var _ /* dir_stat at bp+0 */ Tstat
  13930. _, _, _, _, _, _ = cache, d, dirs, fd, new1, sysroot
  13931. new1 = libc.UintptrFromInt32(0)
  13932. d = libc.UintptrFromInt32(0)
  13933. fd = -int32(1)
  13934. config = XFcConfigReference(tls, config)
  13935. if !(config != 0) {
  13936. return libc.UintptrFromInt32(0)
  13937. }
  13938. sysroot = XFcConfigGetSysRoot(tls, config)
  13939. cache = XFcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  13940. if !(cache != 0) {
  13941. goto bail
  13942. }
  13943. if sysroot != 0 {
  13944. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  13945. } else {
  13946. d = libc.Xstrdup(tls, dir)
  13947. }
  13948. if XFcStatChecksum(tls, d, bp) < 0 {
  13949. goto bail
  13950. }
  13951. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  13952. if !(dirs != 0) {
  13953. goto bail
  13954. }
  13955. fd = XFcDirCacheLock(tls, dir, config)
  13956. /*
  13957. * Scan the dir
  13958. */
  13959. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  13960. if !(XFcDirScanConfig(tls, libc.UintptrFromInt32(0), dirs, dir, int32(m_FcTrue), config) != 0) {
  13961. goto bail1
  13962. }
  13963. /*
  13964. * Rebuild the cache object
  13965. */
  13966. new1 = XFcDirCacheRebuild(tls, cache, bp, dirs)
  13967. if !(new1 != 0) {
  13968. goto bail1
  13969. }
  13970. XFcDirCacheUnload(tls, cache)
  13971. /*
  13972. * Write out the cache file, ignoring any troubles
  13973. */
  13974. XFcDirCacheWrite(tls, new1, config)
  13975. goto bail1
  13976. bail1:
  13977. ;
  13978. XFcDirCacheUnlock(tls, fd)
  13979. XFcStrSetDestroy(tls, dirs)
  13980. goto bail
  13981. bail:
  13982. ;
  13983. if d != 0 {
  13984. XFcStrFree(tls, d)
  13985. }
  13986. XFcConfigDestroy(tls, config)
  13987. return new1
  13988. }
  13989. // C documentation
  13990. //
  13991. // /*
  13992. // * Read (or construct) the cache for a directory
  13993. // */
  13994. func XFcDirCacheRead(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r uintptr) {
  13995. var cache uintptr
  13996. _ = cache
  13997. cache = libc.UintptrFromInt32(0)
  13998. config = XFcConfigReference(tls, config)
  13999. /* Try to use existing cache file */
  14000. if !(force != 0) {
  14001. cache = XFcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  14002. }
  14003. /* Not using existing cache file, construct new cache */
  14004. if !(cache != 0) {
  14005. cache = XFcDirCacheScan(tls, dir, config)
  14006. }
  14007. XFcConfigDestroy(tls, config)
  14008. return cache
  14009. }
  14010. func XFcDirSave(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr) (r TFcBool) {
  14011. return m_FcFalse /* XXX deprecated */
  14012. }
  14013. const m_FCCAT_FORMAT = "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\""
  14014. const m_FCLIST_FORMAT = "%{?file{%{file}: }}%{-file{%{=unparse}}}"
  14015. const m_FCMATCH_FORMAT = "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
  14016. const m_PKGKIT_FORMAT = "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
  14017. const m_S_IFDIR2 = 0040000
  14018. const m_S_IFLNK2 = 0120000
  14019. const m_S_IFMT4 = 0170000
  14020. const m_S_IFREG2 = 0100000
  14021. /*
  14022. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  14023. *
  14024. * @APPLE_LICENSE_HEADER_START@
  14025. *
  14026. * This file contains Original Code and/or Modifications of Original Code
  14027. * as defined in and that are subject to the Apple Public Source License
  14028. * Version 2.0 (the 'License'). You may not use this file except in
  14029. * compliance with the License. Please obtain a copy of the License at
  14030. * http://www.opensource.apple.com/apsl/ and read it before using this
  14031. * file.
  14032. *
  14033. * The Original Code and all software distributed under the License are
  14034. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  14035. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  14036. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  14037. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  14038. * Please see the License for the specific language governing rights and
  14039. * limitations under the License.
  14040. *
  14041. * @APPLE_LICENSE_HEADER_END@
  14042. */
  14043. /*-
  14044. * Copyright (c) 1990, 1993
  14045. * The Regents of the University of California. All rights reserved.
  14046. *
  14047. * Redistribution and use in source and binary forms, with or without
  14048. * modification, are permitted provided that the following conditions
  14049. * are met:
  14050. * 1. Redistributions of source code must retain the above copyright
  14051. * notice, this list of conditions and the following disclaimer.
  14052. * 2. Redistributions in binary form must reproduce the above copyright
  14053. * notice, this list of conditions and the following disclaimer in the
  14054. * documentation and/or other materials provided with the distribution.
  14055. * 3. All advertising materials mentioning features or use of this software
  14056. * must display the following acknowledgement:
  14057. * This product includes software developed by the University of
  14058. * California, Berkeley and its contributors.
  14059. * 4. Neither the name of the University nor the names of its contributors
  14060. * may be used to endorse or promote products derived from this software
  14061. * without specific prior written permission.
  14062. *
  14063. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  14064. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  14065. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  14066. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  14067. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  14068. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  14069. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  14070. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  14071. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  14072. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  14073. * SUCH DAMAGE.
  14074. *
  14075. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  14076. */
  14077. /*
  14078. * Copyright (c) 2023 Apple Inc. All rights reserved.
  14079. *
  14080. * @APPLE_LICENSE_HEADER_START@
  14081. *
  14082. * This file contains Original Code and/or Modifications of Original Code
  14083. * as defined in and that are subject to the Apple Public Source License
  14084. * Version 2.0 (the 'License'). You may not use this file except in
  14085. * compliance with the License. Please obtain a copy of the License at
  14086. * http://www.opensource.apple.com/apsl/ and read it before using this
  14087. * file.
  14088. *
  14089. * The Original Code and all software distributed under the License are
  14090. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  14091. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  14092. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  14093. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  14094. * Please see the License for the specific language governing rights and
  14095. * limitations under the License.
  14096. *
  14097. * @APPLE_LICENSE_HEADER_END@
  14098. */
  14099. /*-
  14100. * Copyright (c) 1990, 1993
  14101. * The Regents of the University of California. All rights reserved.
  14102. *
  14103. * Redistribution and use in source and binary forms, with or without
  14104. * modification, are permitted provided that the following conditions
  14105. * are met:
  14106. * 1. Redistributions of source code must retain the above copyright
  14107. * notice, this list of conditions and the following disclaimer.
  14108. * 2. Redistributions in binary form must reproduce the above copyright
  14109. * notice, this list of conditions and the following disclaimer in the
  14110. * documentation and/or other materials provided with the distribution.
  14111. * 3. All advertising materials mentioning features or use of this software
  14112. * must display the following acknowledgement:
  14113. * This product includes software developed by the University of
  14114. * California, Berkeley and its contributors.
  14115. * 4. Neither the name of the University nor the names of its contributors
  14116. * may be used to endorse or promote products derived from this software
  14117. * without specific prior written permission.
  14118. *
  14119. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  14120. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  14121. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  14122. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  14123. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  14124. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  14125. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  14126. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  14127. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  14128. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  14129. * SUCH DAMAGE.
  14130. *
  14131. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  14132. */
  14133. /*
  14134. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  14135. *
  14136. * @APPLE_LICENSE_HEADER_START@
  14137. *
  14138. * This file contains Original Code and/or Modifications of Original Code
  14139. * as defined in and that are subject to the Apple Public Source License
  14140. * Version 2.0 (the 'License'). You may not use this file except in
  14141. * compliance with the License. Please obtain a copy of the License at
  14142. * http://www.opensource.apple.com/apsl/ and read it before using this
  14143. * file.
  14144. *
  14145. * The Original Code and all software distributed under the License are
  14146. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  14147. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  14148. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  14149. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  14150. * Please see the License for the specific language governing rights and
  14151. * limitations under the License.
  14152. *
  14153. * @APPLE_LICENSE_HEADER_END@
  14154. */
  14155. /*-
  14156. * Copyright (c) 1990, 1993
  14157. * The Regents of the University of California. All rights reserved.
  14158. *
  14159. * Redistribution and use in source and binary forms, with or without
  14160. * modification, are permitted provided that the following conditions
  14161. * are met:
  14162. * 1. Redistributions of source code must retain the above copyright
  14163. * notice, this list of conditions and the following disclaimer.
  14164. * 2. Redistributions in binary form must reproduce the above copyright
  14165. * notice, this list of conditions and the following disclaimer in the
  14166. * documentation and/or other materials provided with the distribution.
  14167. * 3. All advertising materials mentioning features or use of this software
  14168. * must display the following acknowledgement:
  14169. * This product includes software developed by the University of
  14170. * California, Berkeley and its contributors.
  14171. * 4. Neither the name of the University nor the names of its contributors
  14172. * may be used to endorse or promote products derived from this software
  14173. * without specific prior written permission.
  14174. *
  14175. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  14176. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  14177. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  14178. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  14179. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  14180. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  14181. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  14182. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  14183. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  14184. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  14185. * SUCH DAMAGE.
  14186. *
  14187. * @(#)string.h 8.1 (Berkeley) 6/2/93
  14188. */
  14189. /*
  14190. * Copyright (c) 2023 Apple Inc. All rights reserved.
  14191. *
  14192. * @APPLE_LICENSE_HEADER_START@
  14193. *
  14194. * This file contains Original Code and/or Modifications of Original Code
  14195. * as defined in and that are subject to the Apple Public Source License
  14196. * Version 2.0 (the 'License'). You may not use this file except in
  14197. * compliance with the License. Please obtain a copy of the License at
  14198. * http://www.opensource.apple.com/apsl/ and read it before using this
  14199. * file.
  14200. *
  14201. * The Original Code and all software distributed under the License are
  14202. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  14203. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  14204. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  14205. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  14206. * Please see the License for the specific language governing rights and
  14207. * limitations under the License.
  14208. *
  14209. * @APPLE_LICENSE_HEADER_END@
  14210. */
  14211. /*-
  14212. * Copyright (c) 1990, 1993
  14213. * The Regents of the University of California. All rights reserved.
  14214. *
  14215. * Redistribution and use in source and binary forms, with or without
  14216. * modification, are permitted provided that the following conditions
  14217. * are met:
  14218. * 1. Redistributions of source code must retain the above copyright
  14219. * notice, this list of conditions and the following disclaimer.
  14220. * 2. Redistributions in binary form must reproduce the above copyright
  14221. * notice, this list of conditions and the following disclaimer in the
  14222. * documentation and/or other materials provided with the distribution.
  14223. * 3. All advertising materials mentioning features or use of this software
  14224. * must display the following acknowledgement:
  14225. * This product includes software developed by the University of
  14226. * California, Berkeley and its contributors.
  14227. * 4. Neither the name of the University nor the names of its contributors
  14228. * may be used to endorse or promote products derived from this software
  14229. * without specific prior written permission.
  14230. *
  14231. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  14232. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  14233. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  14234. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  14235. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  14236. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  14237. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  14238. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  14239. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  14240. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  14241. * SUCH DAMAGE.
  14242. *
  14243. * @(#)string.h 8.1 (Berkeley) 6/2/93
  14244. */
  14245. /*===---- stdarg.h - Variable argument handling ----------------------------===
  14246. *
  14247. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  14248. * See https://llvm.org/LICENSE.txt for license information.
  14249. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  14250. *
  14251. *===-----------------------------------------------------------------------===
  14252. */
  14253. /*
  14254. * This header is designed to be included multiple times. If any of the __need_
  14255. * macros are defined, then only that subset of interfaces are provided. This
  14256. * can be useful for POSIX headers that need to not expose all of stdarg.h, but
  14257. * need to use some of its interfaces. Otherwise this header provides all of
  14258. * the expected interfaces.
  14259. *
  14260. * When clang modules are enabled, this header is a textual header to support
  14261. * the multiple include behavior. As such, it doesn't directly declare anything
  14262. * so that it doesn't add duplicate declarations to all of its includers'
  14263. * modules.
  14264. */
  14265. /* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
  14266. * or -ansi is not specified, since it was not part of C90.
  14267. */
  14268. /*===---- __stdarg_header_macro.h ------------------------------------------===
  14269. *
  14270. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  14271. * See https://llvm.org/LICENSE.txt for license information.
  14272. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  14273. *
  14274. *===-----------------------------------------------------------------------===
  14275. */
  14276. /*===---- __stdarg___gnuc_va_list.h - Definition of __gnuc_va_list ---------===
  14277. *
  14278. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  14279. * See https://llvm.org/LICENSE.txt for license information.
  14280. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  14281. *
  14282. *===-----------------------------------------------------------------------===
  14283. */
  14284. /*===---- __stdarg_va_list.h - Definition of va_list -----------------------===
  14285. *
  14286. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  14287. * See https://llvm.org/LICENSE.txt for license information.
  14288. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  14289. *
  14290. *===-----------------------------------------------------------------------===
  14291. */
  14292. /*===---- __stdarg_va_arg.h - Definitions of va_start, va_arg, va_end-------===
  14293. *
  14294. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  14295. * See https://llvm.org/LICENSE.txt for license information.
  14296. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  14297. *
  14298. *===-----------------------------------------------------------------------===
  14299. */
  14300. /*===---- __stdarg___va_copy.h - Definition of __va_copy -------------------===
  14301. *
  14302. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  14303. * See https://llvm.org/LICENSE.txt for license information.
  14304. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  14305. *
  14306. *===-----------------------------------------------------------------------===
  14307. */
  14308. /*===---- __stdarg_va_copy.h - Definition of va_copy------------------------===
  14309. *
  14310. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  14311. * See https://llvm.org/LICENSE.txt for license information.
  14312. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  14313. *
  14314. *===-----------------------------------------------------------------------===
  14315. */
  14316. /* The language is documented in doc/fcformat.fncs
  14317. * These are the features implemented:
  14318. *
  14319. * simple %{elt}
  14320. * width %width{elt}
  14321. * index %{elt[idx]}
  14322. * name= %{elt=}
  14323. * :name= %{:elt}
  14324. * default %{elt:-word}
  14325. * count %{#elt}
  14326. * subexpr %{{expr}}
  14327. * filter-out %{-elt1,elt2,elt3{expr}}
  14328. * filter-in %{+elt1,elt2,elt3{expr}}
  14329. * conditional %{?elt1,elt2,!elt3{}{}}
  14330. * enumerate %{[]elt1,elt2{expr}}
  14331. * langset langset enumeration using the same syntax
  14332. * builtin %{=blt}
  14333. * convert %{elt|conv1|conv2|conv3}
  14334. *
  14335. * converters:
  14336. * basename FcStrBasename
  14337. * dirname FcStrDirname
  14338. * downcase FcStrDowncase
  14339. * shescape
  14340. * cescape
  14341. * xmlescape
  14342. * delete delete chars
  14343. * escape escape chars
  14344. * translate translate chars
  14345. *
  14346. * builtins:
  14347. * unparse FcNameUnparse
  14348. * fcmatch fc-match default
  14349. * fclist fc-list default
  14350. * fccat fc-cat default
  14351. * pkgkit PackageKit package tag format
  14352. *
  14353. *
  14354. * Some ideas for future syntax extensions:
  14355. *
  14356. * - verbose builtin that is like FcPatternPrint
  14357. * - allow indexing subexprs using '%{[idx]elt1,elt2{subexpr}}'
  14358. * - allow indexing in +, -, ? filtering?
  14359. * - conditional/filtering/deletion on binding (using '(w)'/'(s)'/'(=)' notation)
  14360. */
  14361. func _message(tls *libc.TLS, fmt uintptr, va uintptr) {
  14362. var args Tva_list
  14363. _ = args
  14364. args = va
  14365. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+2846, 0)
  14366. libc.Xvfprintf(tls, libc.X__stderrp, fmt, args)
  14367. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+2881, 0)
  14368. _ = args
  14369. }
  14370. type TFcFormatContext = struct {
  14371. Fformat_orig uintptr
  14372. Fformat uintptr
  14373. Fformat_len int32
  14374. Fword uintptr
  14375. Fword_allocated TFcBool
  14376. }
  14377. type T_FcFormatContext = TFcFormatContext
  14378. func _FcFormatContextInit(tls *libc.TLS, c uintptr, format uintptr, scratch uintptr, scratch_len int32) (r TFcBool) {
  14379. var v1 uintptr
  14380. _ = v1
  14381. v1 = format
  14382. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = v1
  14383. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig = v1
  14384. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len = libc.Int32FromUint64(libc.Xstrlen(tls, format))
  14385. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len < scratch_len {
  14386. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = scratch
  14387. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = m_FcFalse
  14388. } else {
  14389. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len+int32(1)))
  14390. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = int32(m_FcTrue)
  14391. }
  14392. return libc.BoolInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fword != libc.UintptrFromInt32(0))
  14393. }
  14394. func _FcFormatContextDone(tls *libc.TLS, c uintptr) {
  14395. if c != 0 && (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated != 0 {
  14396. libc.Xfree(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  14397. }
  14398. }
  14399. func _consume_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  14400. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  14401. return m_FcFalse
  14402. }
  14403. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14404. return int32(m_FcTrue)
  14405. }
  14406. func _expect_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  14407. bp := tls.Alloc(32)
  14408. defer tls.Free(32)
  14409. var res TFcBool
  14410. _ = res
  14411. res = _consume_char(tls, c, term)
  14412. if !(res != 0) {
  14413. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig+uintptr((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len) {
  14414. _message(tls, __ccgo_ts+2884, libc.VaList(bp+8, libc.Int32FromUint8(term)))
  14415. } else {
  14416. _message(tls, __ccgo_ts+2918, libc.VaList(bp+8, libc.Int32FromUint8(term), int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  14417. }
  14418. }
  14419. return res
  14420. }
  14421. func _FcCharIsPunct(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  14422. if libc.Int32FromUint8(c) < int32('0') {
  14423. return int32(m_FcTrue)
  14424. }
  14425. if libc.Int32FromUint8(c) <= int32('9') {
  14426. return m_FcFalse
  14427. }
  14428. if libc.Int32FromUint8(c) < int32('A') {
  14429. return int32(m_FcTrue)
  14430. }
  14431. if libc.Int32FromUint8(c) <= int32('Z') {
  14432. return m_FcFalse
  14433. }
  14434. if libc.Int32FromUint8(c) < int32('a') {
  14435. return int32(m_FcTrue)
  14436. }
  14437. if libc.Int32FromUint8(c) <= int32('z') {
  14438. return m_FcFalse
  14439. }
  14440. if libc.Int32FromUint8(c) <= int32('~') {
  14441. return int32(m_FcTrue)
  14442. }
  14443. return m_FcFalse
  14444. }
  14445. func _escaped_char(tls *libc.TLS, ch int8) (r int8) {
  14446. switch int32(ch) {
  14447. case int32('a'):
  14448. return int8('\a')
  14449. case int32('b'):
  14450. return int8('\b')
  14451. case int32('f'):
  14452. return int8('\f')
  14453. case int32('n'):
  14454. return int8('\n')
  14455. case int32('r'):
  14456. return int8('\r')
  14457. case int32('t'):
  14458. return int8('\t')
  14459. case int32('v'):
  14460. return int8('\v')
  14461. default:
  14462. return ch
  14463. }
  14464. return r
  14465. }
  14466. func _read_word(tls *libc.TLS, c uintptr) (r TFcBool) {
  14467. bp := tls.Alloc(16)
  14468. defer tls.Free(16)
  14469. var p, v1, v2, v3, v4, v5, v6 uintptr
  14470. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  14471. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14472. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14473. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  14474. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14475. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14476. v1 = p
  14477. p++
  14478. v3 = c + 8
  14479. v2 = *(*uintptr)(unsafe.Pointer(v3))
  14480. *(*uintptr)(unsafe.Pointer(v3))++
  14481. *(*TFcChar8)(unsafe.Pointer(v1)) = libc.Uint8FromInt8(_escaped_char(tls, libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))))
  14482. }
  14483. continue
  14484. } else {
  14485. if _FcCharIsPunct(tls, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != 0 {
  14486. break
  14487. }
  14488. }
  14489. v4 = p
  14490. p++
  14491. v6 = c + 8
  14492. v5 = *(*uintptr)(unsafe.Pointer(v6))
  14493. *(*uintptr)(unsafe.Pointer(v6))++
  14494. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  14495. }
  14496. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  14497. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  14498. _message(tls, __ccgo_ts+2938, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  14499. return m_FcFalse
  14500. }
  14501. return int32(m_FcTrue)
  14502. }
  14503. func _read_chars(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  14504. bp := tls.Alloc(16)
  14505. defer tls.Free(16)
  14506. var p, v1, v2, v3, v4, v5, v6 uintptr
  14507. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  14508. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14509. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  14510. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  14511. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14512. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14513. v1 = p
  14514. p++
  14515. v3 = c + 8
  14516. v2 = *(*uintptr)(unsafe.Pointer(v3))
  14517. *(*uintptr)(unsafe.Pointer(v3))++
  14518. *(*TFcChar8)(unsafe.Pointer(v1)) = libc.Uint8FromInt8(_escaped_char(tls, libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))))
  14519. }
  14520. continue
  14521. }
  14522. v4 = p
  14523. p++
  14524. v6 = c + 8
  14525. v5 = *(*uintptr)(unsafe.Pointer(v6))
  14526. *(*uintptr)(unsafe.Pointer(v6))++
  14527. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  14528. }
  14529. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  14530. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  14531. _message(tls, __ccgo_ts+2964, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  14532. return m_FcFalse
  14533. }
  14534. return int32(m_FcTrue)
  14535. }
  14536. func _interpret_builtin(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14537. bp := tls.Alloc(16)
  14538. defer tls.Free(16)
  14539. var new_str uintptr
  14540. var ret TFcBool
  14541. _, _ = new_str, ret
  14542. if !(_expect_char(tls, c, uint8('=')) != 0) || !(_read_word(tls, c) != 0) {
  14543. return m_FcFalse
  14544. }
  14545. /* try simple builtins first */
  14546. if 0 != 0 {
  14547. } else {
  14548. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2994) {
  14549. new_str = XFcNameUnparse(tls, pat)
  14550. ret = int32(m_FcTrue)
  14551. } else {
  14552. ret = m_FcFalse
  14553. }
  14554. }
  14555. if ret != 0 {
  14556. if new_str != 0 {
  14557. XFcStrBufString(tls, buf, new_str)
  14558. XFcStrFree(tls, new_str)
  14559. return int32(m_FcTrue)
  14560. } else {
  14561. return m_FcFalse
  14562. }
  14563. }
  14564. /* now try our custom formats */
  14565. if 0 != 0 {
  14566. } else {
  14567. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3002) {
  14568. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3008, buf)
  14569. } else {
  14570. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3076) {
  14571. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3084, buf)
  14572. } else {
  14573. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3186) {
  14574. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3193, buf)
  14575. } else {
  14576. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3234) {
  14577. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3241, buf)
  14578. } else {
  14579. ret = m_FcFalse
  14580. }
  14581. }
  14582. }
  14583. }
  14584. }
  14585. if !(ret != 0) {
  14586. _message(tls, __ccgo_ts+3345, libc.VaList(bp+8, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  14587. }
  14588. return ret
  14589. }
  14590. func _interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14591. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _interpret_expr(tls, c, pat, buf, uint8('}')) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  14592. }
  14593. func _maybe_interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14594. var v1 int32
  14595. _ = v1
  14596. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  14597. v1 = _interpret_subexpr(tls, c, pat, buf)
  14598. } else {
  14599. v1 = int32(m_FcTrue)
  14600. }
  14601. return v1
  14602. }
  14603. func _skip_percent(tls *libc.TLS, c uintptr) (r TFcBool) {
  14604. if !(_expect_char(tls, c, uint8('%')) != 0) {
  14605. return m_FcFalse
  14606. }
  14607. /* skip an optional width specifier */
  14608. if libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)) != 0 {
  14609. /* don't care */
  14610. }
  14611. if !(_expect_char(tls, c, uint8('{')) != 0) {
  14612. return m_FcFalse
  14613. }
  14614. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  14615. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  14616. case int32('\\'):
  14617. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  14618. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14619. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14620. }
  14621. continue
  14622. case int32('{'):
  14623. if !(_skip_subexpr(tls, c) != 0) {
  14624. return m_FcFalse
  14625. }
  14626. continue
  14627. }
  14628. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14629. }
  14630. return _expect_char(tls, c, uint8('}'))
  14631. }
  14632. func _skip_expr(tls *libc.TLS, c uintptr) (r TFcBool) {
  14633. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  14634. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  14635. case int32('\\'):
  14636. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  14637. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14638. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14639. }
  14640. continue
  14641. case int32('%'):
  14642. if !(_skip_percent(tls, c) != 0) {
  14643. return m_FcFalse
  14644. }
  14645. continue
  14646. }
  14647. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14648. }
  14649. return int32(m_FcTrue)
  14650. }
  14651. func _skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  14652. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _skip_expr(tls, c) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  14653. }
  14654. func _maybe_skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  14655. var v1 int32
  14656. _ = v1
  14657. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  14658. v1 = _skip_subexpr(tls, c)
  14659. } else {
  14660. v1 = int32(m_FcTrue)
  14661. }
  14662. return v1
  14663. }
  14664. func _interpret_filter_in(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14665. var os, subpat uintptr
  14666. _, _ = os, subpat
  14667. if !(_expect_char(tls, c, uint8('+')) != 0) {
  14668. return m_FcFalse
  14669. }
  14670. os = XFcObjectSetCreate(tls)
  14671. if !(os != 0) {
  14672. return m_FcFalse
  14673. }
  14674. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  14675. /* XXX binding */
  14676. if !(_read_word(tls, c) != 0) || !(XFcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  14677. XFcObjectSetDestroy(tls, os)
  14678. return m_FcFalse
  14679. }
  14680. }
  14681. subpat = XFcPatternFilter(tls, pat, os)
  14682. XFcObjectSetDestroy(tls, os)
  14683. if !(subpat != 0) || !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  14684. return m_FcFalse
  14685. }
  14686. XFcPatternDestroy(tls, subpat)
  14687. return int32(m_FcTrue)
  14688. }
  14689. func _interpret_filter_out(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14690. var subpat uintptr
  14691. _ = subpat
  14692. if !(_expect_char(tls, c, uint8('-')) != 0) {
  14693. return m_FcFalse
  14694. }
  14695. subpat = XFcPatternDuplicate(tls, pat)
  14696. if !(subpat != 0) {
  14697. return m_FcFalse
  14698. }
  14699. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  14700. if !(_read_word(tls, c) != 0) {
  14701. XFcPatternDestroy(tls, subpat)
  14702. return m_FcFalse
  14703. }
  14704. XFcPatternDel(tls, subpat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  14705. }
  14706. if !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  14707. return m_FcFalse
  14708. }
  14709. XFcPatternDestroy(tls, subpat)
  14710. return int32(m_FcTrue)
  14711. }
  14712. func _interpret_cond(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14713. bp := tls.Alloc(16)
  14714. defer tls.Free(16)
  14715. var negate, pass TFcBool
  14716. var _ /* v at bp+0 */ TFcValue
  14717. _, _ = negate, pass
  14718. if !(_expect_char(tls, c, uint8('?')) != 0) {
  14719. return m_FcFalse
  14720. }
  14721. pass = int32(m_FcTrue)
  14722. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  14723. negate = _consume_char(tls, c, uint8('!'))
  14724. if !(_read_word(tls, c) != 0) {
  14725. return m_FcFalse
  14726. }
  14727. pass = libc.BoolInt32(pass != 0 && negate^libc.BoolInt32(int32(_FcResultMatch) == XFcPatternGet(tls, pat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, 0, bp)) != 0)
  14728. }
  14729. if pass != 0 {
  14730. if !(_interpret_subexpr(tls, c, pat, buf) != 0) || !(_maybe_skip_subexpr(tls, c) != 0) {
  14731. return m_FcFalse
  14732. }
  14733. } else {
  14734. if !(_skip_subexpr(tls, c) != 0) || !(_maybe_interpret_subexpr(tls, c, pat, buf) != 0) {
  14735. return m_FcFalse
  14736. }
  14737. }
  14738. return int32(m_FcTrue)
  14739. }
  14740. func _interpret_count(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14741. bp := tls.Alloc(96)
  14742. defer tls.Free(96)
  14743. var count int32
  14744. var _ /* buf_static at bp+16 */ [64]TFcChar8
  14745. var _ /* iter at bp+0 */ TFcPatternIter
  14746. _ = count
  14747. if !(_expect_char(tls, c, uint8('#')) != 0) {
  14748. return m_FcFalse
  14749. }
  14750. if !(_read_word(tls, c) != 0) {
  14751. return m_FcFalse
  14752. }
  14753. count = 0
  14754. if XFcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 {
  14755. count = XFcPatternIterValueCount(tls, pat, bp)
  14756. }
  14757. libc.X__builtin___snprintf_chk(tls, bp+16, uint64(64), 0, ^t__predefined_size_t(0), __ccgo_ts+2470, libc.VaList(bp+88, count))
  14758. XFcStrBufString(tls, buf, bp+16)
  14759. return int32(m_FcTrue)
  14760. }
  14761. func _interpret_enumerate(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14762. bp := tls.Alloc(32)
  14763. defer tls.Free(32)
  14764. var done, ret TFcBool
  14765. var format_save, lang, lang_strs, os, ss, subpat, v1, v2, v4 uintptr
  14766. var i, idx int32
  14767. var v3 bool
  14768. var _ /* langset at bp+0 */ uintptr
  14769. var _ /* v at bp+8 */ TFcValue
  14770. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = done, format_save, i, idx, lang, lang_strs, os, ret, ss, subpat, v1, v2, v3, v4
  14771. if !(_expect_char(tls, c, uint8('[')) != 0) || !(_expect_char(tls, c, uint8(']')) != 0) {
  14772. return m_FcFalse
  14773. }
  14774. os = XFcObjectSetCreate(tls)
  14775. if !(os != 0) {
  14776. return m_FcFalse
  14777. }
  14778. ret = int32(m_FcTrue)
  14779. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  14780. if !(_read_word(tls, c) != 0) || !(XFcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  14781. XFcObjectSetDestroy(tls, os)
  14782. return m_FcFalse
  14783. }
  14784. }
  14785. /* If we have one element and it's of type FcLangSet, we want
  14786. * to enumerate the languages in it. */
  14787. lang_strs = libc.UintptrFromInt32(0)
  14788. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == int32(1) {
  14789. if int32(_FcResultMatch) == XFcPatternGetLangSet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), 0, bp) {
  14790. v1 = XFcLangSetGetLangs(tls, *(*uintptr)(unsafe.Pointer(bp)))
  14791. ss = v1
  14792. if v3 = !(v1 != 0); !v3 {
  14793. v2 = XFcStrListCreate(tls, ss)
  14794. lang_strs = v2
  14795. }
  14796. if v3 || !(v2 != 0) {
  14797. goto bail0
  14798. }
  14799. }
  14800. }
  14801. subpat = XFcPatternDuplicate(tls, pat)
  14802. if !(subpat != 0) {
  14803. goto bail0
  14804. }
  14805. format_save = (*TFcFormatContext)(unsafe.Pointer(c)).Fformat
  14806. idx = 0
  14807. for cond := true; cond; cond = !(done != 0) {
  14808. done = int32(m_FcTrue)
  14809. if lang_strs != 0 {
  14810. XFcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)))
  14811. v4 = XFcStrListNext(tls, lang_strs)
  14812. lang = v4
  14813. if v4 != 0 {
  14814. /* XXX binding? */
  14815. XFcPatternAddString(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), lang)
  14816. done = m_FcFalse
  14817. }
  14818. } else {
  14819. i = 0
  14820. for {
  14821. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  14822. break
  14823. }
  14824. /* XXX this can be optimized by accessing valuelist linked lists
  14825. * directly and remembering where we were. Most (all) value lists
  14826. * in normal uses are pretty short though (language tags are
  14827. * stored as a LangSet, not separate values.). */
  14828. XFcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  14829. if int32(_FcResultMatch) == XFcPatternGet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), idx, bp+8) {
  14830. /* XXX binding */
  14831. XFcPatternAdd(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), *(*TFcValue)(unsafe.Pointer(bp + 8)), m_FcFalse)
  14832. done = m_FcFalse
  14833. }
  14834. goto _5
  14835. _5:
  14836. ;
  14837. i++
  14838. }
  14839. }
  14840. if !(done != 0) {
  14841. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = format_save
  14842. ret = _interpret_subexpr(tls, c, subpat, buf)
  14843. if !(ret != 0) {
  14844. goto bail
  14845. }
  14846. }
  14847. idx++
  14848. }
  14849. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == format_save {
  14850. _skip_subexpr(tls, c)
  14851. }
  14852. goto bail
  14853. bail:
  14854. ;
  14855. XFcPatternDestroy(tls, subpat)
  14856. goto bail0
  14857. bail0:
  14858. ;
  14859. if lang_strs != 0 {
  14860. XFcStrListDone(tls, lang_strs)
  14861. }
  14862. XFcObjectSetDestroy(tls, os)
  14863. return ret
  14864. }
  14865. func _interpret_simple(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14866. bp := tls.Alloc(32)
  14867. defer tls.Free(32)
  14868. var add_colon, add_elt_name TFcBool
  14869. var else_string, orig, v3 uintptr
  14870. var idx int32
  14871. var l TFcValueListPtr
  14872. var _ /* iter at bp+0 */ TFcPatternIter
  14873. _, _, _, _, _, _, _ = add_colon, add_elt_name, else_string, idx, l, orig, v3
  14874. add_colon = m_FcFalse
  14875. add_elt_name = m_FcFalse
  14876. if _consume_char(tls, c, uint8(':')) != 0 {
  14877. add_colon = int32(m_FcTrue)
  14878. }
  14879. if !(_read_word(tls, c) != 0) {
  14880. return m_FcFalse
  14881. }
  14882. idx = -int32(1)
  14883. if _consume_char(tls, c, uint8('[')) != 0 {
  14884. idx = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  14885. if idx < 0 {
  14886. _message(tls, __ccgo_ts+3366, libc.VaList(bp+24, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat-uintptr(1))-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  14887. return m_FcFalse
  14888. }
  14889. if !(_expect_char(tls, c, uint8(']')) != 0) {
  14890. return m_FcFalse
  14891. }
  14892. }
  14893. if _consume_char(tls, c, uint8('=')) != 0 {
  14894. add_elt_name = int32(m_FcTrue)
  14895. }
  14896. /* modifiers */
  14897. else_string = libc.UintptrFromInt32(0)
  14898. if _consume_char(tls, c, uint8(':')) != 0 {
  14899. /* divert the c->word for now */
  14900. orig = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14901. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = (*TFcFormatContext)(unsafe.Pointer(c)).Fword + uintptr(libc.Xstrlen(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)) + uintptr(1)
  14902. /* for now we just support 'default value' */
  14903. if !(_expect_char(tls, c, uint8('-')) != 0) || !(_read_chars(tls, c, uint8('|')) != 0) {
  14904. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  14905. return m_FcFalse
  14906. }
  14907. else_string = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14908. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  14909. }
  14910. if XFcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 || else_string != 0 {
  14911. l = libc.UintptrFromInt32(0)
  14912. if add_colon != 0 {
  14913. XFcStrBufChar(tls, buf, uint8(':'))
  14914. }
  14915. if add_elt_name != 0 {
  14916. XFcStrBufString(tls, buf, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  14917. XFcStrBufChar(tls, buf, uint8('='))
  14918. }
  14919. l = XFcPatternIterGetValues(tls, pat, bp)
  14920. if !(idx != -int32(1)) {
  14921. goto _1
  14922. }
  14923. for l != 0 && idx > 0 {
  14924. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  14925. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  14926. } else {
  14927. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  14928. }
  14929. l = v3
  14930. idx--
  14931. }
  14932. if l != 0 && idx == 0 {
  14933. if !(XFcNameUnparseValue(tls, buf, l+8, libc.UintptrFromInt32(0)) != 0) {
  14934. return m_FcFalse
  14935. }
  14936. } else {
  14937. goto notfound
  14938. }
  14939. goto _2
  14940. _1:
  14941. ;
  14942. if !(l != 0) {
  14943. goto _4
  14944. }
  14945. XFcNameUnparseValueList(tls, buf, l, libc.UintptrFromInt32(0))
  14946. goto _5
  14947. _4:
  14948. ;
  14949. goto notfound
  14950. notfound:
  14951. ;
  14952. if else_string != 0 {
  14953. XFcStrBufString(tls, buf, else_string)
  14954. }
  14955. _5:
  14956. ;
  14957. _2:
  14958. }
  14959. return int32(m_FcTrue)
  14960. }
  14961. func _cescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14962. var v1 uintptr
  14963. _ = v1
  14964. /* XXX escape \n etc? */
  14965. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14966. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  14967. case int32('\\'):
  14968. fallthrough
  14969. case int32('"'):
  14970. XFcStrBufChar(tls, buf, uint8('\\'))
  14971. break
  14972. }
  14973. v1 = str
  14974. str++
  14975. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v1)))
  14976. }
  14977. return int32(m_FcTrue)
  14978. }
  14979. func _shescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14980. XFcStrBufChar(tls, buf, uint8('\''))
  14981. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14982. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) == int32('\'') {
  14983. XFcStrBufString(tls, buf, __ccgo_ts+3401)
  14984. } else {
  14985. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  14986. }
  14987. str++
  14988. }
  14989. XFcStrBufChar(tls, buf, uint8('\''))
  14990. return int32(m_FcTrue)
  14991. }
  14992. func _xmlescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14993. /* XXX escape \n etc? */
  14994. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14995. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  14996. case int32('&'):
  14997. XFcStrBufString(tls, buf, __ccgo_ts+3406)
  14998. case int32('<'):
  14999. XFcStrBufString(tls, buf, __ccgo_ts+3412)
  15000. case int32('>'):
  15001. XFcStrBufString(tls, buf, __ccgo_ts+3417)
  15002. default:
  15003. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  15004. break
  15005. }
  15006. str++
  15007. }
  15008. return int32(m_FcTrue)
  15009. }
  15010. func _delete_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  15011. var p uintptr
  15012. _ = p
  15013. /* XXX not UTF-8 aware */
  15014. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  15015. return m_FcFalse
  15016. }
  15017. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  15018. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  15019. if p != 0 {
  15020. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  15021. str = p + uintptr(1)
  15022. } else {
  15023. XFcStrBufString(tls, buf, str)
  15024. break
  15025. }
  15026. }
  15027. return int32(m_FcTrue)
  15028. }
  15029. func _escape_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  15030. var p uintptr
  15031. _ = p
  15032. /* XXX not UTF-8 aware */
  15033. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  15034. return m_FcFalse
  15035. }
  15036. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  15037. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  15038. if p != 0 {
  15039. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  15040. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fword)))
  15041. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(p)))
  15042. str = p + uintptr(1)
  15043. } else {
  15044. XFcStrBufString(tls, buf, str)
  15045. break
  15046. }
  15047. }
  15048. return int32(m_FcTrue)
  15049. }
  15050. func _translate_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  15051. var from, p, to uintptr
  15052. var from_len, i, to_len, v1 int32
  15053. var repeat int8
  15054. _, _, _, _, _, _, _, _ = from, from_len, i, p, repeat, to, to_len, v1
  15055. /* XXX not UTF-8 aware */
  15056. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(',')) != 0) || !(_expect_char(tls, c, uint8(',')) != 0) {
  15057. return m_FcFalse
  15058. }
  15059. from = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  15060. from_len = libc.Int32FromUint64(libc.Xstrlen(tls, from))
  15061. to = from + uintptr(from_len) + uintptr(1)
  15062. /* hack: we temporarily divert c->word */
  15063. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = to
  15064. if !(_read_chars(tls, c, uint8(')')) != 0) {
  15065. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  15066. return m_FcFalse
  15067. }
  15068. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  15069. to_len = libc.Int32FromUint64(libc.Xstrlen(tls, to))
  15070. repeat = *(*int8)(unsafe.Pointer(to + uintptr(to_len-int32(1))))
  15071. if !(_expect_char(tls, c, uint8(')')) != 0) {
  15072. return m_FcFalse
  15073. }
  15074. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  15075. p = libc.Xstrpbrk(tls, str, from)
  15076. if p != 0 {
  15077. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  15078. i = int32(int64(libc.Xstrchr(tls, from, libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(p))))) - int64(from))
  15079. if i < to_len {
  15080. v1 = int32(*(*int8)(unsafe.Pointer(to + uintptr(i))))
  15081. } else {
  15082. v1 = int32(repeat)
  15083. }
  15084. XFcStrBufChar(tls, buf, libc.Uint8FromInt32(v1))
  15085. str = p + uintptr(1)
  15086. } else {
  15087. XFcStrBufString(tls, buf, str)
  15088. break
  15089. }
  15090. }
  15091. return int32(m_FcTrue)
  15092. }
  15093. func _interpret_convert(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  15094. bp := tls.Alloc(8368)
  15095. defer tls.Free(8368)
  15096. var new_str, str uintptr
  15097. var ret TFcBool
  15098. var _ /* buf_static at bp+152 */ [8192]TFcChar8
  15099. var _ /* new_buf at bp+0 */ TFcStrBuf
  15100. _, _, _ = new_str, ret, str
  15101. if !(_expect_char(tls, c, uint8('|')) != 0) || !(_read_word(tls, c) != 0) {
  15102. return m_FcFalse
  15103. }
  15104. /* prepare the buffer */
  15105. XFcStrBufChar(tls, buf, uint8('\000'))
  15106. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  15107. return m_FcFalse
  15108. }
  15109. str = (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(start)
  15110. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = start
  15111. /* try simple converters first */
  15112. if 0 != 0 {
  15113. } else {
  15114. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3422) {
  15115. new_str = XFcStrDowncase(tls, str)
  15116. ret = int32(m_FcTrue)
  15117. } else {
  15118. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3431) {
  15119. new_str = XFcStrBasename(tls, str)
  15120. ret = int32(m_FcTrue)
  15121. } else {
  15122. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3440) {
  15123. new_str = XFcStrDirname(tls, str)
  15124. ret = int32(m_FcTrue)
  15125. } else {
  15126. ret = m_FcFalse
  15127. }
  15128. }
  15129. }
  15130. }
  15131. if ret != 0 {
  15132. if new_str != 0 {
  15133. XFcStrBufString(tls, buf, new_str)
  15134. XFcStrFree(tls, new_str)
  15135. return int32(m_FcTrue)
  15136. } else {
  15137. return m_FcFalse
  15138. }
  15139. }
  15140. XFcStrBufInit(tls, bp, bp+152, int32(8192))
  15141. /* now try our custom converters */
  15142. if 0 != 0 {
  15143. } else {
  15144. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3448) {
  15145. ret = _cescape(tls, c, str, bp)
  15146. } else {
  15147. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3456) {
  15148. ret = _shescape(tls, c, str, bp)
  15149. } else {
  15150. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3465) {
  15151. ret = _xmlescape(tls, c, str, bp)
  15152. } else {
  15153. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3475) {
  15154. ret = _delete_chars(tls, c, str, bp)
  15155. } else {
  15156. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3482) {
  15157. ret = _escape_chars(tls, c, str, bp)
  15158. } else {
  15159. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3489) {
  15160. ret = _translate_chars(tls, c, str, bp)
  15161. } else {
  15162. ret = m_FcFalse
  15163. }
  15164. }
  15165. }
  15166. }
  15167. }
  15168. }
  15169. }
  15170. if ret != 0 {
  15171. XFcStrBufChar(tls, bp, uint8('\000'))
  15172. XFcStrBufString(tls, buf, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf)
  15173. } else {
  15174. _message(tls, __ccgo_ts+3499, libc.VaList(bp+8352, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  15175. }
  15176. XFcStrBufDestroy(tls, bp)
  15177. return ret
  15178. }
  15179. func _maybe_interpret_converts(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  15180. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('|') {
  15181. if !(_interpret_convert(tls, c, buf, start) != 0) {
  15182. return m_FcFalse
  15183. }
  15184. }
  15185. return int32(m_FcTrue)
  15186. }
  15187. func _align_to_width(tls *libc.TLS, buf uintptr, start int32, width int32) (r TFcBool) {
  15188. var len1, old_len, v1, v2 int32
  15189. _, _, _, _ = len1, old_len, v1, v2
  15190. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  15191. return m_FcFalse
  15192. }
  15193. len1 = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 - start
  15194. if len1 < -width {
  15195. /* left align */
  15196. for {
  15197. v1 = len1
  15198. len1++
  15199. if !(v1 < -width) {
  15200. break
  15201. }
  15202. XFcStrBufChar(tls, buf, uint8(' '))
  15203. }
  15204. } else {
  15205. if len1 < width {
  15206. old_len = len1
  15207. /* right align */
  15208. for {
  15209. v2 = len1
  15210. len1++
  15211. if !(v2 < width) {
  15212. break
  15213. }
  15214. XFcStrBufChar(tls, buf, uint8(' '))
  15215. }
  15216. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  15217. return m_FcFalse
  15218. }
  15219. len1 = old_len
  15220. libc.X__builtin___memmove_chk(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(len1), (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), libc.Uint64FromInt32(len1), ^t__predefined_size_t(0))
  15221. libc.X__builtin___memset_chk(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), int32(' '), libc.Uint64FromInt32(width-len1), ^t__predefined_size_t(0))
  15222. }
  15223. }
  15224. return libc.BoolInt32(!((*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0))
  15225. }
  15226. func _interpret_percent(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  15227. var ret TFcBool
  15228. var start, width int32
  15229. _, _, _ = ret, start, width
  15230. if !(_expect_char(tls, c, uint8('%')) != 0) {
  15231. return m_FcFalse
  15232. }
  15233. if _consume_char(tls, c, uint8('%')) != 0 { /* "%%" */
  15234. XFcStrBufChar(tls, buf, uint8('%'))
  15235. return int32(m_FcTrue)
  15236. }
  15237. /* parse an optional width specifier */
  15238. width = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  15239. if !(_expect_char(tls, c, uint8('{')) != 0) {
  15240. return m_FcFalse
  15241. }
  15242. start = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1
  15243. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  15244. case int32('='):
  15245. ret = _interpret_builtin(tls, c, pat, buf)
  15246. case int32('{'):
  15247. ret = _interpret_subexpr(tls, c, pat, buf)
  15248. case int32('+'):
  15249. ret = _interpret_filter_in(tls, c, pat, buf)
  15250. case int32('-'):
  15251. ret = _interpret_filter_out(tls, c, pat, buf)
  15252. case int32('?'):
  15253. ret = _interpret_cond(tls, c, pat, buf)
  15254. case int32('#'):
  15255. ret = _interpret_count(tls, c, pat, buf)
  15256. case int32('['):
  15257. ret = _interpret_enumerate(tls, c, pat, buf)
  15258. default:
  15259. ret = _interpret_simple(tls, c, pat, buf)
  15260. break
  15261. }
  15262. return libc.BoolInt32(ret != 0 && _maybe_interpret_converts(tls, c, buf, start) != 0 && _align_to_width(tls, buf, start, width) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  15263. }
  15264. func _interpret_expr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr, term TFcChar8) (r TFcBool) {
  15265. var v1, v2, v3, v4 uintptr
  15266. _, _, _, _ = v1, v2, v3, v4
  15267. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  15268. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  15269. case int32('\\'):
  15270. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  15271. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  15272. v2 = c + 8
  15273. v1 = *(*uintptr)(unsafe.Pointer(v2))
  15274. *(*uintptr)(unsafe.Pointer(v2))++
  15275. XFcStrBufChar(tls, buf, libc.Uint8FromInt8(_escaped_char(tls, libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v1))))))
  15276. }
  15277. continue
  15278. case int32('%'):
  15279. if !(_interpret_percent(tls, c, pat, buf) != 0) {
  15280. return m_FcFalse
  15281. }
  15282. continue
  15283. }
  15284. v4 = c + 8
  15285. v3 = *(*uintptr)(unsafe.Pointer(v4))
  15286. *(*uintptr)(unsafe.Pointer(v4))++
  15287. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v3)))
  15288. }
  15289. return int32(m_FcTrue)
  15290. }
  15291. func _FcPatternFormatToBuf(tls *libc.TLS, pat uintptr, format uintptr, buf uintptr) (r TFcBool) {
  15292. bp := tls.Alloc(1072)
  15293. defer tls.Free(1072)
  15294. var ret TFcBool
  15295. var _ /* c at bp+0 */ TFcFormatContext
  15296. var _ /* word_static at bp+40 */ [1024]TFcChar8
  15297. _ = ret
  15298. if !(_FcFormatContextInit(tls, bp, format, bp+40, int32(1024)) != 0) {
  15299. return m_FcFalse
  15300. }
  15301. ret = _interpret_expr(tls, bp, pat, buf, uint8('\000'))
  15302. _FcFormatContextDone(tls, bp)
  15303. return ret
  15304. }
  15305. func XFcPatternFormat(tls *libc.TLS, pat uintptr, format uintptr) (r uintptr) {
  15306. bp := tls.Alloc(7328)
  15307. defer tls.Free(7328)
  15308. var alloced, v1 uintptr
  15309. var ret TFcBool
  15310. var _ /* buf at bp+0 */ TFcStrBuf
  15311. var _ /* buf_static at bp+152 */ [7168]TFcChar8
  15312. _, _, _ = alloced, ret, v1
  15313. alloced = libc.UintptrFromInt32(0)
  15314. if !(pat != 0) {
  15315. v1 = XFcPatternCreate(tls)
  15316. pat = v1
  15317. alloced = v1
  15318. }
  15319. XFcStrBufInit(tls, bp, bp+152, int32(7168))
  15320. ret = _FcPatternFormatToBuf(tls, pat, format, bp)
  15321. if alloced != 0 {
  15322. XFcPatternDestroy(tls, alloced)
  15323. }
  15324. if ret != 0 {
  15325. return XFcStrBufDone(tls, bp)
  15326. } else {
  15327. XFcStrBufDestroy(tls, bp)
  15328. return libc.UintptrFromInt32(0)
  15329. }
  15330. return r
  15331. }
  15332. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15333. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 = "DEPRECATED_ATTRIBUTE"
  15334. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15335. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15336. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15337. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15338. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15339. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15340. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15341. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15342. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15343. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15344. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15345. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 = "DEPRECATED_ATTRIBUTE"
  15346. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 = "DEPRECATED_ATTRIBUTE"
  15347. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  15348. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  15349. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15350. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15351. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15352. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15353. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15354. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15355. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15356. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15357. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15358. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15359. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15360. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15361. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15362. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15363. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15364. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15365. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15366. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15367. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15368. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15369. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15370. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15371. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15372. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15373. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15374. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15375. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15376. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15377. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15378. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15379. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15380. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15381. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15382. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15383. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15384. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15385. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15386. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15387. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15388. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15389. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15390. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15391. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15392. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15393. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15394. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15395. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15396. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15397. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15398. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15399. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15400. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15401. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15402. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15403. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15404. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15405. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15406. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15407. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15408. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15409. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15410. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15411. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15412. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15413. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15414. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15415. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15416. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15417. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15418. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15419. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15420. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15421. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15422. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15423. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15424. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15425. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15426. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15427. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15428. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15429. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15430. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15431. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 = "DEPRECATED_ATTRIBUTE"
  15432. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 = "DEPRECATED_ATTRIBUTE"
  15433. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  15434. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  15435. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15436. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15437. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15438. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15439. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15440. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15441. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15442. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15443. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15444. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15445. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15446. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15447. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15448. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15449. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15450. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15451. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 = "DEPRECATED_ATTRIBUTE"
  15452. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  15453. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  15454. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15455. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15456. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15457. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15458. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15459. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15460. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15461. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15462. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15463. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15464. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15465. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15466. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15467. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15468. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15469. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15470. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  15471. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  15472. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15473. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15474. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15475. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15476. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15477. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15478. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15479. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15480. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15481. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15482. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15483. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15484. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15485. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15486. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15487. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15488. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  15489. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15490. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15491. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15492. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15493. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15494. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15495. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15496. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15497. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15498. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15499. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15500. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15501. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15502. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15503. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15504. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15505. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15506. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15507. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15508. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15509. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15510. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15511. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15512. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15513. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15514. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15515. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15516. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15517. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15518. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15519. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15520. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15521. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 = "DEPRECATED_ATTRIBUTE"
  15522. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15523. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15524. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15525. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15526. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15527. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15528. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15529. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15530. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15531. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15532. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15533. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15534. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15535. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15536. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15537. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15538. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15539. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15540. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15541. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15542. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15543. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15544. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15545. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15546. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15547. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15548. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15549. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15550. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15551. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15552. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15553. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15554. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15555. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15556. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15557. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15558. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15559. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15560. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15561. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15562. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15563. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15564. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 = 500
  15565. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 = 1000
  15566. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 = 1667
  15567. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 = 2333
  15568. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 = 400
  15569. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 = 275
  15570. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 = 275
  15571. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 = 0
  15572. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15573. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15574. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15575. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15576. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15577. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15578. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15579. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15580. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15581. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15582. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15583. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15584. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15585. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15586. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15587. const m_DYNAMIC_TARGETS_ENABLED = 0
  15588. const m_FC_ENCODING_MAC_ROMAN = "MACINTOSH"
  15589. const m_FREETYPE_MAJOR = 2
  15590. const m_FREETYPE_MINOR = 10
  15591. const m_FREETYPE_PATCH = 4
  15592. const m_FT_ADVANCE_FLAG_FAST_ONLY = 0x20000000
  15593. const m_FT_AUTOHINTER_H = "FT_DRIVER_H"
  15594. const m_FT_CACHE_CHARMAP_H = "FT_CACHE_H"
  15595. const m_FT_CACHE_IMAGE_H = "FT_CACHE_H"
  15596. const m_FT_CACHE_INTERNAL_CACHE_H = "FT_CACHE_H"
  15597. const m_FT_CACHE_INTERNAL_GLYPH_H = "FT_CACHE_H"
  15598. const m_FT_CACHE_INTERNAL_IMAGE_H = "FT_CACHE_H"
  15599. const m_FT_CACHE_INTERNAL_MANAGER_H = "FT_CACHE_H"
  15600. const m_FT_CACHE_INTERNAL_MRU_H = "FT_CACHE_H"
  15601. const m_FT_CACHE_INTERNAL_SBITS_H = "FT_CACHE_H"
  15602. const m_FT_CACHE_MANAGER_H = "FT_CACHE_H"
  15603. const m_FT_CACHE_SMALL_BITMAPS_H = "FT_CACHE_H"
  15604. const m_FT_CFF_DRIVER_H = "FT_DRIVER_H"
  15605. const m_FT_CHAR_BIT = "CHAR_BIT"
  15606. const m_FT_CURVE_TAG_CONIC = 0x00
  15607. const m_FT_CURVE_TAG_CUBIC = 0x02
  15608. const m_FT_CURVE_TAG_HAS_SCANMODE = 0x04
  15609. const m_FT_CURVE_TAG_ON = 0x01
  15610. const m_FT_CURVE_TAG_TOUCH_X = 0x08
  15611. const m_FT_CURVE_TAG_TOUCH_Y = 0x10
  15612. const m_FT_Curve_Tag_Conic = "FT_CURVE_TAG_CONIC"
  15613. const m_FT_Curve_Tag_Cubic = "FT_CURVE_TAG_CUBIC"
  15614. const m_FT_Curve_Tag_On = "FT_CURVE_TAG_ON"
  15615. const m_FT_Curve_Tag_Touch_X = "FT_CURVE_TAG_TOUCH_X"
  15616. const m_FT_Curve_Tag_Touch_Y = "FT_CURVE_TAG_TOUCH_Y"
  15617. const m_FT_FILE = "FILE"
  15618. const m_FT_FSTYPE_BITMAP_EMBEDDING_ONLY = 0x0200
  15619. const m_FT_FSTYPE_EDITABLE_EMBEDDING = 0x0008
  15620. const m_FT_FSTYPE_INSTALLABLE_EMBEDDING = 0x0000
  15621. const m_FT_FSTYPE_NO_SUBSETTING = 0x0100
  15622. const m_FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING = 0x0004
  15623. const m_FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING = 0x0002
  15624. const m_FT_INT64 = "long"
  15625. const m_FT_INT_MAX = "INT_MAX"
  15626. const m_FT_INT_MIN = "INT_MIN"
  15627. const m_FT_LOAD_DEFAULT = 0x0
  15628. const m_FT_LONG_MAX = "LONG_MAX"
  15629. const m_FT_LONG_MIN = "LONG_MIN"
  15630. const m_FT_MAX_MODULES = 32
  15631. const m_FT_OPEN_DRIVER = 0x8
  15632. const m_FT_OPEN_MEMORY = 0x1
  15633. const m_FT_OPEN_PARAMS = 0x10
  15634. const m_FT_OPEN_PATHNAME = 0x4
  15635. const m_FT_OPEN_STREAM = 0x2
  15636. const m_FT_OUTLINE_CONTOURS_MAX = "SHRT_MAX"
  15637. const m_FT_OUTLINE_EVEN_ODD_FILL = 0x2
  15638. const m_FT_OUTLINE_HIGH_PRECISION = 0x100
  15639. const m_FT_OUTLINE_IGNORE_DROPOUTS = 0x8
  15640. const m_FT_OUTLINE_INCLUDE_STUBS = 0x20
  15641. const m_FT_OUTLINE_NONE = 0x0
  15642. const m_FT_OUTLINE_OVERLAP = 0x40
  15643. const m_FT_OUTLINE_OWNER = 0x1
  15644. const m_FT_OUTLINE_POINTS_MAX = "SHRT_MAX"
  15645. const m_FT_OUTLINE_REVERSE_FILL = 0x4
  15646. const m_FT_OUTLINE_SINGLE_PASS = 0x200
  15647. const m_FT_OUTLINE_SMART_DROPOUTS = 0x10
  15648. const m_FT_Outline_ConicTo_Func = "FT_Outline_ConicToFunc"
  15649. const m_FT_Outline_CubicTo_Func = "FT_Outline_CubicToFunc"
  15650. const m_FT_Outline_LineTo_Func = "FT_Outline_LineToFunc"
  15651. const m_FT_Outline_MoveTo_Func = "FT_Outline_MoveToFunc"
  15652. const m_FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY"
  15653. const m_FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY"
  15654. const m_FT_PCF_DRIVER_H = "FT_DRIVER_H"
  15655. const m_FT_RASTER_FLAG_AA = 0x1
  15656. const m_FT_RASTER_FLAG_CLIP = 0x4
  15657. const m_FT_RASTER_FLAG_DEFAULT = 0x0
  15658. const m_FT_RASTER_FLAG_DIRECT = 0x2
  15659. const m_FT_RENDER_POOL_SIZE = 16384
  15660. const m_FT_Raster_Done_Func = "FT_Raster_DoneFunc"
  15661. const m_FT_Raster_New_Func = "FT_Raster_NewFunc"
  15662. const m_FT_Raster_Render_Func = "FT_Raster_RenderFunc"
  15663. const m_FT_Raster_Reset_Func = "FT_Raster_ResetFunc"
  15664. const m_FT_Raster_Set_Mode_Func = "FT_Raster_SetModeFunc"
  15665. const m_FT_Raster_Span_Func = "FT_SpanFunc"
  15666. const m_FT_SUBGLYPH_FLAG_2X2 = 0x80
  15667. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS = 1
  15668. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES = 2
  15669. const m_FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID = 4
  15670. const m_FT_SUBGLYPH_FLAG_SCALE = 8
  15671. const m_FT_SUBGLYPH_FLAG_USE_MY_METRICS = 0x200
  15672. const m_FT_SUBGLYPH_FLAG_XY_SCALE = 0x40
  15673. const m_FT_TRUETYPE_DRIVER_H = "FT_DRIVER_H"
  15674. const m_FT_UINT_MAX = "UINT_MAX"
  15675. const m_FT_ULONG_MAX = "ULONG_MAX"
  15676. const m_FT_USHORT_MAX = "USHRT_MAX"
  15677. const m_FT_VAR_AXIS_FLAG_HIDDEN = 1
  15678. const m_FT_XFREE86_H = "FT_FONT_FORMATS_H"
  15679. const m_MAC_OS_X_VERSION_MAX_ALLOWED = "MAC_OS_X_VERSION_MIN_REQUIRED"
  15680. const m_MAC_OS_X_VERSION_MIN_REQUIRED = "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__"
  15681. const m_OTLAYOUT_HEAD = "otlayout:"
  15682. const m_OTLAYOUT_HEAD_LEN = 9
  15683. const m_OTLAYOUT_ID_LEN = 4
  15684. const m_T1_MAX_CHARSTRINGS_OPERANDS = 256
  15685. const m_T1_MAX_DICT_DEPTH = 5
  15686. const m_T1_MAX_MM_AXIS = 4
  15687. const m_T1_MAX_MM_DESIGNS = 16
  15688. const m_T1_MAX_MM_MAP_POINTS = 20
  15689. const m_T1_MAX_SUBRS_CALLS = 16
  15690. const m_TARGET_CPU_68K = 0
  15691. const m_TARGET_CPU_ALPHA = 0
  15692. const m_TARGET_CPU_ARM = 0
  15693. const m_TARGET_CPU_ARM64 = 0
  15694. const m_TARGET_CPU_MIPS = 0
  15695. const m_TARGET_CPU_PPC = 0
  15696. const m_TARGET_CPU_PPC64 = 0
  15697. const m_TARGET_CPU_SPARC = 0
  15698. const m_TARGET_CPU_X86 = 0
  15699. const m_TARGET_CPU_X86_64 = 1
  15700. const m_TARGET_IPHONE_SIMULATOR = "TARGET_OS_SIMULATOR"
  15701. const m_TARGET_OS_DRIVERKIT = 0
  15702. const m_TARGET_OS_EMBEDDED = 0
  15703. const m_TARGET_OS_IOS = 0
  15704. const m_TARGET_OS_IPHONE = 0
  15705. const m_TARGET_OS_LINUX = 0
  15706. const m_TARGET_OS_MAC = 1
  15707. const m_TARGET_OS_MACCATALYST = 0
  15708. const m_TARGET_OS_NANO = "TARGET_OS_WATCH"
  15709. const m_TARGET_OS_OSX = 1
  15710. const m_TARGET_OS_RTKIT = 0
  15711. const m_TARGET_OS_SIMULATOR = 0
  15712. const m_TARGET_OS_TV = 0
  15713. const m_TARGET_OS_UIKITFORMAC = 0
  15714. const m_TARGET_OS_UNIX = 0
  15715. const m_TARGET_OS_VISION = 0
  15716. const m_TARGET_OS_WATCH = 0
  15717. const m_TARGET_OS_WIN32 = 0
  15718. const m_TARGET_OS_WINDOWS = 0
  15719. const m_TARGET_RT_64_BIT = 1
  15720. const m_TARGET_RT_BIG_ENDIAN = 0
  15721. const m_TARGET_RT_LITTLE_ENDIAN = 1
  15722. const m_TARGET_RT_MAC_CFM = 0
  15723. const m_TARGET_RT_MAC_MACHO = 1
  15724. const m_TT_ADOBE_ID_CUSTOM = 2
  15725. const m_TT_ADOBE_ID_EXPERT = 1
  15726. const m_TT_ADOBE_ID_LATIN_1 = 3
  15727. const m_TT_ADOBE_ID_STANDARD = 0
  15728. const m_TT_APPLE_ID_DEFAULT = 0
  15729. const m_TT_APPLE_ID_FULL_UNICODE = 6
  15730. const m_TT_APPLE_ID_ISO_10646 = 2
  15731. const m_TT_APPLE_ID_UNICODE_1_1 = 1
  15732. const m_TT_APPLE_ID_UNICODE_2_0 = 3
  15733. const m_TT_APPLE_ID_UNICODE_32 = 4
  15734. const m_TT_APPLE_ID_VARIANT_SELECTOR = 5
  15735. const m_TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES = 1000000
  15736. const m_TT_CONFIG_OPTION_SUBPIXEL_HINTING = 2
  15737. const m_TT_ENCODING_DONT_CARE = 65535
  15738. const m_TT_ISO_ID_10646 = 1
  15739. const m_TT_ISO_ID_7BIT_ASCII = 0
  15740. const m_TT_ISO_ID_8859_1 = 2
  15741. const m_TT_LANGUAGE_DONT_CARE = 65535
  15742. const m_TT_MAC_ID_ARABIC = 4
  15743. const m_TT_MAC_ID_ARMENIAN = 24
  15744. const m_TT_MAC_ID_BENGALI = 13
  15745. const m_TT_MAC_ID_BURMESE = 19
  15746. const m_TT_MAC_ID_DEVANAGARI = 9
  15747. const m_TT_MAC_ID_GEEZ = 28
  15748. const m_TT_MAC_ID_GEORGIAN = 23
  15749. const m_TT_MAC_ID_GREEK = 6
  15750. const m_TT_MAC_ID_GUJARATI = 11
  15751. const m_TT_MAC_ID_GURMUKHI = 10
  15752. const m_TT_MAC_ID_HEBREW = 5
  15753. const m_TT_MAC_ID_JAPANESE = 1
  15754. const m_TT_MAC_ID_KANNADA = 16
  15755. const m_TT_MAC_ID_KHMER = 20
  15756. const m_TT_MAC_ID_KOREAN = 3
  15757. const m_TT_MAC_ID_LAOTIAN = 22
  15758. const m_TT_MAC_ID_MALAYALAM = 17
  15759. const m_TT_MAC_ID_MALDIVIAN = 25
  15760. const m_TT_MAC_ID_MONGOLIAN = 27
  15761. const m_TT_MAC_ID_ORIYA = 12
  15762. const m_TT_MAC_ID_ROMAN = 0
  15763. const m_TT_MAC_ID_RSYMBOL = 8
  15764. const m_TT_MAC_ID_RUSSIAN = 7
  15765. const m_TT_MAC_ID_SIMPLIFIED_CHINESE = 25
  15766. const m_TT_MAC_ID_SINDHI = 31
  15767. const m_TT_MAC_ID_SINHALESE = 18
  15768. const m_TT_MAC_ID_SLAVIC = 29
  15769. const m_TT_MAC_ID_TAMIL = 14
  15770. const m_TT_MAC_ID_TELUGU = 15
  15771. const m_TT_MAC_ID_THAI = 21
  15772. const m_TT_MAC_ID_TIBETAN = 26
  15773. const m_TT_MAC_ID_TRADITIONAL_CHINESE = 2
  15774. const m_TT_MAC_ID_UNINTERP = 32
  15775. const m_TT_MAC_ID_VIETNAMESE = 30
  15776. const m_TT_MAC_LANGID_AFRIKAANS = 141
  15777. const m_TT_MAC_LANGID_ALBANIAN = 36
  15778. const m_TT_MAC_LANGID_AMHARIC = 85
  15779. const m_TT_MAC_LANGID_ARABIC = 12
  15780. const m_TT_MAC_LANGID_ARMENIAN = 51
  15781. const m_TT_MAC_LANGID_ASSAMESE = 68
  15782. const m_TT_MAC_LANGID_AYMARA = 134
  15783. const m_TT_MAC_LANGID_AZERBAIJANI = 49
  15784. const m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT = 50
  15785. const m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT = 49
  15786. const m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT = 150
  15787. const m_TT_MAC_LANGID_BASQUE = 129
  15788. const m_TT_MAC_LANGID_BENGALI = 67
  15789. const m_TT_MAC_LANGID_BRETON = 142
  15790. const m_TT_MAC_LANGID_BULGARIAN = 44
  15791. const m_TT_MAC_LANGID_BURMESE = 77
  15792. const m_TT_MAC_LANGID_BYELORUSSIAN = 46
  15793. const m_TT_MAC_LANGID_CATALAN = 130
  15794. const m_TT_MAC_LANGID_CHEWA = 92
  15795. const m_TT_MAC_LANGID_CHINESE_SIMPLIFIED = 33
  15796. const m_TT_MAC_LANGID_CHINESE_TRADITIONAL = 19
  15797. const m_TT_MAC_LANGID_CROATIAN = 18
  15798. const m_TT_MAC_LANGID_CZECH = 38
  15799. const m_TT_MAC_LANGID_DANISH = 7
  15800. const m_TT_MAC_LANGID_DUTCH = 4
  15801. const m_TT_MAC_LANGID_DZONGKHA = 137
  15802. const m_TT_MAC_LANGID_ENGLISH = 0
  15803. const m_TT_MAC_LANGID_ESPERANTO = 94
  15804. const m_TT_MAC_LANGID_ESTONIAN = 27
  15805. const m_TT_MAC_LANGID_FAEROESE = 30
  15806. const m_TT_MAC_LANGID_FARSI = 31
  15807. const m_TT_MAC_LANGID_FINNISH = 13
  15808. const m_TT_MAC_LANGID_FLEMISH = 34
  15809. const m_TT_MAC_LANGID_FRENCH = 1
  15810. const m_TT_MAC_LANGID_GALICIAN = 140
  15811. const m_TT_MAC_LANGID_GALLA = 87
  15812. const m_TT_MAC_LANGID_GEORGIAN = 52
  15813. const m_TT_MAC_LANGID_GERMAN = 2
  15814. const m_TT_MAC_LANGID_GREEK = 14
  15815. const m_TT_MAC_LANGID_GREEK_POLYTONIC = 148
  15816. const m_TT_MAC_LANGID_GREELANDIC = 149
  15817. const m_TT_MAC_LANGID_GUARANI = 133
  15818. const m_TT_MAC_LANGID_GUJARATI = 69
  15819. const m_TT_MAC_LANGID_HEBREW = 10
  15820. const m_TT_MAC_LANGID_HINDI = 21
  15821. const m_TT_MAC_LANGID_HUNGARIAN = 26
  15822. const m_TT_MAC_LANGID_ICELANDIC = 15
  15823. const m_TT_MAC_LANGID_INDONESIAN = 81
  15824. const m_TT_MAC_LANGID_INUKTITUT = 143
  15825. const m_TT_MAC_LANGID_IRISH = 35
  15826. const m_TT_MAC_LANGID_IRISH_GAELIC = 146
  15827. const m_TT_MAC_LANGID_ITALIAN = 3
  15828. const m_TT_MAC_LANGID_JAPANESE = 11
  15829. const m_TT_MAC_LANGID_JAVANESE = 138
  15830. const m_TT_MAC_LANGID_KANNADA = 73
  15831. const m_TT_MAC_LANGID_KASHMIRI = 61
  15832. const m_TT_MAC_LANGID_KAZAKH = 48
  15833. const m_TT_MAC_LANGID_KHMER = 78
  15834. const m_TT_MAC_LANGID_KIRGHIZ = 54
  15835. const m_TT_MAC_LANGID_KOREAN = 23
  15836. const m_TT_MAC_LANGID_KURDISH = 60
  15837. const m_TT_MAC_LANGID_LAO = 79
  15838. const m_TT_MAC_LANGID_LATIN = 131
  15839. const m_TT_MAC_LANGID_LETTISH = 28
  15840. const m_TT_MAC_LANGID_LITHUANIAN = 24
  15841. const m_TT_MAC_LANGID_MACEDONIAN = 43
  15842. const m_TT_MAC_LANGID_MALAGASY = 93
  15843. const m_TT_MAC_LANGID_MALAYALAM = 72
  15844. const m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT = 84
  15845. const m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT = 83
  15846. const m_TT_MAC_LANGID_MALTESE = 16
  15847. const m_TT_MAC_LANGID_MANX_GAELIC = 145
  15848. const m_TT_MAC_LANGID_MARATHI = 66
  15849. const m_TT_MAC_LANGID_MOLDAVIAN = 53
  15850. const m_TT_MAC_LANGID_MONGOLIAN = 57
  15851. const m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT = 58
  15852. const m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT = 57
  15853. const m_TT_MAC_LANGID_NEPALI = 64
  15854. const m_TT_MAC_LANGID_NORWEGIAN = 9
  15855. const m_TT_MAC_LANGID_ORIYA = 71
  15856. const m_TT_MAC_LANGID_PASHTO = 59
  15857. const m_TT_MAC_LANGID_POLISH = 25
  15858. const m_TT_MAC_LANGID_PORTUGUESE = 8
  15859. const m_TT_MAC_LANGID_PUNJABI = 70
  15860. const m_TT_MAC_LANGID_QUECHUA = 132
  15861. const m_TT_MAC_LANGID_ROMANIAN = 37
  15862. const m_TT_MAC_LANGID_RUANDA = 90
  15863. const m_TT_MAC_LANGID_RUNDI = 91
  15864. const m_TT_MAC_LANGID_RUSSIAN = 32
  15865. const m_TT_MAC_LANGID_SAAMISK = 29
  15866. const m_TT_MAC_LANGID_SANSKRIT = 65
  15867. const m_TT_MAC_LANGID_SCOTTISH_GAELIC = 144
  15868. const m_TT_MAC_LANGID_SERBIAN = 42
  15869. const m_TT_MAC_LANGID_SINDHI = 62
  15870. const m_TT_MAC_LANGID_SINHALESE = 76
  15871. const m_TT_MAC_LANGID_SLOVAK = 39
  15872. const m_TT_MAC_LANGID_SLOVENIAN = 40
  15873. const m_TT_MAC_LANGID_SOMALI = 88
  15874. const m_TT_MAC_LANGID_SPANISH = 6
  15875. const m_TT_MAC_LANGID_SUNDANESE = 139
  15876. const m_TT_MAC_LANGID_SWAHILI = 89
  15877. const m_TT_MAC_LANGID_SWEDISH = 5
  15878. const m_TT_MAC_LANGID_TAGALOG = 82
  15879. const m_TT_MAC_LANGID_TAJIKI = 55
  15880. const m_TT_MAC_LANGID_TAMIL = 74
  15881. const m_TT_MAC_LANGID_TATAR = 135
  15882. const m_TT_MAC_LANGID_TELUGU = 75
  15883. const m_TT_MAC_LANGID_THAI = 22
  15884. const m_TT_MAC_LANGID_TIBETAN = 63
  15885. const m_TT_MAC_LANGID_TIGRINYA = 86
  15886. const m_TT_MAC_LANGID_TONGAN = 147
  15887. const m_TT_MAC_LANGID_TURKISH = 17
  15888. const m_TT_MAC_LANGID_TURKMEN = 56
  15889. const m_TT_MAC_LANGID_UIGHUR = 136
  15890. const m_TT_MAC_LANGID_UKRAINIAN = 45
  15891. const m_TT_MAC_LANGID_URDU = 20
  15892. const m_TT_MAC_LANGID_UZBEK = 47
  15893. const m_TT_MAC_LANGID_VIETNAMESE = 80
  15894. const m_TT_MAC_LANGID_WELSH = 128
  15895. const m_TT_MAC_LANGID_YIDDISH = 41
  15896. const m_TT_MS_ID_BIG_5 = 4
  15897. const m_TT_MS_ID_GB2312 = "TT_MS_ID_PRC"
  15898. const m_TT_MS_ID_JOHAB = 6
  15899. const m_TT_MS_ID_PRC = 3
  15900. const m_TT_MS_ID_SJIS = 2
  15901. const m_TT_MS_ID_SYMBOL_CS = 0
  15902. const m_TT_MS_ID_UCS_4 = 10
  15903. const m_TT_MS_ID_UNICODE_CS = 1
  15904. const m_TT_MS_ID_WANSUNG = 5
  15905. const m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA = 1078
  15906. const m_TT_MS_LANGID_ALBANIAN_ALBANIA = 1052
  15907. const m_TT_MS_LANGID_ALSATIAN_FRANCE = 0x0484
  15908. const m_TT_MS_LANGID_AMHARIC_ETHIOPIA = 1118
  15909. const m_TT_MS_LANGID_ARABIC_ALGERIA = 5121
  15910. const m_TT_MS_LANGID_ARABIC_BAHRAIN = 15361
  15911. const m_TT_MS_LANGID_ARABIC_EGYPT = 3073
  15912. const m_TT_MS_LANGID_ARABIC_GENERAL = 1
  15913. const m_TT_MS_LANGID_ARABIC_IRAQ = 2049
  15914. const m_TT_MS_LANGID_ARABIC_JORDAN = 11265
  15915. const m_TT_MS_LANGID_ARABIC_KUWAIT = 13313
  15916. const m_TT_MS_LANGID_ARABIC_LEBANON = 12289
  15917. const m_TT_MS_LANGID_ARABIC_LIBYA = 4097
  15918. const m_TT_MS_LANGID_ARABIC_MOROCCO = 6145
  15919. const m_TT_MS_LANGID_ARABIC_OMAN = 8193
  15920. const m_TT_MS_LANGID_ARABIC_QATAR = 16385
  15921. const m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA = 1025
  15922. const m_TT_MS_LANGID_ARABIC_SYRIA = 10241
  15923. const m_TT_MS_LANGID_ARABIC_TUNISIA = 7169
  15924. const m_TT_MS_LANGID_ARABIC_UAE = 14337
  15925. const m_TT_MS_LANGID_ARABIC_YEMEN = 9217
  15926. const m_TT_MS_LANGID_ARMENIAN_ARMENIA = 1067
  15927. const m_TT_MS_LANGID_ASSAMESE_INDIA = 1101
  15928. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC = 2092
  15929. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN = 1068
  15930. const m_TT_MS_LANGID_BASHKIR_RUSSIA = 0x046D
  15931. const m_TT_MS_LANGID_BASQUE_BASQUE = 1069
  15932. const m_TT_MS_LANGID_BASQUE_SPAIN = "TT_MS_LANGID_BASQUE_BASQUE"
  15933. const m_TT_MS_LANGID_BELARUSIAN_BELARUS = 1059
  15934. const m_TT_MS_LANGID_BENGALI_BANGLADESH = 2117
  15935. const m_TT_MS_LANGID_BENGALI_INDIA = 1093
  15936. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA = 5146
  15937. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC = 0x201A
  15938. const m_TT_MS_LANGID_BRETON_FRANCE = 0x047E
  15939. const m_TT_MS_LANGID_BULGARIAN_BULGARIA = 1026
  15940. const m_TT_MS_LANGID_BURMESE_MYANMAR = 1109
  15941. const m_TT_MS_LANGID_CATALAN_CATALAN = 1027
  15942. const m_TT_MS_LANGID_CATALAN_SPAIN = "TT_MS_LANGID_CATALAN_CATALAN"
  15943. const m_TT_MS_LANGID_CHEROKEE_UNITED_STATES = 1116
  15944. const m_TT_MS_LANGID_CHINESE_GENERAL = 4
  15945. const m_TT_MS_LANGID_CHINESE_HONG_KONG = 3076
  15946. const m_TT_MS_LANGID_CHINESE_MACAO = 5124
  15947. const m_TT_MS_LANGID_CHINESE_MACAU = "TT_MS_LANGID_CHINESE_MACAO"
  15948. const m_TT_MS_LANGID_CHINESE_PRC = 2052
  15949. const m_TT_MS_LANGID_CHINESE_SINGAPORE = 4100
  15950. const m_TT_MS_LANGID_CHINESE_TAIWAN = 1028
  15951. const m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA = 2087
  15952. const m_TT_MS_LANGID_CORSICAN_FRANCE = 0x0483
  15953. const m_TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA = 0x101A
  15954. const m_TT_MS_LANGID_CROATIAN_CROATIA = 1050
  15955. const m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC = 1029
  15956. const m_TT_MS_LANGID_DANISH_DENMARK = 1030
  15957. const m_TT_MS_LANGID_DARI_AFGHANISTAN = 0x048C
  15958. const m_TT_MS_LANGID_DHIVEHI_MALDIVES = 1125
  15959. const m_TT_MS_LANGID_DIVEHI_MALDIVES = "TT_MS_LANGID_DHIVEHI_MALDIVES"
  15960. const m_TT_MS_LANGID_DUTCH_BELGIUM = 2067
  15961. const m_TT_MS_LANGID_DUTCH_NETHERLANDS = 1043
  15962. const m_TT_MS_LANGID_DZONGHKA_BHUTAN = 2129
  15963. const m_TT_MS_LANGID_EDO_NIGERIA = 0x0466
  15964. const m_TT_MS_LANGID_ENGLISH_AUSTRALIA = 3081
  15965. const m_TT_MS_LANGID_ENGLISH_BELIZE = 10249
  15966. const m_TT_MS_LANGID_ENGLISH_CANADA = 4105
  15967. const m_TT_MS_LANGID_ENGLISH_CARIBBEAN = 9225
  15968. const m_TT_MS_LANGID_ENGLISH_GENERAL = 9
  15969. const m_TT_MS_LANGID_ENGLISH_HONG_KONG = 15369
  15970. const m_TT_MS_LANGID_ENGLISH_INDIA = 16393
  15971. const m_TT_MS_LANGID_ENGLISH_INDONESIA = 0x3809
  15972. const m_TT_MS_LANGID_ENGLISH_IRELAND = 6153
  15973. const m_TT_MS_LANGID_ENGLISH_JAMAICA = 8201
  15974. const m_TT_MS_LANGID_ENGLISH_MALAYSIA = 17417
  15975. const m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND = 5129
  15976. const m_TT_MS_LANGID_ENGLISH_PHILIPPINES = 13321
  15977. const m_TT_MS_LANGID_ENGLISH_SINGAPORE = 18441
  15978. const m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA = 7177
  15979. const m_TT_MS_LANGID_ENGLISH_TRINIDAD = 11273
  15980. const m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM = 2057
  15981. const m_TT_MS_LANGID_ENGLISH_UNITED_STATES = 1033
  15982. const m_TT_MS_LANGID_ENGLISH_ZIMBABWE = 12297
  15983. const m_TT_MS_LANGID_ESTONIAN_ESTONIA = 1061
  15984. const m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS = 1080
  15985. const m_TT_MS_LANGID_FARSI_IRAN = 1065
  15986. const m_TT_MS_LANGID_FILIPINO_PHILIPPINES = 1124
  15987. const m_TT_MS_LANGID_FINNISH_FINLAND = 1035
  15988. const m_TT_MS_LANGID_FRENCH_BELGIUM = 2060
  15989. const m_TT_MS_LANGID_FRENCH_CAMEROON = 11276
  15990. const m_TT_MS_LANGID_FRENCH_CANADA = 3084
  15991. const m_TT_MS_LANGID_FRENCH_CONGO = 9228
  15992. const m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE = 12300
  15993. const m_TT_MS_LANGID_FRENCH_FRANCE = 1036
  15994. const m_TT_MS_LANGID_FRENCH_HAITI = 15372
  15995. const m_TT_MS_LANGID_FRENCH_LUXEMBOURG = 5132
  15996. const m_TT_MS_LANGID_FRENCH_MALI = 13324
  15997. const m_TT_MS_LANGID_FRENCH_MONACO = 6156
  15998. const m_TT_MS_LANGID_FRENCH_MOROCCO = 14348
  15999. const m_TT_MS_LANGID_FRENCH_NORTH_AFRICA = 58380
  16000. const m_TT_MS_LANGID_FRENCH_REUNION = 8204
  16001. const m_TT_MS_LANGID_FRENCH_SENEGAL = 10252
  16002. const m_TT_MS_LANGID_FRENCH_SWITZERLAND = 4108
  16003. const m_TT_MS_LANGID_FRENCH_WEST_INDIES = 7180
  16004. const m_TT_MS_LANGID_FRENCH_ZAIRE = "TT_MS_LANGID_FRENCH_CONGO"
  16005. const m_TT_MS_LANGID_FRISIAN_NETHERLANDS = 1122
  16006. const m_TT_MS_LANGID_FULFULDE_NIGERIA = 0x0467
  16007. const m_TT_MS_LANGID_GALICIAN_GALICIAN = 1110
  16008. const m_TT_MS_LANGID_GALICIAN_SPAIN = "TT_MS_LANGID_GALICIAN_GALICIAN"
  16009. const m_TT_MS_LANGID_GEORGIAN_GEORGIA = 1079
  16010. const m_TT_MS_LANGID_GERMAN_AUSTRIA = 3079
  16011. const m_TT_MS_LANGID_GERMAN_GERMANY = 1031
  16012. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEI = "TT_MS_LANGID_GERMAN_LIECHTENSTEIN"
  16013. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN = 5127
  16014. const m_TT_MS_LANGID_GERMAN_LUXEMBOURG = 4103
  16015. const m_TT_MS_LANGID_GERMAN_SWITZERLAND = 2055
  16016. const m_TT_MS_LANGID_GREEK_GREECE = 1032
  16017. const m_TT_MS_LANGID_GREENLANDIC_GREENLAND = 0x046F
  16018. const m_TT_MS_LANGID_GUARANI_PARAGUAY = 1140
  16019. const m_TT_MS_LANGID_GUJARATI_INDIA = 1095
  16020. const m_TT_MS_LANGID_HAUSA_NIGERIA = 1128
  16021. const m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES = 1141
  16022. const m_TT_MS_LANGID_HEBREW_ISRAEL = 1037
  16023. const m_TT_MS_LANGID_HINDI_INDIA = 1081
  16024. const m_TT_MS_LANGID_HUNGARIAN_HUNGARY = 1038
  16025. const m_TT_MS_LANGID_IBIBIO_NIGERIA = 0x0469
  16026. const m_TT_MS_LANGID_ICELANDIC_ICELAND = 1039
  16027. const m_TT_MS_LANGID_IGBO_NIGERIA = 1136
  16028. const m_TT_MS_LANGID_INDONESIAN_INDONESIA = 1057
  16029. const m_TT_MS_LANGID_INUKTITUT_CANADA = 1117
  16030. const m_TT_MS_LANGID_INUKTITUT_CANADA_LATIN = 0x085D
  16031. const m_TT_MS_LANGID_IRISH_GAELIC_IRELAND = 1084
  16032. const m_TT_MS_LANGID_IRISH_IRELAND = 0x083C
  16033. const m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA = 1076
  16034. const m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA = 1077
  16035. const m_TT_MS_LANGID_ITALIAN_ITALY = 1040
  16036. const m_TT_MS_LANGID_ITALIAN_SWITZERLAND = 2064
  16037. const m_TT_MS_LANGID_JAPANESE_JAPAN = 1041
  16038. const m_TT_MS_LANGID_KANNADA_INDIA = 1099
  16039. const m_TT_MS_LANGID_KANURI_NIGERIA = 1137
  16040. const m_TT_MS_LANGID_KASHMIRI_INDIA = "TT_MS_LANGID_KASHMIRI_SASIA"
  16041. const m_TT_MS_LANGID_KASHMIRI_PAKISTAN = 1120
  16042. const m_TT_MS_LANGID_KASHMIRI_SASIA = 2144
  16043. const m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN = 1087
  16044. const m_TT_MS_LANGID_KAZAK_KAZAKSTAN = "TT_MS_LANGID_KAZAKH_KAZAKHSTAN"
  16045. const m_TT_MS_LANGID_KHMER_CAMBODIA = 1107
  16046. const m_TT_MS_LANGID_KICHE_GUATEMALA = 0x0486
  16047. const m_TT_MS_LANGID_KINYARWANDA_RWANDA = 0x0487
  16048. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  16049. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  16050. const m_TT_MS_LANGID_KISWAHILI_KENYA = 1089
  16051. const m_TT_MS_LANGID_KONKANI_INDIA = 1111
  16052. const m_TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA = "TT_MS_LANGID_KOREAN_KOREA"
  16053. const m_TT_MS_LANGID_KOREAN_JOHAB_KOREA = 2066
  16054. const m_TT_MS_LANGID_KOREAN_KOREA = 1042
  16055. const m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN = 1088
  16056. const m_TT_MS_LANGID_LAO_LAOS = 1108
  16057. const m_TT_MS_LANGID_LATIN = 1142
  16058. const m_TT_MS_LANGID_LATVIAN_LATVIA = 1062
  16059. const m_TT_MS_LANGID_LITHUANIAN_LITHUANIA = 1063
  16060. const m_TT_MS_LANGID_LOWER_SORBIAN_GERMANY = 0x082E
  16061. const m_TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG = 0x046E
  16062. const m_TT_MS_LANGID_MACEDONIAN_MACEDONIA = 1071
  16063. const m_TT_MS_LANGID_MALAYALAM_INDIA = 1100
  16064. const m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM = 2110
  16065. const m_TT_MS_LANGID_MALAY_MALAYSIA = 1086
  16066. const m_TT_MS_LANGID_MALTESE_MALTA = 1082
  16067. const m_TT_MS_LANGID_MANIPURI_INDIA = 1112
  16068. const m_TT_MS_LANGID_MAORI_NEW_ZEALAND = 1153
  16069. const m_TT_MS_LANGID_MAPUDUNGUN_CHILE = 0x047A
  16070. const m_TT_MS_LANGID_MARATHI_INDIA = 1102
  16071. const m_TT_MS_LANGID_MOHAWK_MOHAWK = 0x047C
  16072. const m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA = 2072
  16073. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA = 1104
  16074. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN = "TT_MS_LANGID_MONGOLIAN_PRC"
  16075. const m_TT_MS_LANGID_MONGOLIAN_PRC = 2128
  16076. const m_TT_MS_LANGID_NEPALI_INDIA = 2145
  16077. const m_TT_MS_LANGID_NEPALI_NEPAL = 1121
  16078. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL = 1044
  16079. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK = 2068
  16080. const m_TT_MS_LANGID_OCCITAN_FRANCE = 0x0482
  16081. const m_TT_MS_LANGID_ODIA_INDIA = 1096
  16082. const m_TT_MS_LANGID_ORIYA_INDIA = "TT_MS_LANGID_ODIA_INDIA"
  16083. const m_TT_MS_LANGID_OROMO_ETHIOPIA = 1138
  16084. const m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES = 1145
  16085. const m_TT_MS_LANGID_PASHTO_AFGHANISTAN = 1123
  16086. const m_TT_MS_LANGID_POLISH_POLAND = 1045
  16087. const m_TT_MS_LANGID_PORTUGUESE_BRAZIL = 1046
  16088. const m_TT_MS_LANGID_PORTUGUESE_PORTUGAL = 2070
  16089. const m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN = 2118
  16090. const m_TT_MS_LANGID_PUNJABI_INDIA = 1094
  16091. const m_TT_MS_LANGID_QUECHUA_BOLIVIA = 0x046B
  16092. const m_TT_MS_LANGID_QUECHUA_ECUADOR = 0x086B
  16093. const m_TT_MS_LANGID_QUECHUA_PERU = 0x0C6B
  16094. const m_TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND = "TT_MS_LANGID_ROMANSH_SWITZERLAND"
  16095. const m_TT_MS_LANGID_ROMANIAN_ROMANIA = 1048
  16096. const m_TT_MS_LANGID_ROMANSH_SWITZERLAND = 1047
  16097. const m_TT_MS_LANGID_RUSSIAN_MOLDAVIA = 2073
  16098. const m_TT_MS_LANGID_RUSSIAN_RUSSIA = 1049
  16099. const m_TT_MS_LANGID_SAAMI_LAPONIA = 1083
  16100. const m_TT_MS_LANGID_SAMI_INARI_FINLAND = 0x243B
  16101. const m_TT_MS_LANGID_SAMI_LULE_NORWAY = 0x103B
  16102. const m_TT_MS_LANGID_SAMI_LULE_SWEDEN = 0x143B
  16103. const m_TT_MS_LANGID_SAMI_NORTHERN_FINLAND = 0x0C3B
  16104. const m_TT_MS_LANGID_SAMI_NORTHERN_NORWAY = 0x043B
  16105. const m_TT_MS_LANGID_SAMI_NORTHERN_SWEDEN = 0x083B
  16106. const m_TT_MS_LANGID_SAMI_SKOLT_FINLAND = 0x203B
  16107. const m_TT_MS_LANGID_SAMI_SOUTHERN_NORWAY = 0x183B
  16108. const m_TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN = 0x1C3B
  16109. const m_TT_MS_LANGID_SANSKRIT_INDIA = 1103
  16110. const m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM = 2108
  16111. const m_TT_MS_LANGID_SEPEDI_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  16112. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC = 0x1C1A
  16113. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN = 0x181A
  16114. const m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC = 3098
  16115. const m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN = 2074
  16116. const m_TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA = 0x046C
  16117. const m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA = 1074
  16118. const m_TT_MS_LANGID_SINDHI_INDIA = 1113
  16119. const m_TT_MS_LANGID_SINDHI_PAKISTAN = 0x0859
  16120. const m_TT_MS_LANGID_SINHALA_SRI_LANKA = 1115
  16121. const m_TT_MS_LANGID_SINHALESE_SRI_LANKA = "TT_MS_LANGID_SINHALA_SRI_LANKA"
  16122. const m_TT_MS_LANGID_SLOVAK_SLOVAKIA = 1051
  16123. const m_TT_MS_LANGID_SLOVENE_SLOVENIA = "TT_MS_LANGID_SLOVENIAN_SLOVENIA"
  16124. const m_TT_MS_LANGID_SLOVENIAN_SLOVENIA = 1060
  16125. const m_TT_MS_LANGID_SOMALI_SOMALIA = 1143
  16126. const m_TT_MS_LANGID_SORBIAN_GERMANY = "TT_MS_LANGID_UPPER_SORBIAN_GERMANY"
  16127. const m_TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  16128. const m_TT_MS_LANGID_SPANISH_ARGENTINA = 11274
  16129. const m_TT_MS_LANGID_SPANISH_BOLIVIA = 16394
  16130. const m_TT_MS_LANGID_SPANISH_CHILE = 13322
  16131. const m_TT_MS_LANGID_SPANISH_COLOMBIA = 9226
  16132. const m_TT_MS_LANGID_SPANISH_COSTA_RICA = 5130
  16133. const m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC = 7178
  16134. const m_TT_MS_LANGID_SPANISH_ECUADOR = 12298
  16135. const m_TT_MS_LANGID_SPANISH_EL_SALVADOR = 17418
  16136. const m_TT_MS_LANGID_SPANISH_GUATEMALA = 4106
  16137. const m_TT_MS_LANGID_SPANISH_HONDURAS = 18442
  16138. const m_TT_MS_LANGID_SPANISH_LATIN_AMERICA = 58378
  16139. const m_TT_MS_LANGID_SPANISH_MEXICO = 2058
  16140. const m_TT_MS_LANGID_SPANISH_NICARAGUA = 19466
  16141. const m_TT_MS_LANGID_SPANISH_PANAMA = 6154
  16142. const m_TT_MS_LANGID_SPANISH_PARAGUAY = 15370
  16143. const m_TT_MS_LANGID_SPANISH_PERU = 10250
  16144. const m_TT_MS_LANGID_SPANISH_PUERTO_RICO = 20490
  16145. const m_TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT = "TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT"
  16146. const m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT = 3082
  16147. const m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT = 1034
  16148. const m_TT_MS_LANGID_SPANISH_UNITED_STATES = 21514
  16149. const m_TT_MS_LANGID_SPANISH_URUGUAY = 14346
  16150. const m_TT_MS_LANGID_SPANISH_VENEZUELA = 8202
  16151. const m_TT_MS_LANGID_SUTU_SOUTH_AFRICA = 1072
  16152. const m_TT_MS_LANGID_SWAHILI_KENYA = "TT_MS_LANGID_KISWAHILI_KENYA"
  16153. const m_TT_MS_LANGID_SWEDISH_FINLAND = 2077
  16154. const m_TT_MS_LANGID_SWEDISH_SWEDEN = 1053
  16155. const m_TT_MS_LANGID_SYRIAC_SYRIA = 1114
  16156. const m_TT_MS_LANGID_TAJIK_TAJIKISTAN = 1064
  16157. const m_TT_MS_LANGID_TAMAZIGHT_ALGERIA = 0x085F
  16158. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO = 0x045F
  16159. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN = "TT_MS_LANGID_TAMAZIGHT_ALGERIA"
  16160. const m_TT_MS_LANGID_TAMIL_INDIA = 1097
  16161. const m_TT_MS_LANGID_TATAR_RUSSIA = 1092
  16162. const m_TT_MS_LANGID_TATAR_TATARSTAN = "TT_MS_LANGID_TATAR_RUSSIA"
  16163. const m_TT_MS_LANGID_TELUGU_INDIA = 1098
  16164. const m_TT_MS_LANGID_THAI_THAILAND = 1054
  16165. const m_TT_MS_LANGID_TIBETAN_BHUTAN = "TT_MS_LANGID_DZONGHKA_BHUTAN"
  16166. const m_TT_MS_LANGID_TIBETAN_CHINA = "TT_MS_LANGID_TIBETAN_PRC"
  16167. const m_TT_MS_LANGID_TIBETAN_PRC = 1105
  16168. const m_TT_MS_LANGID_TIGRIGNA_ERYTHREA = 2163
  16169. const m_TT_MS_LANGID_TIGRIGNA_ERYTREA = "TT_MS_LANGID_TIGRIGNA_ERYTHREA"
  16170. const m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA = 1139
  16171. const m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA = 1073
  16172. const m_TT_MS_LANGID_TSWANA_SOUTH_AFRICA = "TT_MS_LANGID_SETSWANA_SOUTH_AFRICA"
  16173. const m_TT_MS_LANGID_TURKISH_TURKEY = 1055
  16174. const m_TT_MS_LANGID_TURKMEN_TURKMENISTAN = 1090
  16175. const m_TT_MS_LANGID_UIGHUR_CHINA = "TT_MS_LANGID_UIGHUR_PRC"
  16176. const m_TT_MS_LANGID_UIGHUR_PRC = 0x0480
  16177. const m_TT_MS_LANGID_UKRAINIAN_UKRAINE = 1058
  16178. const m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY = 1070
  16179. const m_TT_MS_LANGID_URDU_INDIA = 2080
  16180. const m_TT_MS_LANGID_URDU_PAKISTAN = 1056
  16181. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC = 2115
  16182. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN = 1091
  16183. const m_TT_MS_LANGID_VENDA_SOUTH_AFRICA = 1075
  16184. const m_TT_MS_LANGID_VIETNAMESE_VIET_NAM = 1066
  16185. const m_TT_MS_LANGID_WELSH_UNITED_KINGDOM = 1106
  16186. const m_TT_MS_LANGID_WELSH_WALES = "TT_MS_LANGID_WELSH_UNITED_KINGDOM"
  16187. const m_TT_MS_LANGID_WOLOF_SENEGAL = 0x0488
  16188. const m_TT_MS_LANGID_XHOSA_SOUTH_AFRICA = "TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA"
  16189. const m_TT_MS_LANGID_YAKUT_RUSSIA = 0x0485
  16190. const m_TT_MS_LANGID_YIDDISH_GERMANY = 1085
  16191. const m_TT_MS_LANGID_YI_CHINA = "TT_MS_LANGID_YI_PRC"
  16192. const m_TT_MS_LANGID_YI_PRC = 0x0478
  16193. const m_TT_MS_LANGID_YORUBA_NIGERIA = 1130
  16194. const m_TT_MS_LANGID_ZULU_SOUTH_AFRICA = "TT_MS_LANGID_ISIZULU_SOUTH_AFRICA"
  16195. const m_TT_NAME_ID_CID_FINDFONT_NAME = 20
  16196. const m_TT_NAME_ID_COPYRIGHT = 0
  16197. const m_TT_NAME_ID_DARK_BACKGROUND = 24
  16198. const m_TT_NAME_ID_DESCRIPTION = 10
  16199. const m_TT_NAME_ID_DESIGNER = 9
  16200. const m_TT_NAME_ID_DESIGNER_URL = 12
  16201. const m_TT_NAME_ID_FONT_FAMILY = 1
  16202. const m_TT_NAME_ID_FONT_SUBFAMILY = 2
  16203. const m_TT_NAME_ID_FULL_NAME = 4
  16204. const m_TT_NAME_ID_LICENSE = 13
  16205. const m_TT_NAME_ID_LICENSE_URL = 14
  16206. const m_TT_NAME_ID_LIGHT_BACKGROUND = 23
  16207. const m_TT_NAME_ID_MAC_FULL_NAME = 18
  16208. const m_TT_NAME_ID_MANUFACTURER = 8
  16209. const m_TT_NAME_ID_PREFERRED_FAMILY = "TT_NAME_ID_TYPOGRAPHIC_FAMILY"
  16210. const m_TT_NAME_ID_PREFERRED_SUBFAMILY = "TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY"
  16211. const m_TT_NAME_ID_PS_NAME = 6
  16212. const m_TT_NAME_ID_SAMPLE_TEXT = 19
  16213. const m_TT_NAME_ID_TRADEMARK = 7
  16214. const m_TT_NAME_ID_TYPOGRAPHIC_FAMILY = 16
  16215. const m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17
  16216. const m_TT_NAME_ID_UNIQUE_ID = 3
  16217. const m_TT_NAME_ID_VARIATIONS_PREFIX = 25
  16218. const m_TT_NAME_ID_VENDOR_URL = 11
  16219. const m_TT_NAME_ID_VERSION_STRING = 5
  16220. const m_TT_NAME_ID_WWS_FAMILY = 21
  16221. const m_TT_NAME_ID_WWS_SUBFAMILY = 22
  16222. const m_TT_PLATFORM_ADOBE = 7
  16223. const m_TT_PLATFORM_APPLE_UNICODE = 0
  16224. const m_TT_PLATFORM_CUSTOM = 4
  16225. const m_TT_PLATFORM_ISO = 2
  16226. const m_TT_PLATFORM_MACINTOSH = 1
  16227. const m_TT_PLATFORM_MICROSOFT = 3
  16228. const m_TT_UCR_ARABIC_PRESENTATION_A = "TT_UCR_ARABIC_PRESENTATION_FORMS_A"
  16229. const m_TT_UCR_ARABIC_PRESENTATION_B = "TT_UCR_ARABIC_PRESENTATION_FORMS_B"
  16230. const m_TT_UCR_COMBINING_DIACRITICS = "TT_UCR_COMBINING_DIACRITICAL_MARKS"
  16231. const m_TT_UCR_COMBINING_DIACRITICS_SYMB = "TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB"
  16232. const m_TT_UCR_KANBUN = "TT_UCR_CJK_MISC"
  16233. const m_TT_UCR_NON_PLANE_0 = "TT_UCR_SURROGATES"
  16234. const m___IPHONE_COMPAT_VERSION = "__IPHONE_NA"
  16235. const m_ft_encoding_adobe_custom = "FT_ENCODING_ADOBE_CUSTOM"
  16236. const m_ft_encoding_adobe_expert = "FT_ENCODING_ADOBE_EXPERT"
  16237. const m_ft_encoding_adobe_standard = "FT_ENCODING_ADOBE_STANDARD"
  16238. const m_ft_encoding_apple_roman = "FT_ENCODING_APPLE_ROMAN"
  16239. const m_ft_encoding_big5 = "FT_ENCODING_BIG5"
  16240. const m_ft_encoding_gb2312 = "FT_ENCODING_PRC"
  16241. const m_ft_encoding_johab = "FT_ENCODING_JOHAB"
  16242. const m_ft_encoding_latin_1 = "FT_ENCODING_ADOBE_LATIN_1"
  16243. const m_ft_encoding_latin_2 = "FT_ENCODING_OLD_LATIN_2"
  16244. const m_ft_encoding_none = "FT_ENCODING_NONE"
  16245. const m_ft_encoding_sjis = "FT_ENCODING_SJIS"
  16246. const m_ft_encoding_symbol = "FT_ENCODING_MS_SYMBOL"
  16247. const m_ft_encoding_unicode = "FT_ENCODING_UNICODE"
  16248. const m_ft_encoding_wansung = "FT_ENCODING_WANSUNG"
  16249. const m_ft_fclose = "fclose"
  16250. const m_ft_fopen = "fopen"
  16251. const m_ft_fread = "fread"
  16252. const m_ft_fseek = "fseek"
  16253. const m_ft_ftell = "ftell"
  16254. const m_ft_getenv = "getenv"
  16255. const m_ft_glyph_format_bitmap = "FT_GLYPH_FORMAT_BITMAP"
  16256. const m_ft_glyph_format_composite = "FT_GLYPH_FORMAT_COMPOSITE"
  16257. const m_ft_glyph_format_none = "FT_GLYPH_FORMAT_NONE"
  16258. const m_ft_glyph_format_outline = "FT_GLYPH_FORMAT_OUTLINE"
  16259. const m_ft_glyph_format_plotter = "FT_GLYPH_FORMAT_PLOTTER"
  16260. const m_ft_jmp_buf = "jmp_buf"
  16261. const m_ft_kerning_default = "FT_KERNING_DEFAULT"
  16262. const m_ft_kerning_unfitted = "FT_KERNING_UNFITTED"
  16263. const m_ft_kerning_unscaled = "FT_KERNING_UNSCALED"
  16264. const m_ft_longjmp = "longjmp"
  16265. const m_ft_memchr = "memchr"
  16266. const m_ft_memcmp = "memcmp"
  16267. const m_ft_memcpy = "memcpy"
  16268. const m_ft_memmove = "memmove"
  16269. const m_ft_memset = "memset"
  16270. const m_ft_open_driver = "FT_OPEN_DRIVER"
  16271. const m_ft_open_memory = "FT_OPEN_MEMORY"
  16272. const m_ft_open_params = "FT_OPEN_PARAMS"
  16273. const m_ft_open_pathname = "FT_OPEN_PATHNAME"
  16274. const m_ft_open_stream = "FT_OPEN_STREAM"
  16275. const m_ft_outline_even_odd_fill = "FT_OUTLINE_EVEN_ODD_FILL"
  16276. const m_ft_outline_high_precision = "FT_OUTLINE_HIGH_PRECISION"
  16277. const m_ft_outline_ignore_dropouts = "FT_OUTLINE_IGNORE_DROPOUTS"
  16278. const m_ft_outline_none = "FT_OUTLINE_NONE"
  16279. const m_ft_outline_owner = "FT_OUTLINE_OWNER"
  16280. const m_ft_outline_reverse_fill = "FT_OUTLINE_REVERSE_FILL"
  16281. const m_ft_outline_single_pass = "FT_OUTLINE_SINGLE_PASS"
  16282. const m_ft_pixel_mode_grays = "FT_PIXEL_MODE_GRAY"
  16283. const m_ft_pixel_mode_mono = "FT_PIXEL_MODE_MONO"
  16284. const m_ft_pixel_mode_none = "FT_PIXEL_MODE_NONE"
  16285. const m_ft_pixel_mode_pal2 = "FT_PIXEL_MODE_GRAY2"
  16286. const m_ft_pixel_mode_pal4 = "FT_PIXEL_MODE_GRAY4"
  16287. const m_ft_ptrdiff_t = "ptrdiff_t"
  16288. const m_ft_qsort = "qsort"
  16289. const m_ft_raster_flag_aa = "FT_RASTER_FLAG_AA"
  16290. const m_ft_raster_flag_clip = "FT_RASTER_FLAG_CLIP"
  16291. const m_ft_raster_flag_default = "FT_RASTER_FLAG_DEFAULT"
  16292. const m_ft_raster_flag_direct = "FT_RASTER_FLAG_DIRECT"
  16293. const m_ft_render_mode_mono = "FT_RENDER_MODE_MONO"
  16294. const m_ft_render_mode_normal = "FT_RENDER_MODE_NORMAL"
  16295. const m_ft_scalloc = "calloc"
  16296. const m_ft_sfnt_head = 0
  16297. const m_ft_sfnt_hhea = "FT_SFNT_HHEA"
  16298. const m_ft_sfnt_maxp = "FT_SFNT_MAXP"
  16299. const m_ft_sfnt_os2 = "FT_SFNT_OS2"
  16300. const m_ft_sfnt_pclt = "FT_SFNT_PCLT"
  16301. const m_ft_sfnt_post = "FT_SFNT_POST"
  16302. const m_ft_sfnt_vhea = "FT_SFNT_VHEA"
  16303. const m_ft_sfree = "free"
  16304. const m_ft_smalloc = "malloc"
  16305. const m_ft_sprintf = "sprintf"
  16306. const m_ft_srealloc = "realloc"
  16307. const m_ft_strcat = "strcat"
  16308. const m_ft_strcmp = "strcmp"
  16309. const m_ft_strcpy = "strcpy"
  16310. const m_ft_strlen = "strlen"
  16311. const m_ft_strncmp = "strncmp"
  16312. const m_ft_strncpy = "strncpy"
  16313. const m_ft_strrchr = "strrchr"
  16314. const m_ft_strstr = "strstr"
  16315. const m_ft_strtol = "strtol"
  16316. const m_t1_blend_blue_scale = "T1_BLEND_BLUE_SCALE"
  16317. const m_t1_blend_blue_shift = "T1_BLEND_BLUE_SHIFT"
  16318. const m_t1_blend_blue_values = "T1_BLEND_BLUE_VALUES"
  16319. const m_t1_blend_family_blues = "T1_BLEND_FAMILY_BLUES"
  16320. const m_t1_blend_family_other_blues = "T1_BLEND_FAMILY_OTHER_BLUES"
  16321. const m_t1_blend_force_bold = "T1_BLEND_FORCE_BOLD"
  16322. const m_t1_blend_italic_angle = "T1_BLEND_ITALIC_ANGLE"
  16323. const m_t1_blend_max = "T1_BLEND_MAX"
  16324. const m_t1_blend_other_blues = "T1_BLEND_OTHER_BLUES"
  16325. const m_t1_blend_standard_height = "T1_BLEND_STANDARD_HEIGHT"
  16326. const m_t1_blend_standard_widths = "T1_BLEND_STANDARD_WIDTH"
  16327. const m_t1_blend_stem_snap_heights = "T1_BLEND_STEM_SNAP_HEIGHTS"
  16328. const m_t1_blend_stem_snap_widths = "T1_BLEND_STEM_SNAP_WIDTHS"
  16329. const m_t1_blend_underline_position = "T1_BLEND_UNDERLINE_POSITION"
  16330. const m_t1_blend_underline_thickness = "T1_BLEND_UNDERLINE_THICKNESS"
  16331. type Tjmp_buf = [37]int32
  16332. type Tsigjmp_buf = [38]int32
  16333. type TFT_Int16 = int16
  16334. type TFT_UInt16 = uint16
  16335. type TFT_Int32 = int32
  16336. type TFT_UInt32 = uint32
  16337. type TFT_Fast = int32
  16338. type TFT_UFast = uint32
  16339. type TFT_Int64 = int64
  16340. type TFT_UInt64 = uint64
  16341. type TFT_Memory = uintptr
  16342. type TFT_MemoryRec_ = struct {
  16343. Fuser uintptr
  16344. Falloc TFT_Alloc_Func
  16345. Ffree TFT_Free_Func
  16346. Frealloc TFT_Realloc_Func
  16347. }
  16348. type TFT_Alloc_Func = uintptr
  16349. type TFT_Free_Func = uintptr
  16350. type TFT_Realloc_Func = uintptr
  16351. type TFT_Stream = uintptr
  16352. type TFT_StreamRec_ = struct {
  16353. Fbase uintptr
  16354. Fsize uint64
  16355. Fpos uint64
  16356. Fdescriptor TFT_StreamDesc
  16357. Fpathname TFT_StreamDesc
  16358. Fread TFT_Stream_IoFunc
  16359. Fclose1 TFT_Stream_CloseFunc
  16360. Fmemory TFT_Memory
  16361. Fcursor uintptr
  16362. Flimit uintptr
  16363. }
  16364. type TFT_StreamDesc = struct {
  16365. Fpointer [0]uintptr
  16366. Fvalue int64
  16367. }
  16368. type TFT_StreamDesc_ = TFT_StreamDesc
  16369. type TFT_Stream_IoFunc = uintptr
  16370. type TFT_Stream_CloseFunc = uintptr
  16371. type TFT_StreamRec = struct {
  16372. Fbase uintptr
  16373. Fsize uint64
  16374. Fpos uint64
  16375. Fdescriptor TFT_StreamDesc
  16376. Fpathname TFT_StreamDesc
  16377. Fread TFT_Stream_IoFunc
  16378. Fclose1 TFT_Stream_CloseFunc
  16379. Fmemory TFT_Memory
  16380. Fcursor uintptr
  16381. Flimit uintptr
  16382. }
  16383. type TFT_Pos = int64
  16384. type TFT_Vector = struct {
  16385. Fx TFT_Pos
  16386. Fy TFT_Pos
  16387. }
  16388. type TFT_Vector_ = TFT_Vector
  16389. type TFT_BBox = struct {
  16390. FxMin TFT_Pos
  16391. FyMin TFT_Pos
  16392. FxMax TFT_Pos
  16393. FyMax TFT_Pos
  16394. }
  16395. type TFT_BBox_ = TFT_BBox
  16396. type TFT_Pixel_Mode = int32
  16397. type _FT_Pixel_Mode_ = int32
  16398. const _FT_PIXEL_MODE_NONE = 0
  16399. const _FT_PIXEL_MODE_MONO = 1
  16400. const _FT_PIXEL_MODE_GRAY = 2
  16401. const _FT_PIXEL_MODE_GRAY2 = 3
  16402. const _FT_PIXEL_MODE_GRAY4 = 4
  16403. const _FT_PIXEL_MODE_LCD = 5
  16404. const _FT_PIXEL_MODE_LCD_V = 6
  16405. const _FT_PIXEL_MODE_BGRA = 7
  16406. const _FT_PIXEL_MODE_MAX = 8
  16407. type TFT_Bitmap = struct {
  16408. Frows uint32
  16409. Fwidth uint32
  16410. Fpitch int32
  16411. Fbuffer uintptr
  16412. Fnum_grays uint16
  16413. Fpixel_mode uint8
  16414. Fpalette_mode uint8
  16415. Fpalette uintptr
  16416. }
  16417. type TFT_Bitmap_ = TFT_Bitmap
  16418. type TFT_Outline = struct {
  16419. Fn_contours int16
  16420. Fn_points int16
  16421. Fpoints uintptr
  16422. Ftags uintptr
  16423. Fcontours uintptr
  16424. Fflags int32
  16425. }
  16426. type TFT_Outline_ = TFT_Outline
  16427. type TFT_Outline_MoveToFunc = uintptr
  16428. type TFT_Outline_LineToFunc = uintptr
  16429. type TFT_Outline_ConicToFunc = uintptr
  16430. type TFT_Outline_CubicToFunc = uintptr
  16431. type TFT_Outline_Funcs = struct {
  16432. Fmove_to TFT_Outline_MoveToFunc
  16433. Fline_to TFT_Outline_LineToFunc
  16434. Fconic_to TFT_Outline_ConicToFunc
  16435. Fcubic_to TFT_Outline_CubicToFunc
  16436. Fshift int32
  16437. Fdelta TFT_Pos
  16438. }
  16439. type TFT_Outline_Funcs_ = TFT_Outline_Funcs
  16440. type TFT_Glyph_Format = int32
  16441. type _FT_Glyph_Format_ = int32
  16442. const _FT_GLYPH_FORMAT_NONE = 0
  16443. const _FT_GLYPH_FORMAT_COMPOSITE = 1668246896
  16444. const _FT_GLYPH_FORMAT_BITMAP = 1651078259
  16445. const _FT_GLYPH_FORMAT_OUTLINE = 1869968492
  16446. const _FT_GLYPH_FORMAT_PLOTTER = 1886154612
  16447. type TFT_Raster = uintptr
  16448. type TFT_Span = struct {
  16449. Fx int16
  16450. Flen1 uint16
  16451. Fcoverage uint8
  16452. }
  16453. type TFT_Span_ = TFT_Span
  16454. type TFT_SpanFunc = uintptr
  16455. type TFT_Raster_BitTest_Func = uintptr
  16456. type TFT_Raster_BitSet_Func = uintptr
  16457. type TFT_Raster_Params = struct {
  16458. Ftarget uintptr
  16459. Fsource uintptr
  16460. Fflags int32
  16461. Fgray_spans TFT_SpanFunc
  16462. Fblack_spans TFT_SpanFunc
  16463. Fbit_test TFT_Raster_BitTest_Func
  16464. Fbit_set TFT_Raster_BitSet_Func
  16465. Fuser uintptr
  16466. Fclip_box TFT_BBox
  16467. }
  16468. type TFT_Raster_Params_ = TFT_Raster_Params
  16469. type TFT_Raster_NewFunc = uintptr
  16470. type TFT_Raster_DoneFunc = uintptr
  16471. type TFT_Raster_ResetFunc = uintptr
  16472. type TFT_Raster_SetModeFunc = uintptr
  16473. type TFT_Raster_RenderFunc = uintptr
  16474. type TFT_Raster_Funcs = struct {
  16475. Fglyph_format TFT_Glyph_Format
  16476. Fraster_new TFT_Raster_NewFunc
  16477. Fraster_reset TFT_Raster_ResetFunc
  16478. Fraster_set_mode TFT_Raster_SetModeFunc
  16479. Fraster_render TFT_Raster_RenderFunc
  16480. Fraster_done TFT_Raster_DoneFunc
  16481. }
  16482. type TFT_Raster_Funcs_ = TFT_Raster_Funcs
  16483. type TFT_Bool = uint8
  16484. type TFT_FWord = int16
  16485. type TFT_UFWord = uint16
  16486. type TFT_Char = int8
  16487. type TFT_Byte = uint8
  16488. type TFT_Bytes = uintptr
  16489. type TFT_Tag = uint32
  16490. type TFT_String = int8
  16491. type TFT_Short = int16
  16492. type TFT_UShort = uint16
  16493. type TFT_Int = int32
  16494. type TFT_UInt = uint32
  16495. type TFT_Long = int64
  16496. type TFT_ULong = uint64
  16497. type TFT_F2Dot14 = int16
  16498. type TFT_F26Dot6 = int64
  16499. type TFT_Fixed = int64
  16500. type TFT_Error = int32
  16501. type TFT_Pointer = uintptr
  16502. type TFT_Offset = uint64
  16503. type TFT_PtrDist = int64
  16504. type TFT_UnitVector = struct {
  16505. Fx TFT_F2Dot14
  16506. Fy TFT_F2Dot14
  16507. }
  16508. type TFT_UnitVector_ = TFT_UnitVector
  16509. type TFT_Matrix = struct {
  16510. Fxx TFT_Fixed
  16511. Fxy TFT_Fixed
  16512. Fyx TFT_Fixed
  16513. Fyy TFT_Fixed
  16514. }
  16515. type TFT_Matrix_ = TFT_Matrix
  16516. type TFT_Data = struct {
  16517. Fpointer uintptr
  16518. Flength TFT_Int
  16519. }
  16520. type TFT_Data_ = TFT_Data
  16521. type TFT_Generic_Finalizer = uintptr
  16522. type TFT_Generic = struct {
  16523. Fdata uintptr
  16524. Ffinalizer TFT_Generic_Finalizer
  16525. }
  16526. type TFT_Generic_ = TFT_Generic
  16527. type TFT_ListNode = uintptr
  16528. type TFT_ListNodeRec_ = struct {
  16529. Fprev TFT_ListNode
  16530. Fnext TFT_ListNode
  16531. Fdata uintptr
  16532. }
  16533. type TFT_List = uintptr
  16534. type TFT_ListRec_ = struct {
  16535. Fhead TFT_ListNode
  16536. Ftail TFT_ListNode
  16537. }
  16538. type TFT_ListNodeRec = struct {
  16539. Fprev TFT_ListNode
  16540. Fnext TFT_ListNode
  16541. Fdata uintptr
  16542. }
  16543. type TFT_ListRec = struct {
  16544. Fhead TFT_ListNode
  16545. Ftail TFT_ListNode
  16546. }
  16547. const _FT_Mod_Err_Base = 0
  16548. const _FT_Mod_Err_Autofit = 0
  16549. const _FT_Mod_Err_BDF = 0
  16550. const _FT_Mod_Err_Bzip2 = 0
  16551. const _FT_Mod_Err_Cache = 0
  16552. const _FT_Mod_Err_CFF = 0
  16553. const _FT_Mod_Err_CID = 0
  16554. const _FT_Mod_Err_Gzip = 0
  16555. const _FT_Mod_Err_LZW = 0
  16556. const _FT_Mod_Err_OTvalid = 0
  16557. const _FT_Mod_Err_PCF = 0
  16558. const _FT_Mod_Err_PFR = 0
  16559. const _FT_Mod_Err_PSaux = 0
  16560. const _FT_Mod_Err_PShinter = 0
  16561. const _FT_Mod_Err_PSnames = 0
  16562. const _FT_Mod_Err_Raster = 0
  16563. const _FT_Mod_Err_SFNT = 0
  16564. const _FT_Mod_Err_Smooth = 0
  16565. const _FT_Mod_Err_TrueType = 0
  16566. const _FT_Mod_Err_Type1 = 0
  16567. const _FT_Mod_Err_Type42 = 0
  16568. const _FT_Mod_Err_Winfonts = 0
  16569. const _FT_Mod_Err_GXvalid = 0
  16570. const _FT_Mod_Err_Max = 1
  16571. const _FT_Err_Ok = 0
  16572. const _FT_Err_Cannot_Open_Resource = 1
  16573. const _FT_Err_Unknown_File_Format = 2
  16574. const _FT_Err_Invalid_File_Format = 3
  16575. const _FT_Err_Invalid_Version = 4
  16576. const _FT_Err_Lower_Module_Version = 5
  16577. const _FT_Err_Invalid_Argument = 6
  16578. const _FT_Err_Unimplemented_Feature = 7
  16579. const _FT_Err_Invalid_Table = 8
  16580. const _FT_Err_Invalid_Offset = 9
  16581. const _FT_Err_Array_Too_Large = 10
  16582. const _FT_Err_Missing_Module = 11
  16583. const _FT_Err_Missing_Property = 12
  16584. const _FT_Err_Invalid_Glyph_Index = 16
  16585. const _FT_Err_Invalid_Character_Code = 17
  16586. const _FT_Err_Invalid_Glyph_Format = 18
  16587. const _FT_Err_Cannot_Render_Glyph = 19
  16588. const _FT_Err_Invalid_Outline = 20
  16589. const _FT_Err_Invalid_Composite = 21
  16590. const _FT_Err_Too_Many_Hints = 22
  16591. const _FT_Err_Invalid_Pixel_Size = 23
  16592. const _FT_Err_Invalid_Handle = 32
  16593. const _FT_Err_Invalid_Library_Handle = 33
  16594. const _FT_Err_Invalid_Driver_Handle = 34
  16595. const _FT_Err_Invalid_Face_Handle = 35
  16596. const _FT_Err_Invalid_Size_Handle = 36
  16597. const _FT_Err_Invalid_Slot_Handle = 37
  16598. const _FT_Err_Invalid_CharMap_Handle = 38
  16599. const _FT_Err_Invalid_Cache_Handle = 39
  16600. const _FT_Err_Invalid_Stream_Handle = 40
  16601. const _FT_Err_Too_Many_Drivers = 48
  16602. const _FT_Err_Too_Many_Extensions = 49
  16603. const _FT_Err_Out_Of_Memory = 64
  16604. const _FT_Err_Unlisted_Object = 65
  16605. const _FT_Err_Cannot_Open_Stream = 81
  16606. const _FT_Err_Invalid_Stream_Seek = 82
  16607. const _FT_Err_Invalid_Stream_Skip = 83
  16608. const _FT_Err_Invalid_Stream_Read = 84
  16609. const _FT_Err_Invalid_Stream_Operation = 85
  16610. const _FT_Err_Invalid_Frame_Operation = 86
  16611. const _FT_Err_Nested_Frame_Access = 87
  16612. const _FT_Err_Invalid_Frame_Read = 88
  16613. const _FT_Err_Raster_Uninitialized = 96
  16614. const _FT_Err_Raster_Corrupted = 97
  16615. const _FT_Err_Raster_Overflow = 98
  16616. const _FT_Err_Raster_Negative_Height = 99
  16617. const _FT_Err_Too_Many_Caches = 112
  16618. const _FT_Err_Invalid_Opcode = 128
  16619. const _FT_Err_Too_Few_Arguments = 129
  16620. const _FT_Err_Stack_Overflow = 130
  16621. const _FT_Err_Code_Overflow = 131
  16622. const _FT_Err_Bad_Argument = 132
  16623. const _FT_Err_Divide_By_Zero = 133
  16624. const _FT_Err_Invalid_Reference = 134
  16625. const _FT_Err_Debug_OpCode = 135
  16626. const _FT_Err_ENDF_In_Exec_Stream = 136
  16627. const _FT_Err_Nested_DEFS = 137
  16628. const _FT_Err_Invalid_CodeRange = 138
  16629. const _FT_Err_Execution_Too_Long = 139
  16630. const _FT_Err_Too_Many_Function_Defs = 140
  16631. const _FT_Err_Too_Many_Instruction_Defs = 141
  16632. const _FT_Err_Table_Missing = 142
  16633. const _FT_Err_Horiz_Header_Missing = 143
  16634. const _FT_Err_Locations_Missing = 144
  16635. const _FT_Err_Name_Table_Missing = 145
  16636. const _FT_Err_CMap_Table_Missing = 146
  16637. const _FT_Err_Hmtx_Table_Missing = 147
  16638. const _FT_Err_Post_Table_Missing = 148
  16639. const _FT_Err_Invalid_Horiz_Metrics = 149
  16640. const _FT_Err_Invalid_CharMap_Format = 150
  16641. const _FT_Err_Invalid_PPem = 151
  16642. const _FT_Err_Invalid_Vert_Metrics = 152
  16643. const _FT_Err_Could_Not_Find_Context = 153
  16644. const _FT_Err_Invalid_Post_Table_Format = 154
  16645. const _FT_Err_Invalid_Post_Table = 155
  16646. const _FT_Err_DEF_In_Glyf_Bytecode = 156
  16647. const _FT_Err_Missing_Bitmap = 157
  16648. const _FT_Err_Syntax_Error = 160
  16649. const _FT_Err_Stack_Underflow = 161
  16650. const _FT_Err_Ignore = 162
  16651. const _FT_Err_No_Unicode_Glyph_Name = 163
  16652. const _FT_Err_Glyph_Too_Big = 164
  16653. const _FT_Err_Missing_Startfont_Field = 176
  16654. const _FT_Err_Missing_Font_Field = 177
  16655. const _FT_Err_Missing_Size_Field = 178
  16656. const _FT_Err_Missing_Fontboundingbox_Field = 179
  16657. const _FT_Err_Missing_Chars_Field = 180
  16658. const _FT_Err_Missing_Startchar_Field = 181
  16659. const _FT_Err_Missing_Encoding_Field = 182
  16660. const _FT_Err_Missing_Bbx_Field = 183
  16661. const _FT_Err_Bbx_Too_Big = 184
  16662. const _FT_Err_Corrupted_Font_Header = 185
  16663. const _FT_Err_Corrupted_Font_Glyphs = 186
  16664. const _FT_Err_Max = 187
  16665. type TFT_Glyph_Metrics = struct {
  16666. Fwidth TFT_Pos
  16667. Fheight TFT_Pos
  16668. FhoriBearingX TFT_Pos
  16669. FhoriBearingY TFT_Pos
  16670. FhoriAdvance TFT_Pos
  16671. FvertBearingX TFT_Pos
  16672. FvertBearingY TFT_Pos
  16673. FvertAdvance TFT_Pos
  16674. }
  16675. type TFT_Glyph_Metrics_ = TFT_Glyph_Metrics
  16676. type TFT_Bitmap_Size = struct {
  16677. Fheight TFT_Short
  16678. Fwidth TFT_Short
  16679. Fsize TFT_Pos
  16680. Fx_ppem TFT_Pos
  16681. Fy_ppem TFT_Pos
  16682. }
  16683. type TFT_Bitmap_Size_ = TFT_Bitmap_Size
  16684. type TFT_Library = uintptr
  16685. type TFT_Module = uintptr
  16686. type TFT_Driver = uintptr
  16687. type TFT_Renderer = uintptr
  16688. type TFT_Face = uintptr
  16689. type TFT_FaceRec_ = struct {
  16690. Fnum_faces TFT_Long
  16691. Fface_index TFT_Long
  16692. Fface_flags TFT_Long
  16693. Fstyle_flags TFT_Long
  16694. Fnum_glyphs TFT_Long
  16695. Ffamily_name uintptr
  16696. Fstyle_name uintptr
  16697. Fnum_fixed_sizes TFT_Int
  16698. Favailable_sizes uintptr
  16699. Fnum_charmaps TFT_Int
  16700. Fcharmaps uintptr
  16701. Fgeneric TFT_Generic
  16702. Fbbox TFT_BBox
  16703. Funits_per_EM TFT_UShort
  16704. Fascender TFT_Short
  16705. Fdescender TFT_Short
  16706. Fheight TFT_Short
  16707. Fmax_advance_width TFT_Short
  16708. Fmax_advance_height TFT_Short
  16709. Funderline_position TFT_Short
  16710. Funderline_thickness TFT_Short
  16711. Fglyph TFT_GlyphSlot
  16712. Fsize TFT_Size
  16713. Fcharmap TFT_CharMap
  16714. Fdriver TFT_Driver
  16715. Fmemory TFT_Memory
  16716. Fstream TFT_Stream
  16717. Fsizes_list TFT_ListRec
  16718. Fautohint TFT_Generic
  16719. Fextensions uintptr
  16720. Finternal TFT_Face_Internal
  16721. }
  16722. type TFT_Size = uintptr
  16723. type TFT_SizeRec_ = struct {
  16724. Fface TFT_Face
  16725. Fgeneric TFT_Generic
  16726. Fmetrics TFT_Size_Metrics
  16727. Finternal TFT_Size_Internal
  16728. }
  16729. type TFT_GlyphSlot = uintptr
  16730. type TFT_GlyphSlotRec_ = struct {
  16731. Flibrary TFT_Library
  16732. Fface TFT_Face
  16733. Fnext TFT_GlyphSlot
  16734. Fglyph_index TFT_UInt
  16735. Fgeneric TFT_Generic
  16736. Fmetrics TFT_Glyph_Metrics
  16737. FlinearHoriAdvance TFT_Fixed
  16738. FlinearVertAdvance TFT_Fixed
  16739. Fadvance TFT_Vector
  16740. Fformat TFT_Glyph_Format
  16741. Fbitmap TFT_Bitmap
  16742. Fbitmap_left TFT_Int
  16743. Fbitmap_top TFT_Int
  16744. Foutline TFT_Outline
  16745. Fnum_subglyphs TFT_UInt
  16746. Fsubglyphs TFT_SubGlyph
  16747. Fcontrol_data uintptr
  16748. Fcontrol_len int64
  16749. Flsb_delta TFT_Pos
  16750. Frsb_delta TFT_Pos
  16751. Fother uintptr
  16752. Finternal TFT_Slot_Internal
  16753. }
  16754. type TFT_CharMap = uintptr
  16755. type TFT_CharMapRec_ = struct {
  16756. Fface TFT_Face
  16757. Fencoding TFT_Encoding
  16758. Fplatform_id TFT_UShort
  16759. Fencoding_id TFT_UShort
  16760. }
  16761. type _FT_Encoding_ = int32
  16762. const _FT_ENCODING_NONE = 0
  16763. const _FT_ENCODING_MS_SYMBOL = 1937337698
  16764. const _FT_ENCODING_UNICODE = 1970170211
  16765. const _FT_ENCODING_SJIS = 1936353651
  16766. const _FT_ENCODING_PRC = 1734484000
  16767. const _FT_ENCODING_BIG5 = 1651074869
  16768. const _FT_ENCODING_WANSUNG = 2002873971
  16769. const _FT_ENCODING_JOHAB = 1785686113
  16770. const _FT_ENCODING_GB2312 = 1734484000
  16771. const _FT_ENCODING_MS_SJIS = 1936353651
  16772. const _FT_ENCODING_MS_GB2312 = 1734484000
  16773. const _FT_ENCODING_MS_BIG5 = 1651074869
  16774. const _FT_ENCODING_MS_WANSUNG = 2002873971
  16775. const _FT_ENCODING_MS_JOHAB = 1785686113
  16776. const _FT_ENCODING_ADOBE_STANDARD = 1094995778
  16777. const _FT_ENCODING_ADOBE_EXPERT = 1094992453
  16778. const _FT_ENCODING_ADOBE_CUSTOM = 1094992451
  16779. const _FT_ENCODING_ADOBE_LATIN_1 = 1818326065
  16780. const _FT_ENCODING_OLD_LATIN_2 = 1818326066
  16781. const _FT_ENCODING_APPLE_ROMAN = 1634889070
  16782. type TFT_Encoding = int32
  16783. type TFT_CharMapRec = struct {
  16784. Fface TFT_Face
  16785. Fencoding TFT_Encoding
  16786. Fplatform_id TFT_UShort
  16787. Fencoding_id TFT_UShort
  16788. }
  16789. type TFT_Face_Internal = uintptr
  16790. type TFT_FaceRec = struct {
  16791. Fnum_faces TFT_Long
  16792. Fface_index TFT_Long
  16793. Fface_flags TFT_Long
  16794. Fstyle_flags TFT_Long
  16795. Fnum_glyphs TFT_Long
  16796. Ffamily_name uintptr
  16797. Fstyle_name uintptr
  16798. Fnum_fixed_sizes TFT_Int
  16799. Favailable_sizes uintptr
  16800. Fnum_charmaps TFT_Int
  16801. Fcharmaps uintptr
  16802. Fgeneric TFT_Generic
  16803. Fbbox TFT_BBox
  16804. Funits_per_EM TFT_UShort
  16805. Fascender TFT_Short
  16806. Fdescender TFT_Short
  16807. Fheight TFT_Short
  16808. Fmax_advance_width TFT_Short
  16809. Fmax_advance_height TFT_Short
  16810. Funderline_position TFT_Short
  16811. Funderline_thickness TFT_Short
  16812. Fglyph TFT_GlyphSlot
  16813. Fsize TFT_Size
  16814. Fcharmap TFT_CharMap
  16815. Fdriver TFT_Driver
  16816. Fmemory TFT_Memory
  16817. Fstream TFT_Stream
  16818. Fsizes_list TFT_ListRec
  16819. Fautohint TFT_Generic
  16820. Fextensions uintptr
  16821. Finternal TFT_Face_Internal
  16822. }
  16823. type TFT_Size_Internal = uintptr
  16824. type TFT_Size_Metrics = struct {
  16825. Fx_ppem TFT_UShort
  16826. Fy_ppem TFT_UShort
  16827. Fx_scale TFT_Fixed
  16828. Fy_scale TFT_Fixed
  16829. Fascender TFT_Pos
  16830. Fdescender TFT_Pos
  16831. Fheight TFT_Pos
  16832. Fmax_advance TFT_Pos
  16833. }
  16834. type TFT_Size_Metrics_ = TFT_Size_Metrics
  16835. type TFT_SizeRec = struct {
  16836. Fface TFT_Face
  16837. Fgeneric TFT_Generic
  16838. Fmetrics TFT_Size_Metrics
  16839. Finternal TFT_Size_Internal
  16840. }
  16841. type TFT_SubGlyph = uintptr
  16842. type TFT_Slot_Internal = uintptr
  16843. type TFT_GlyphSlotRec = struct {
  16844. Flibrary TFT_Library
  16845. Fface TFT_Face
  16846. Fnext TFT_GlyphSlot
  16847. Fglyph_index TFT_UInt
  16848. Fgeneric TFT_Generic
  16849. Fmetrics TFT_Glyph_Metrics
  16850. FlinearHoriAdvance TFT_Fixed
  16851. FlinearVertAdvance TFT_Fixed
  16852. Fadvance TFT_Vector
  16853. Fformat TFT_Glyph_Format
  16854. Fbitmap TFT_Bitmap
  16855. Fbitmap_left TFT_Int
  16856. Fbitmap_top TFT_Int
  16857. Foutline TFT_Outline
  16858. Fnum_subglyphs TFT_UInt
  16859. Fsubglyphs TFT_SubGlyph
  16860. Fcontrol_data uintptr
  16861. Fcontrol_len int64
  16862. Flsb_delta TFT_Pos
  16863. Frsb_delta TFT_Pos
  16864. Fother uintptr
  16865. Finternal TFT_Slot_Internal
  16866. }
  16867. type TFT_Parameter = struct {
  16868. Ftag TFT_ULong
  16869. Fdata TFT_Pointer
  16870. }
  16871. type TFT_Parameter_ = TFT_Parameter
  16872. type TFT_Open_Args = struct {
  16873. Fflags TFT_UInt
  16874. Fmemory_base uintptr
  16875. Fmemory_size TFT_Long
  16876. Fpathname uintptr
  16877. Fstream TFT_Stream
  16878. Fdriver TFT_Module
  16879. Fnum_params TFT_Int
  16880. Fparams uintptr
  16881. }
  16882. type TFT_Open_Args_ = TFT_Open_Args
  16883. type TFT_Size_Request_Type = int32
  16884. type _FT_Size_Request_Type_ = int32
  16885. const _FT_SIZE_REQUEST_TYPE_NOMINAL = 0
  16886. const _FT_SIZE_REQUEST_TYPE_REAL_DIM = 1
  16887. const _FT_SIZE_REQUEST_TYPE_BBOX = 2
  16888. const _FT_SIZE_REQUEST_TYPE_CELL = 3
  16889. const _FT_SIZE_REQUEST_TYPE_SCALES = 4
  16890. const _FT_SIZE_REQUEST_TYPE_MAX = 5
  16891. type TFT_Size_RequestRec = struct {
  16892. Ftype1 TFT_Size_Request_Type
  16893. Fwidth TFT_Long
  16894. Fheight TFT_Long
  16895. FhoriResolution TFT_UInt
  16896. FvertResolution TFT_UInt
  16897. }
  16898. type TFT_Size_RequestRec_ = TFT_Size_RequestRec
  16899. type TFT_Size_Request = uintptr
  16900. type TFT_Render_Mode = int32
  16901. type _FT_Render_Mode_ = int32
  16902. const _FT_RENDER_MODE_NORMAL = 0
  16903. const _FT_RENDER_MODE_LIGHT = 1
  16904. const _FT_RENDER_MODE_MONO = 2
  16905. const _FT_RENDER_MODE_LCD = 3
  16906. const _FT_RENDER_MODE_LCD_V = 4
  16907. const _FT_RENDER_MODE_MAX = 5
  16908. type TFT_Kerning_Mode = int32
  16909. type _FT_Kerning_Mode_ = int32
  16910. const _FT_KERNING_DEFAULT = 0
  16911. const _FT_KERNING_UNFITTED = 1
  16912. const _FT_KERNING_UNSCALED = 2
  16913. type TFT_LayerIterator = struct {
  16914. Fnum_layers TFT_UInt
  16915. Flayer TFT_UInt
  16916. Fp uintptr
  16917. }
  16918. type TFT_LayerIterator_ = TFT_LayerIterator
  16919. type TTT_Header = struct {
  16920. FTable_Version TFT_Fixed
  16921. FFont_Revision TFT_Fixed
  16922. FCheckSum_Adjust TFT_Long
  16923. FMagic_Number TFT_Long
  16924. FFlags TFT_UShort
  16925. FUnits_Per_EM TFT_UShort
  16926. FCreated [2]TFT_ULong
  16927. FModified [2]TFT_ULong
  16928. FxMin TFT_Short
  16929. FyMin TFT_Short
  16930. FxMax TFT_Short
  16931. FyMax TFT_Short
  16932. FMac_Style TFT_UShort
  16933. FLowest_Rec_PPEM TFT_UShort
  16934. FFont_Direction TFT_Short
  16935. FIndex_To_Loc_Format TFT_Short
  16936. FGlyph_Data_Format TFT_Short
  16937. }
  16938. type TTT_Header_ = TTT_Header
  16939. type TTT_HoriHeader = struct {
  16940. FVersion TFT_Fixed
  16941. FAscender TFT_Short
  16942. FDescender TFT_Short
  16943. FLine_Gap TFT_Short
  16944. Fadvance_Width_Max TFT_UShort
  16945. Fmin_Left_Side_Bearing TFT_Short
  16946. Fmin_Right_Side_Bearing TFT_Short
  16947. FxMax_Extent TFT_Short
  16948. Fcaret_Slope_Rise TFT_Short
  16949. Fcaret_Slope_Run TFT_Short
  16950. Fcaret_Offset TFT_Short
  16951. FReserved [4]TFT_Short
  16952. Fmetric_Data_Format TFT_Short
  16953. Fnumber_Of_HMetrics TFT_UShort
  16954. Flong_metrics uintptr
  16955. Fshort_metrics uintptr
  16956. }
  16957. type TTT_HoriHeader_ = TTT_HoriHeader
  16958. type TTT_VertHeader = struct {
  16959. FVersion TFT_Fixed
  16960. FAscender TFT_Short
  16961. FDescender TFT_Short
  16962. FLine_Gap TFT_Short
  16963. Fadvance_Height_Max TFT_UShort
  16964. Fmin_Top_Side_Bearing TFT_Short
  16965. Fmin_Bottom_Side_Bearing TFT_Short
  16966. FyMax_Extent TFT_Short
  16967. Fcaret_Slope_Rise TFT_Short
  16968. Fcaret_Slope_Run TFT_Short
  16969. Fcaret_Offset TFT_Short
  16970. FReserved [4]TFT_Short
  16971. Fmetric_Data_Format TFT_Short
  16972. Fnumber_Of_VMetrics TFT_UShort
  16973. Flong_metrics uintptr
  16974. Fshort_metrics uintptr
  16975. }
  16976. type TTT_VertHeader_ = TTT_VertHeader
  16977. type TTT_OS2 = struct {
  16978. Fversion TFT_UShort
  16979. FxAvgCharWidth TFT_Short
  16980. FusWeightClass TFT_UShort
  16981. FusWidthClass TFT_UShort
  16982. FfsType TFT_UShort
  16983. FySubscriptXSize TFT_Short
  16984. FySubscriptYSize TFT_Short
  16985. FySubscriptXOffset TFT_Short
  16986. FySubscriptYOffset TFT_Short
  16987. FySuperscriptXSize TFT_Short
  16988. FySuperscriptYSize TFT_Short
  16989. FySuperscriptXOffset TFT_Short
  16990. FySuperscriptYOffset TFT_Short
  16991. FyStrikeoutSize TFT_Short
  16992. FyStrikeoutPosition TFT_Short
  16993. FsFamilyClass TFT_Short
  16994. Fpanose [10]TFT_Byte
  16995. FulUnicodeRange1 TFT_ULong
  16996. FulUnicodeRange2 TFT_ULong
  16997. FulUnicodeRange3 TFT_ULong
  16998. FulUnicodeRange4 TFT_ULong
  16999. FachVendID [4]TFT_Char
  17000. FfsSelection TFT_UShort
  17001. FusFirstCharIndex TFT_UShort
  17002. FusLastCharIndex TFT_UShort
  17003. FsTypoAscender TFT_Short
  17004. FsTypoDescender TFT_Short
  17005. FsTypoLineGap TFT_Short
  17006. FusWinAscent TFT_UShort
  17007. FusWinDescent TFT_UShort
  17008. FulCodePageRange1 TFT_ULong
  17009. FulCodePageRange2 TFT_ULong
  17010. FsxHeight TFT_Short
  17011. FsCapHeight TFT_Short
  17012. FusDefaultChar TFT_UShort
  17013. FusBreakChar TFT_UShort
  17014. FusMaxContext TFT_UShort
  17015. FusLowerOpticalPointSize TFT_UShort
  17016. FusUpperOpticalPointSize TFT_UShort
  17017. }
  17018. type TTT_OS2_ = TTT_OS2
  17019. type TTT_Postscript = struct {
  17020. FFormatType TFT_Fixed
  17021. FitalicAngle TFT_Fixed
  17022. FunderlinePosition TFT_Short
  17023. FunderlineThickness TFT_Short
  17024. FisFixedPitch TFT_ULong
  17025. FminMemType42 TFT_ULong
  17026. FmaxMemType42 TFT_ULong
  17027. FminMemType1 TFT_ULong
  17028. FmaxMemType1 TFT_ULong
  17029. }
  17030. type TTT_Postscript_ = TTT_Postscript
  17031. type TTT_PCLT = struct {
  17032. FVersion TFT_Fixed
  17033. FFontNumber TFT_ULong
  17034. FPitch TFT_UShort
  17035. FxHeight TFT_UShort
  17036. FStyle TFT_UShort
  17037. FTypeFamily TFT_UShort
  17038. FCapHeight TFT_UShort
  17039. FSymbolSet TFT_UShort
  17040. FTypeFace [16]TFT_Char
  17041. FCharacterComplement [8]TFT_Char
  17042. FFileName [6]TFT_Char
  17043. FStrokeWeight TFT_Char
  17044. FWidthType TFT_Char
  17045. FSerifStyle TFT_Byte
  17046. FReserved TFT_Byte
  17047. }
  17048. type TTT_PCLT_ = TTT_PCLT
  17049. type TTT_MaxProfile = struct {
  17050. Fversion TFT_Fixed
  17051. FnumGlyphs TFT_UShort
  17052. FmaxPoints TFT_UShort
  17053. FmaxContours TFT_UShort
  17054. FmaxCompositePoints TFT_UShort
  17055. FmaxCompositeContours TFT_UShort
  17056. FmaxZones TFT_UShort
  17057. FmaxTwilightPoints TFT_UShort
  17058. FmaxStorage TFT_UShort
  17059. FmaxFunctionDefs TFT_UShort
  17060. FmaxInstructionDefs TFT_UShort
  17061. FmaxStackElements TFT_UShort
  17062. FmaxSizeOfInstructions TFT_UShort
  17063. FmaxComponentElements TFT_UShort
  17064. FmaxComponentDepth TFT_UShort
  17065. }
  17066. type TTT_MaxProfile_ = TTT_MaxProfile
  17067. type TFT_Sfnt_Tag = int32
  17068. type _FT_Sfnt_Tag_ = int32
  17069. const _FT_SFNT_HEAD = 0
  17070. const _FT_SFNT_MAXP = 1
  17071. const _FT_SFNT_OS2 = 2
  17072. const _FT_SFNT_HHEA = 3
  17073. const _FT_SFNT_VHEA = 4
  17074. const _FT_SFNT_POST = 5
  17075. const _FT_SFNT_PCLT = 6
  17076. const _FT_SFNT_MAX = 7
  17077. type TFT_SfntName = struct {
  17078. Fplatform_id TFT_UShort
  17079. Fencoding_id TFT_UShort
  17080. Flanguage_id TFT_UShort
  17081. Fname_id TFT_UShort
  17082. Fstring1 uintptr
  17083. Fstring_len TFT_UInt
  17084. }
  17085. type TFT_SfntName_ = TFT_SfntName
  17086. type TFT_SfntLangTag = struct {
  17087. Fstring1 uintptr
  17088. Fstring_len TFT_UInt
  17089. }
  17090. type TFT_SfntLangTag_ = TFT_SfntLangTag
  17091. type TPS_FontInfoRec = struct {
  17092. Fversion uintptr
  17093. Fnotice uintptr
  17094. Ffull_name uintptr
  17095. Ffamily_name uintptr
  17096. Fweight uintptr
  17097. Fitalic_angle TFT_Long
  17098. Fis_fixed_pitch TFT_Bool
  17099. Funderline_position TFT_Short
  17100. Funderline_thickness TFT_UShort
  17101. }
  17102. type TPS_FontInfoRec_ = TPS_FontInfoRec
  17103. type TPS_FontInfo = uintptr
  17104. type TT1_FontInfo = struct {
  17105. Fversion uintptr
  17106. Fnotice uintptr
  17107. Ffull_name uintptr
  17108. Ffamily_name uintptr
  17109. Fweight uintptr
  17110. Fitalic_angle TFT_Long
  17111. Fis_fixed_pitch TFT_Bool
  17112. Funderline_position TFT_Short
  17113. Funderline_thickness TFT_UShort
  17114. }
  17115. type TPS_PrivateRec = struct {
  17116. Funique_id TFT_Int
  17117. FlenIV TFT_Int
  17118. Fnum_blue_values TFT_Byte
  17119. Fnum_other_blues TFT_Byte
  17120. Fnum_family_blues TFT_Byte
  17121. Fnum_family_other_blues TFT_Byte
  17122. Fblue_values [14]TFT_Short
  17123. Fother_blues [10]TFT_Short
  17124. Ffamily_blues [14]TFT_Short
  17125. Ffamily_other_blues [10]TFT_Short
  17126. Fblue_scale TFT_Fixed
  17127. Fblue_shift TFT_Int
  17128. Fblue_fuzz TFT_Int
  17129. Fstandard_width [1]TFT_UShort
  17130. Fstandard_height [1]TFT_UShort
  17131. Fnum_snap_widths TFT_Byte
  17132. Fnum_snap_heights TFT_Byte
  17133. Fforce_bold TFT_Bool
  17134. Fround_stem_up TFT_Bool
  17135. Fsnap_widths [13]TFT_Short
  17136. Fsnap_heights [13]TFT_Short
  17137. Fexpansion_factor TFT_Fixed
  17138. Flanguage_group TFT_Long
  17139. Fpassword TFT_Long
  17140. Fmin_feature [2]TFT_Short
  17141. }
  17142. type TPS_PrivateRec_ = TPS_PrivateRec
  17143. type TPS_Private = uintptr
  17144. type TT1_Private = struct {
  17145. Funique_id TFT_Int
  17146. FlenIV TFT_Int
  17147. Fnum_blue_values TFT_Byte
  17148. Fnum_other_blues TFT_Byte
  17149. Fnum_family_blues TFT_Byte
  17150. Fnum_family_other_blues TFT_Byte
  17151. Fblue_values [14]TFT_Short
  17152. Fother_blues [10]TFT_Short
  17153. Ffamily_blues [14]TFT_Short
  17154. Ffamily_other_blues [10]TFT_Short
  17155. Fblue_scale TFT_Fixed
  17156. Fblue_shift TFT_Int
  17157. Fblue_fuzz TFT_Int
  17158. Fstandard_width [1]TFT_UShort
  17159. Fstandard_height [1]TFT_UShort
  17160. Fnum_snap_widths TFT_Byte
  17161. Fnum_snap_heights TFT_Byte
  17162. Fforce_bold TFT_Bool
  17163. Fround_stem_up TFT_Bool
  17164. Fsnap_widths [13]TFT_Short
  17165. Fsnap_heights [13]TFT_Short
  17166. Fexpansion_factor TFT_Fixed
  17167. Flanguage_group TFT_Long
  17168. Fpassword TFT_Long
  17169. Fmin_feature [2]TFT_Short
  17170. }
  17171. type TT1_Blend_Flags = int32
  17172. type _T1_Blend_Flags_ = int32
  17173. const _T1_BLEND_UNDERLINE_POSITION = 0
  17174. const _T1_BLEND_UNDERLINE_THICKNESS = 1
  17175. const _T1_BLEND_ITALIC_ANGLE = 2
  17176. const _T1_BLEND_BLUE_VALUES = 3
  17177. const _T1_BLEND_OTHER_BLUES = 4
  17178. const _T1_BLEND_STANDARD_WIDTH = 5
  17179. const _T1_BLEND_STANDARD_HEIGHT = 6
  17180. const _T1_BLEND_STEM_SNAP_WIDTHS = 7
  17181. const _T1_BLEND_STEM_SNAP_HEIGHTS = 8
  17182. const _T1_BLEND_BLUE_SCALE = 9
  17183. const _T1_BLEND_BLUE_SHIFT = 10
  17184. const _T1_BLEND_FAMILY_BLUES = 11
  17185. const _T1_BLEND_FAMILY_OTHER_BLUES = 12
  17186. const _T1_BLEND_FORCE_BOLD = 13
  17187. const _T1_BLEND_MAX = 14
  17188. type TPS_DesignMapRec = struct {
  17189. Fnum_points TFT_Byte
  17190. Fdesign_points uintptr
  17191. Fblend_points uintptr
  17192. }
  17193. type TPS_DesignMap_ = TPS_DesignMapRec
  17194. type TPS_DesignMap = uintptr
  17195. type TT1_DesignMap = struct {
  17196. Fnum_points TFT_Byte
  17197. Fdesign_points uintptr
  17198. Fblend_points uintptr
  17199. }
  17200. type TPS_BlendRec = struct {
  17201. Fnum_designs TFT_UInt
  17202. Fnum_axis TFT_UInt
  17203. Faxis_names [4]uintptr
  17204. Fdesign_pos [16]uintptr
  17205. Fdesign_map [4]TPS_DesignMapRec
  17206. Fweight_vector uintptr
  17207. Fdefault_weight_vector uintptr
  17208. Ffont_infos [17]TPS_FontInfo
  17209. Fprivates [17]TPS_Private
  17210. Fblend_bitflags TFT_ULong
  17211. Fbboxes [17]uintptr
  17212. Fdefault_design_vector [16]TFT_UInt
  17213. Fnum_default_design_vector TFT_UInt
  17214. }
  17215. type TPS_BlendRec_ = TPS_BlendRec
  17216. type TPS_Blend = uintptr
  17217. type TT1_Blend = struct {
  17218. Fnum_designs TFT_UInt
  17219. Fnum_axis TFT_UInt
  17220. Faxis_names [4]uintptr
  17221. Fdesign_pos [16]uintptr
  17222. Fdesign_map [4]TPS_DesignMapRec
  17223. Fweight_vector uintptr
  17224. Fdefault_weight_vector uintptr
  17225. Ffont_infos [17]TPS_FontInfo
  17226. Fprivates [17]TPS_Private
  17227. Fblend_bitflags TFT_ULong
  17228. Fbboxes [17]uintptr
  17229. Fdefault_design_vector [16]TFT_UInt
  17230. Fnum_default_design_vector TFT_UInt
  17231. }
  17232. type TCID_FaceDictRec = struct {
  17233. Fprivate_dict TPS_PrivateRec
  17234. Flen_buildchar TFT_UInt
  17235. Fforcebold_threshold TFT_Fixed
  17236. Fstroke_width TFT_Pos
  17237. Fexpansion_factor TFT_Fixed
  17238. Fpaint_type TFT_Byte
  17239. Ffont_type TFT_Byte
  17240. Ffont_matrix TFT_Matrix
  17241. Ffont_offset TFT_Vector
  17242. Fnum_subrs TFT_UInt
  17243. Fsubrmap_offset TFT_ULong
  17244. Fsd_bytes TFT_Int
  17245. }
  17246. type TCID_FaceDictRec_ = TCID_FaceDictRec
  17247. type TCID_FaceDict = uintptr
  17248. type TCID_FontDict = struct {
  17249. Fprivate_dict TPS_PrivateRec
  17250. Flen_buildchar TFT_UInt
  17251. Fforcebold_threshold TFT_Fixed
  17252. Fstroke_width TFT_Pos
  17253. Fexpansion_factor TFT_Fixed
  17254. Fpaint_type TFT_Byte
  17255. Ffont_type TFT_Byte
  17256. Ffont_matrix TFT_Matrix
  17257. Ffont_offset TFT_Vector
  17258. Fnum_subrs TFT_UInt
  17259. Fsubrmap_offset TFT_ULong
  17260. Fsd_bytes TFT_Int
  17261. }
  17262. type TCID_FaceInfoRec = struct {
  17263. Fcid_font_name uintptr
  17264. Fcid_version TFT_Fixed
  17265. Fcid_font_type TFT_Int
  17266. Fregistry uintptr
  17267. Fordering uintptr
  17268. Fsupplement TFT_Int
  17269. Ffont_info TPS_FontInfoRec
  17270. Ffont_bbox TFT_BBox
  17271. Fuid_base TFT_ULong
  17272. Fnum_xuid TFT_Int
  17273. Fxuid [16]TFT_ULong
  17274. Fcidmap_offset TFT_ULong
  17275. Ffd_bytes TFT_Int
  17276. Fgd_bytes TFT_Int
  17277. Fcid_count TFT_ULong
  17278. Fnum_dicts TFT_Int
  17279. Ffont_dicts TCID_FaceDict
  17280. Fdata_offset TFT_ULong
  17281. }
  17282. type TCID_FaceInfoRec_ = TCID_FaceInfoRec
  17283. type TCID_FaceInfo = uintptr
  17284. type TCID_Info = struct {
  17285. Fcid_font_name uintptr
  17286. Fcid_version TFT_Fixed
  17287. Fcid_font_type TFT_Int
  17288. Fregistry uintptr
  17289. Fordering uintptr
  17290. Fsupplement TFT_Int
  17291. Ffont_info TPS_FontInfoRec
  17292. Ffont_bbox TFT_BBox
  17293. Fuid_base TFT_ULong
  17294. Fnum_xuid TFT_Int
  17295. Fxuid [16]TFT_ULong
  17296. Fcidmap_offset TFT_ULong
  17297. Ffd_bytes TFT_Int
  17298. Fgd_bytes TFT_Int
  17299. Fcid_count TFT_ULong
  17300. Fnum_dicts TFT_Int
  17301. Ffont_dicts TCID_FaceDict
  17302. Fdata_offset TFT_ULong
  17303. }
  17304. type TT1_EncodingType = int32
  17305. type _T1_EncodingType_ = int32
  17306. const _T1_ENCODING_TYPE_NONE = 0
  17307. const _T1_ENCODING_TYPE_ARRAY = 1
  17308. const _T1_ENCODING_TYPE_STANDARD = 2
  17309. const _T1_ENCODING_TYPE_ISOLATIN1 = 3
  17310. const _T1_ENCODING_TYPE_EXPERT = 4
  17311. type TPS_Dict_Keys = int32
  17312. type _PS_Dict_Keys_ = int32
  17313. const _PS_DICT_FONT_TYPE = 0
  17314. const _PS_DICT_FONT_MATRIX = 1
  17315. const _PS_DICT_FONT_BBOX = 2
  17316. const _PS_DICT_PAINT_TYPE = 3
  17317. const _PS_DICT_FONT_NAME = 4
  17318. const _PS_DICT_UNIQUE_ID = 5
  17319. const _PS_DICT_NUM_CHAR_STRINGS = 6
  17320. const _PS_DICT_CHAR_STRING_KEY = 7
  17321. const _PS_DICT_CHAR_STRING = 8
  17322. const _PS_DICT_ENCODING_TYPE = 9
  17323. const _PS_DICT_ENCODING_ENTRY = 10
  17324. const _PS_DICT_NUM_SUBRS = 11
  17325. const _PS_DICT_SUBR = 12
  17326. const _PS_DICT_STD_HW = 13
  17327. const _PS_DICT_STD_VW = 14
  17328. const _PS_DICT_NUM_BLUE_VALUES = 15
  17329. const _PS_DICT_BLUE_VALUE = 16
  17330. const _PS_DICT_BLUE_FUZZ = 17
  17331. const _PS_DICT_NUM_OTHER_BLUES = 18
  17332. const _PS_DICT_OTHER_BLUE = 19
  17333. const _PS_DICT_NUM_FAMILY_BLUES = 20
  17334. const _PS_DICT_FAMILY_BLUE = 21
  17335. const _PS_DICT_NUM_FAMILY_OTHER_BLUES = 22
  17336. const _PS_DICT_FAMILY_OTHER_BLUE = 23
  17337. const _PS_DICT_BLUE_SCALE = 24
  17338. const _PS_DICT_BLUE_SHIFT = 25
  17339. const _PS_DICT_NUM_STEM_SNAP_H = 26
  17340. const _PS_DICT_STEM_SNAP_H = 27
  17341. const _PS_DICT_NUM_STEM_SNAP_V = 28
  17342. const _PS_DICT_STEM_SNAP_V = 29
  17343. const _PS_DICT_FORCE_BOLD = 30
  17344. const _PS_DICT_RND_STEM_UP = 31
  17345. const _PS_DICT_MIN_FEATURE = 32
  17346. const _PS_DICT_LEN_IV = 33
  17347. const _PS_DICT_PASSWORD = 34
  17348. const _PS_DICT_LANGUAGE_GROUP = 35
  17349. const _PS_DICT_VERSION = 36
  17350. const _PS_DICT_NOTICE = 37
  17351. const _PS_DICT_FULL_NAME = 38
  17352. const _PS_DICT_FAMILY_NAME = 39
  17353. const _PS_DICT_WEIGHT = 40
  17354. const _PS_DICT_IS_FIXED_PITCH = 41
  17355. const _PS_DICT_UNDERLINE_POSITION = 42
  17356. const _PS_DICT_UNDERLINE_THICKNESS = 43
  17357. const _PS_DICT_FS_TYPE = 44
  17358. const _PS_DICT_ITALIC_ANGLE = 45
  17359. const _PS_DICT_MAX = 45
  17360. type TFT_MM_Axis = struct {
  17361. Fname uintptr
  17362. Fminimum TFT_Long
  17363. Fmaximum TFT_Long
  17364. }
  17365. type TFT_MM_Axis_ = TFT_MM_Axis
  17366. type TFT_Multi_Master = struct {
  17367. Fnum_axis TFT_UInt
  17368. Fnum_designs TFT_UInt
  17369. Faxis [4]TFT_MM_Axis
  17370. }
  17371. type TFT_Multi_Master_ = TFT_Multi_Master
  17372. type TFT_Var_Axis = struct {
  17373. Fname uintptr
  17374. Fminimum TFT_Fixed
  17375. Fdef TFT_Fixed
  17376. Fmaximum TFT_Fixed
  17377. Ftag TFT_ULong
  17378. Fstrid TFT_UInt
  17379. }
  17380. type TFT_Var_Axis_ = TFT_Var_Axis
  17381. type TFT_Var_Named_Style = struct {
  17382. Fcoords uintptr
  17383. Fstrid TFT_UInt
  17384. Fpsid TFT_UInt
  17385. }
  17386. type TFT_Var_Named_Style_ = TFT_Var_Named_Style
  17387. type TFT_MM_Var = struct {
  17388. Fnum_axis TFT_UInt
  17389. Fnum_designs TFT_UInt
  17390. Fnum_namedstyles TFT_UInt
  17391. Faxis uintptr
  17392. Fnamedstyle uintptr
  17393. }
  17394. type TFT_MM_Var_ = TFT_MM_Var
  17395. var _FcNoticeFoundries = [18][2]uintptr{
  17396. 0: {
  17397. 0: __ccgo_ts + 3522,
  17398. 1: __ccgo_ts + 3528,
  17399. },
  17400. 1: {
  17401. 0: __ccgo_ts + 3534,
  17402. 1: __ccgo_ts + 3542,
  17403. },
  17404. 2: {
  17405. 0: __ccgo_ts + 3546,
  17406. 1: __ccgo_ts + 3556,
  17407. },
  17408. 3: {
  17409. 0: __ccgo_ts + 3566,
  17410. 1: __ccgo_ts + 3571,
  17411. },
  17412. 4: {
  17413. 0: __ccgo_ts + 3578,
  17414. 1: __ccgo_ts + 3571,
  17415. },
  17416. 5: {
  17417. 0: __ccgo_ts + 3584,
  17418. 1: __ccgo_ts + 3599,
  17419. },
  17420. 6: {
  17421. 0: __ccgo_ts + 3607,
  17422. 1: __ccgo_ts + 3614,
  17423. },
  17424. 7: {
  17425. 0: __ccgo_ts + 3619,
  17426. 1: __ccgo_ts + 3623,
  17427. },
  17428. 8: {
  17429. 0: __ccgo_ts + 3627,
  17430. 1: __ccgo_ts + 3662,
  17431. },
  17432. 9: {
  17433. 0: __ccgo_ts + 3666,
  17434. 1: __ccgo_ts + 3675,
  17435. },
  17436. 10: {
  17437. 0: __ccgo_ts + 3684,
  17438. 1: __ccgo_ts + 3675,
  17439. },
  17440. 11: {
  17441. 0: __ccgo_ts + 3698,
  17442. 1: __ccgo_ts + 3708,
  17443. },
  17444. 12: {
  17445. 0: __ccgo_ts + 3718,
  17446. 1: __ccgo_ts + 3727,
  17447. },
  17448. 13: {
  17449. 0: __ccgo_ts + 3736,
  17450. 1: __ccgo_ts + 3742,
  17451. },
  17452. 14: {
  17453. 0: __ccgo_ts + 3748,
  17454. 1: __ccgo_ts + 3763,
  17455. },
  17456. 15: {
  17457. 0: __ccgo_ts + 3768,
  17458. 1: __ccgo_ts + 3772,
  17459. },
  17460. 16: {
  17461. 0: __ccgo_ts + 3776,
  17462. 1: __ccgo_ts + 3784,
  17463. },
  17464. 17: {
  17465. 0: __ccgo_ts + 3792,
  17466. 1: __ccgo_ts + 3797,
  17467. },
  17468. }
  17469. /*
  17470. * Keep Han languages separated by eliminating languages
  17471. * that the codePageRange bits says aren't supported
  17472. */
  17473. var _FcCodePageRange = [4]struct {
  17474. Fbit int8
  17475. Flang [6]TFcChar8
  17476. }{
  17477. 0: {
  17478. Fbit: int8(17),
  17479. Flang: [6]TFcChar8{'j', 'a'},
  17480. },
  17481. 1: {
  17482. Fbit: int8(18),
  17483. Flang: [6]TFcChar8{'z', 'h', '-', 'c', 'n'},
  17484. },
  17485. 2: {
  17486. Fbit: int8(19),
  17487. Flang: [6]TFcChar8{'k', 'o'},
  17488. },
  17489. 3: {
  17490. Fbit: int8(20),
  17491. Flang: [6]TFcChar8{'z', 'h', '-', 't', 'w'},
  17492. },
  17493. }
  17494. func XFcFreeTypeIsExclusiveLang(tls *libc.TLS, lang uintptr) (r TFcBool) {
  17495. var i int32
  17496. _ = i
  17497. i = 0
  17498. for {
  17499. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7))) {
  17500. break
  17501. }
  17502. if XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_FcCodePageRange))+uintptr(i)*7+1) == int32(_FcLangEqual) {
  17503. return int32(m_FcTrue)
  17504. }
  17505. goto _1
  17506. _1:
  17507. ;
  17508. i++
  17509. }
  17510. return m_FcFalse
  17511. }
  17512. type TFcFtEncoding = struct {
  17513. Fplatform_id TFT_UShort
  17514. Fencoding_id TFT_UShort
  17515. Ffromcode [12]int8
  17516. }
  17517. var _fcFtEncoding = [14]TFcFtEncoding{
  17518. 0: {
  17519. Fencoding_id: uint16(m_TT_ENCODING_DONT_CARE),
  17520. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  17521. },
  17522. 1: {
  17523. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17524. Ffromcode: [12]int8{'M', 'A', 'C', 'I', 'N', 'T', 'O', 'S', 'H'},
  17525. },
  17526. 2: {
  17527. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17528. Fencoding_id: uint16(m_TT_MAC_ID_JAPANESE),
  17529. Ffromcode: [12]int8{'S', 'J', 'I', 'S'},
  17530. },
  17531. 3: {
  17532. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17533. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  17534. },
  17535. 4: {
  17536. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17537. Fencoding_id: uint16(m_TT_MS_ID_UNICODE_CS),
  17538. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  17539. },
  17540. 5: {
  17541. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17542. Fencoding_id: uint16(m_TT_MS_ID_SJIS),
  17543. Ffromcode: [12]int8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  17544. },
  17545. 6: {
  17546. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17547. Fencoding_id: uint16(m_TT_MS_ID_PRC),
  17548. Ffromcode: [12]int8{'G', 'B', '2', '3', '1', '2'},
  17549. },
  17550. 7: {
  17551. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17552. Fencoding_id: uint16(m_TT_MS_ID_BIG_5),
  17553. Ffromcode: [12]int8{'B', 'I', 'G', '-', '5'},
  17554. },
  17555. 8: {
  17556. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17557. Fencoding_id: uint16(m_TT_MS_ID_WANSUNG),
  17558. Ffromcode: [12]int8{'W', 'a', 'n', 's', 'u', 'n', 'g'},
  17559. },
  17560. 9: {
  17561. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17562. Fencoding_id: uint16(m_TT_MS_ID_JOHAB),
  17563. Ffromcode: [12]int8{'J', 'o', 'h', 'a', 'b'},
  17564. },
  17565. 10: {
  17566. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17567. Fencoding_id: uint16(m_TT_MS_ID_UCS_4),
  17568. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  17569. },
  17570. 11: {
  17571. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  17572. Ffromcode: [12]int8{'A', 'S', 'C', 'I', 'I'},
  17573. },
  17574. 12: {
  17575. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  17576. Fencoding_id: uint16(m_TT_ISO_ID_10646),
  17577. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  17578. },
  17579. 13: {
  17580. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  17581. Fencoding_id: uint16(m_TT_ISO_ID_8859_1),
  17582. Ffromcode: [12]int8{'I', 'S', 'O', '-', '8', '8', '5', '9', '-', '1'},
  17583. },
  17584. }
  17585. type TFcFtLanguage = struct {
  17586. Fplatform_id TFT_UShort
  17587. Flanguage_id TFT_UShort
  17588. Flang [8]int8
  17589. }
  17590. var _fcFtLanguage = [335]TFcFtLanguage{
  17591. 0: {
  17592. Flanguage_id: uint16(m_TT_LANGUAGE_DONT_CARE),
  17593. Flang: [8]int8{},
  17594. },
  17595. 1: {
  17596. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17597. Flang: [8]int8{'e', 'n'},
  17598. },
  17599. 2: {
  17600. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17601. Flanguage_id: uint16(m_TT_MAC_LANGID_FRENCH),
  17602. Flang: [8]int8{'f', 'r'},
  17603. },
  17604. 3: {
  17605. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17606. Flanguage_id: uint16(m_TT_MAC_LANGID_GERMAN),
  17607. Flang: [8]int8{'d', 'e'},
  17608. },
  17609. 4: {
  17610. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17611. Flanguage_id: uint16(m_TT_MAC_LANGID_ITALIAN),
  17612. Flang: [8]int8{'i', 't'},
  17613. },
  17614. 5: {
  17615. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17616. Flanguage_id: uint16(m_TT_MAC_LANGID_DUTCH),
  17617. Flang: [8]int8{'n', 'l'},
  17618. },
  17619. 6: {
  17620. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17621. Flanguage_id: uint16(m_TT_MAC_LANGID_SWEDISH),
  17622. Flang: [8]int8{'s', 'v'},
  17623. },
  17624. 7: {
  17625. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17626. Flanguage_id: uint16(m_TT_MAC_LANGID_SPANISH),
  17627. Flang: [8]int8{'e', 's'},
  17628. },
  17629. 8: {
  17630. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17631. Flanguage_id: uint16(m_TT_MAC_LANGID_DANISH),
  17632. Flang: [8]int8{'d', 'a'},
  17633. },
  17634. 9: {
  17635. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17636. Flanguage_id: uint16(m_TT_MAC_LANGID_PORTUGUESE),
  17637. Flang: [8]int8{'p', 't'},
  17638. },
  17639. 10: {
  17640. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17641. Flanguage_id: uint16(m_TT_MAC_LANGID_NORWEGIAN),
  17642. Flang: [8]int8{'n', 'o'},
  17643. },
  17644. 11: {
  17645. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17646. Flanguage_id: uint16(m_TT_MAC_LANGID_HEBREW),
  17647. Flang: [8]int8{'h', 'e'},
  17648. },
  17649. 12: {
  17650. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17651. Flanguage_id: uint16(m_TT_MAC_LANGID_JAPANESE),
  17652. Flang: [8]int8{'j', 'a'},
  17653. },
  17654. 13: {
  17655. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17656. Flanguage_id: uint16(m_TT_MAC_LANGID_ARABIC),
  17657. Flang: [8]int8{'a', 'r'},
  17658. },
  17659. 14: {
  17660. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17661. Flanguage_id: uint16(m_TT_MAC_LANGID_FINNISH),
  17662. Flang: [8]int8{'f', 'i'},
  17663. },
  17664. 15: {
  17665. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17666. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK),
  17667. Flang: [8]int8{'e', 'l'},
  17668. },
  17669. 16: {
  17670. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17671. Flanguage_id: uint16(m_TT_MAC_LANGID_ICELANDIC),
  17672. Flang: [8]int8{'i', 's'},
  17673. },
  17674. 17: {
  17675. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17676. Flanguage_id: uint16(m_TT_MAC_LANGID_MALTESE),
  17677. Flang: [8]int8{'m', 't'},
  17678. },
  17679. 18: {
  17680. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17681. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKISH),
  17682. Flang: [8]int8{'t', 'r'},
  17683. },
  17684. 19: {
  17685. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17686. Flanguage_id: uint16(m_TT_MAC_LANGID_CROATIAN),
  17687. Flang: [8]int8{'h', 'r'},
  17688. },
  17689. 20: {
  17690. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17691. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_TRADITIONAL),
  17692. Flang: [8]int8{'z', 'h', '-', 't', 'w'},
  17693. },
  17694. 21: {
  17695. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17696. Flanguage_id: uint16(m_TT_MAC_LANGID_URDU),
  17697. Flang: [8]int8{'u', 'r'},
  17698. },
  17699. 22: {
  17700. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17701. Flanguage_id: uint16(m_TT_MAC_LANGID_HINDI),
  17702. Flang: [8]int8{'h', 'i'},
  17703. },
  17704. 23: {
  17705. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17706. Flanguage_id: uint16(m_TT_MAC_LANGID_THAI),
  17707. Flang: [8]int8{'t', 'h'},
  17708. },
  17709. 24: {
  17710. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17711. Flanguage_id: uint16(m_TT_MAC_LANGID_KOREAN),
  17712. Flang: [8]int8{'k', 'o'},
  17713. },
  17714. 25: {
  17715. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17716. Flanguage_id: uint16(m_TT_MAC_LANGID_LITHUANIAN),
  17717. Flang: [8]int8{'l', 't'},
  17718. },
  17719. 26: {
  17720. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17721. Flanguage_id: uint16(m_TT_MAC_LANGID_POLISH),
  17722. Flang: [8]int8{'p', 'l'},
  17723. },
  17724. 27: {
  17725. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17726. Flanguage_id: uint16(m_TT_MAC_LANGID_HUNGARIAN),
  17727. Flang: [8]int8{'h', 'u'},
  17728. },
  17729. 28: {
  17730. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17731. Flanguage_id: uint16(m_TT_MAC_LANGID_ESTONIAN),
  17732. Flang: [8]int8{'e', 't'},
  17733. },
  17734. 29: {
  17735. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17736. Flanguage_id: uint16(m_TT_MAC_LANGID_LETTISH),
  17737. Flang: [8]int8{'l', 'v'},
  17738. },
  17739. 30: {
  17740. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17741. Flanguage_id: uint16(m_TT_MAC_LANGID_FAEROESE),
  17742. Flang: [8]int8{'f', 'o'},
  17743. },
  17744. 31: {
  17745. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17746. Flanguage_id: uint16(m_TT_MAC_LANGID_FARSI),
  17747. Flang: [8]int8{'f', 'a'},
  17748. },
  17749. 32: {
  17750. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17751. Flanguage_id: uint16(m_TT_MAC_LANGID_RUSSIAN),
  17752. Flang: [8]int8{'r', 'u'},
  17753. },
  17754. 33: {
  17755. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17756. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_SIMPLIFIED),
  17757. Flang: [8]int8{'z', 'h', '-', 'c', 'n'},
  17758. },
  17759. 34: {
  17760. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17761. Flanguage_id: uint16(m_TT_MAC_LANGID_FLEMISH),
  17762. Flang: [8]int8{'n', 'l'},
  17763. },
  17764. 35: {
  17765. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17766. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH),
  17767. Flang: [8]int8{'g', 'a'},
  17768. },
  17769. 36: {
  17770. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17771. Flanguage_id: uint16(m_TT_MAC_LANGID_ALBANIAN),
  17772. Flang: [8]int8{'s', 'q'},
  17773. },
  17774. 37: {
  17775. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17776. Flanguage_id: uint16(m_TT_MAC_LANGID_ROMANIAN),
  17777. Flang: [8]int8{'r', 'o'},
  17778. },
  17779. 38: {
  17780. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17781. Flanguage_id: uint16(m_TT_MAC_LANGID_CZECH),
  17782. Flang: [8]int8{'c', 's'},
  17783. },
  17784. 39: {
  17785. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17786. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVAK),
  17787. Flang: [8]int8{'s', 'k'},
  17788. },
  17789. 40: {
  17790. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17791. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVENIAN),
  17792. Flang: [8]int8{'s', 'l'},
  17793. },
  17794. 41: {
  17795. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17796. Flanguage_id: uint16(m_TT_MAC_LANGID_YIDDISH),
  17797. Flang: [8]int8{'y', 'i'},
  17798. },
  17799. 42: {
  17800. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17801. Flanguage_id: uint16(m_TT_MAC_LANGID_SERBIAN),
  17802. Flang: [8]int8{'s', 'r'},
  17803. },
  17804. 43: {
  17805. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17806. Flanguage_id: uint16(m_TT_MAC_LANGID_MACEDONIAN),
  17807. Flang: [8]int8{'m', 'k'},
  17808. },
  17809. 44: {
  17810. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17811. Flanguage_id: uint16(m_TT_MAC_LANGID_BULGARIAN),
  17812. Flang: [8]int8{'b', 'g'},
  17813. },
  17814. 45: {
  17815. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17816. Flanguage_id: uint16(m_TT_MAC_LANGID_UKRAINIAN),
  17817. Flang: [8]int8{'u', 'k'},
  17818. },
  17819. 46: {
  17820. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17821. Flanguage_id: uint16(m_TT_MAC_LANGID_BYELORUSSIAN),
  17822. Flang: [8]int8{'b', 'e'},
  17823. },
  17824. 47: {
  17825. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17826. Flanguage_id: uint16(m_TT_MAC_LANGID_UZBEK),
  17827. Flang: [8]int8{'u', 'z'},
  17828. },
  17829. 48: {
  17830. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17831. Flanguage_id: uint16(m_TT_MAC_LANGID_KAZAKH),
  17832. Flang: [8]int8{'k', 'k'},
  17833. },
  17834. 49: {
  17835. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17836. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI),
  17837. Flang: [8]int8{'a', 'z'},
  17838. },
  17839. 50: {
  17840. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17841. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT),
  17842. Flang: [8]int8{'a', 'z'},
  17843. },
  17844. 51: {
  17845. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17846. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT),
  17847. Flang: [8]int8{'a', 'r'},
  17848. },
  17849. 52: {
  17850. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17851. Flanguage_id: uint16(m_TT_MAC_LANGID_ARMENIAN),
  17852. Flang: [8]int8{'h', 'y'},
  17853. },
  17854. 53: {
  17855. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17856. Flanguage_id: uint16(m_TT_MAC_LANGID_GEORGIAN),
  17857. Flang: [8]int8{'k', 'a'},
  17858. },
  17859. 54: {
  17860. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17861. Flanguage_id: uint16(m_TT_MAC_LANGID_MOLDAVIAN),
  17862. Flang: [8]int8{'m', 'o'},
  17863. },
  17864. 55: {
  17865. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17866. Flanguage_id: uint16(m_TT_MAC_LANGID_KIRGHIZ),
  17867. Flang: [8]int8{'k', 'y'},
  17868. },
  17869. 56: {
  17870. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17871. Flanguage_id: uint16(m_TT_MAC_LANGID_TAJIKI),
  17872. Flang: [8]int8{'t', 'g'},
  17873. },
  17874. 57: {
  17875. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17876. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKMEN),
  17877. Flang: [8]int8{'t', 'k'},
  17878. },
  17879. 58: {
  17880. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17881. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN),
  17882. Flang: [8]int8{'m', 'n'},
  17883. },
  17884. 59: {
  17885. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17886. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT),
  17887. Flang: [8]int8{'m', 'n'},
  17888. },
  17889. 60: {
  17890. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17891. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT),
  17892. Flang: [8]int8{'m', 'n'},
  17893. },
  17894. 61: {
  17895. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17896. Flanguage_id: uint16(m_TT_MAC_LANGID_PASHTO),
  17897. Flang: [8]int8{'p', 's'},
  17898. },
  17899. 62: {
  17900. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17901. Flanguage_id: uint16(m_TT_MAC_LANGID_KURDISH),
  17902. Flang: [8]int8{'k', 'u'},
  17903. },
  17904. 63: {
  17905. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17906. Flanguage_id: uint16(m_TT_MAC_LANGID_KASHMIRI),
  17907. Flang: [8]int8{'k', 's'},
  17908. },
  17909. 64: {
  17910. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17911. Flanguage_id: uint16(m_TT_MAC_LANGID_SINDHI),
  17912. Flang: [8]int8{'s', 'd'},
  17913. },
  17914. 65: {
  17915. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17916. Flanguage_id: uint16(m_TT_MAC_LANGID_TIBETAN),
  17917. Flang: [8]int8{'b', 'o'},
  17918. },
  17919. 66: {
  17920. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17921. Flanguage_id: uint16(m_TT_MAC_LANGID_NEPALI),
  17922. Flang: [8]int8{'n', 'e'},
  17923. },
  17924. 67: {
  17925. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17926. Flanguage_id: uint16(m_TT_MAC_LANGID_SANSKRIT),
  17927. Flang: [8]int8{'s', 'a'},
  17928. },
  17929. 68: {
  17930. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17931. Flanguage_id: uint16(m_TT_MAC_LANGID_MARATHI),
  17932. Flang: [8]int8{'m', 'r'},
  17933. },
  17934. 69: {
  17935. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17936. Flanguage_id: uint16(m_TT_MAC_LANGID_BENGALI),
  17937. Flang: [8]int8{'b', 'n'},
  17938. },
  17939. 70: {
  17940. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17941. Flanguage_id: uint16(m_TT_MAC_LANGID_ASSAMESE),
  17942. Flang: [8]int8{'a', 's'},
  17943. },
  17944. 71: {
  17945. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17946. Flanguage_id: uint16(m_TT_MAC_LANGID_GUJARATI),
  17947. Flang: [8]int8{'g', 'u'},
  17948. },
  17949. 72: {
  17950. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17951. Flanguage_id: uint16(m_TT_MAC_LANGID_PUNJABI),
  17952. Flang: [8]int8{'p', 'a'},
  17953. },
  17954. 73: {
  17955. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17956. Flanguage_id: uint16(m_TT_MAC_LANGID_ORIYA),
  17957. Flang: [8]int8{'o', 'r'},
  17958. },
  17959. 74: {
  17960. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17961. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAYALAM),
  17962. Flang: [8]int8{'m', 'l'},
  17963. },
  17964. 75: {
  17965. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17966. Flanguage_id: uint16(m_TT_MAC_LANGID_KANNADA),
  17967. Flang: [8]int8{'k', 'n'},
  17968. },
  17969. 76: {
  17970. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17971. Flanguage_id: uint16(m_TT_MAC_LANGID_TAMIL),
  17972. Flang: [8]int8{'t', 'a'},
  17973. },
  17974. 77: {
  17975. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17976. Flanguage_id: uint16(m_TT_MAC_LANGID_TELUGU),
  17977. Flang: [8]int8{'t', 'e'},
  17978. },
  17979. 78: {
  17980. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17981. Flanguage_id: uint16(m_TT_MAC_LANGID_SINHALESE),
  17982. Flang: [8]int8{'s', 'i'},
  17983. },
  17984. 79: {
  17985. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17986. Flanguage_id: uint16(m_TT_MAC_LANGID_BURMESE),
  17987. Flang: [8]int8{'m', 'y'},
  17988. },
  17989. 80: {
  17990. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17991. Flanguage_id: uint16(m_TT_MAC_LANGID_KHMER),
  17992. Flang: [8]int8{'k', 'm'},
  17993. },
  17994. 81: {
  17995. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17996. Flanguage_id: uint16(m_TT_MAC_LANGID_LAO),
  17997. Flang: [8]int8{'l', 'o'},
  17998. },
  17999. 82: {
  18000. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18001. Flanguage_id: uint16(m_TT_MAC_LANGID_VIETNAMESE),
  18002. Flang: [8]int8{'v', 'i'},
  18003. },
  18004. 83: {
  18005. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18006. Flanguage_id: uint16(m_TT_MAC_LANGID_INDONESIAN),
  18007. Flang: [8]int8{'i', 'd'},
  18008. },
  18009. 84: {
  18010. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18011. Flanguage_id: uint16(m_TT_MAC_LANGID_TAGALOG),
  18012. Flang: [8]int8{'t', 'l'},
  18013. },
  18014. 85: {
  18015. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18016. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT),
  18017. Flang: [8]int8{'m', 's'},
  18018. },
  18019. 86: {
  18020. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18021. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT),
  18022. Flang: [8]int8{'m', 's'},
  18023. },
  18024. 87: {
  18025. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18026. Flanguage_id: uint16(m_TT_MAC_LANGID_AMHARIC),
  18027. Flang: [8]int8{'a', 'm'},
  18028. },
  18029. 88: {
  18030. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18031. Flanguage_id: uint16(m_TT_MAC_LANGID_TIGRINYA),
  18032. Flang: [8]int8{'t', 'i'},
  18033. },
  18034. 89: {
  18035. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18036. Flanguage_id: uint16(m_TT_MAC_LANGID_GALLA),
  18037. Flang: [8]int8{'o', 'm'},
  18038. },
  18039. 90: {
  18040. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18041. Flanguage_id: uint16(m_TT_MAC_LANGID_SOMALI),
  18042. Flang: [8]int8{'s', 'o'},
  18043. },
  18044. 91: {
  18045. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18046. Flanguage_id: uint16(m_TT_MAC_LANGID_SWAHILI),
  18047. Flang: [8]int8{'s', 'w'},
  18048. },
  18049. 92: {
  18050. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18051. Flanguage_id: uint16(m_TT_MAC_LANGID_RUANDA),
  18052. Flang: [8]int8{'r', 'w'},
  18053. },
  18054. 93: {
  18055. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18056. Flanguage_id: uint16(m_TT_MAC_LANGID_RUNDI),
  18057. Flang: [8]int8{'r', 'n'},
  18058. },
  18059. 94: {
  18060. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18061. Flanguage_id: uint16(m_TT_MAC_LANGID_CHEWA),
  18062. Flang: [8]int8{'n', 'y'},
  18063. },
  18064. 95: {
  18065. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18066. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAGASY),
  18067. Flang: [8]int8{'m', 'g'},
  18068. },
  18069. 96: {
  18070. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18071. Flanguage_id: uint16(m_TT_MAC_LANGID_ESPERANTO),
  18072. Flang: [8]int8{'e', 'o'},
  18073. },
  18074. 97: {
  18075. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18076. Flanguage_id: uint16(m_TT_MAC_LANGID_WELSH),
  18077. Flang: [8]int8{'c', 'y'},
  18078. },
  18079. 98: {
  18080. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18081. Flanguage_id: uint16(m_TT_MAC_LANGID_BASQUE),
  18082. Flang: [8]int8{'e', 'u'},
  18083. },
  18084. 99: {
  18085. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18086. Flanguage_id: uint16(m_TT_MAC_LANGID_CATALAN),
  18087. Flang: [8]int8{'c', 'a'},
  18088. },
  18089. 100: {
  18090. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18091. Flanguage_id: uint16(m_TT_MAC_LANGID_LATIN),
  18092. Flang: [8]int8{'l', 'a'},
  18093. },
  18094. 101: {
  18095. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18096. Flanguage_id: uint16(m_TT_MAC_LANGID_QUECHUA),
  18097. Flang: [8]int8{'q', 'u'},
  18098. },
  18099. 102: {
  18100. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18101. Flanguage_id: uint16(m_TT_MAC_LANGID_GUARANI),
  18102. Flang: [8]int8{'g', 'n'},
  18103. },
  18104. 103: {
  18105. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18106. Flanguage_id: uint16(m_TT_MAC_LANGID_AYMARA),
  18107. Flang: [8]int8{'a', 'y'},
  18108. },
  18109. 104: {
  18110. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18111. Flanguage_id: uint16(m_TT_MAC_LANGID_TATAR),
  18112. Flang: [8]int8{'t', 't'},
  18113. },
  18114. 105: {
  18115. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18116. Flanguage_id: uint16(m_TT_MAC_LANGID_UIGHUR),
  18117. Flang: [8]int8{'u', 'g'},
  18118. },
  18119. 106: {
  18120. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18121. Flanguage_id: uint16(m_TT_MAC_LANGID_DZONGKHA),
  18122. Flang: [8]int8{'d', 'z'},
  18123. },
  18124. 107: {
  18125. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18126. Flanguage_id: uint16(m_TT_MAC_LANGID_JAVANESE),
  18127. Flang: [8]int8{'j', 'w'},
  18128. },
  18129. 108: {
  18130. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18131. Flanguage_id: uint16(m_TT_MAC_LANGID_SUNDANESE),
  18132. Flang: [8]int8{'s', 'u'},
  18133. },
  18134. 109: {
  18135. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18136. Flanguage_id: uint16(m_TT_MAC_LANGID_GALICIAN),
  18137. Flang: [8]int8{'g', 'l'},
  18138. },
  18139. 110: {
  18140. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18141. Flanguage_id: uint16(m_TT_MAC_LANGID_AFRIKAANS),
  18142. Flang: [8]int8{'a', 'f'},
  18143. },
  18144. 111: {
  18145. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18146. Flanguage_id: uint16(m_TT_MAC_LANGID_BRETON),
  18147. Flang: [8]int8{'b', 'r'},
  18148. },
  18149. 112: {
  18150. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18151. Flanguage_id: uint16(m_TT_MAC_LANGID_INUKTITUT),
  18152. Flang: [8]int8{'i', 'u'},
  18153. },
  18154. 113: {
  18155. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18156. Flanguage_id: uint16(m_TT_MAC_LANGID_SCOTTISH_GAELIC),
  18157. Flang: [8]int8{'g', 'd'},
  18158. },
  18159. 114: {
  18160. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18161. Flanguage_id: uint16(m_TT_MAC_LANGID_MANX_GAELIC),
  18162. Flang: [8]int8{'g', 'v'},
  18163. },
  18164. 115: {
  18165. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18166. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH_GAELIC),
  18167. Flang: [8]int8{'g', 'a'},
  18168. },
  18169. 116: {
  18170. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18171. Flanguage_id: uint16(m_TT_MAC_LANGID_TONGAN),
  18172. Flang: [8]int8{'t', 'o'},
  18173. },
  18174. 117: {
  18175. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18176. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK_POLYTONIC),
  18177. Flang: [8]int8{'e', 'l'},
  18178. },
  18179. 118: {
  18180. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18181. Flanguage_id: uint16(m_TT_MAC_LANGID_GREELANDIC),
  18182. Flang: [8]int8{'i', 'k'},
  18183. },
  18184. 119: {
  18185. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  18186. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT),
  18187. Flang: [8]int8{'a', 'z'},
  18188. },
  18189. 120: {
  18190. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18191. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA),
  18192. Flang: [8]int8{'a', 'r'},
  18193. },
  18194. 121: {
  18195. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18196. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_IRAQ),
  18197. Flang: [8]int8{'a', 'r'},
  18198. },
  18199. 122: {
  18200. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18201. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_EGYPT),
  18202. Flang: [8]int8{'a', 'r'},
  18203. },
  18204. 123: {
  18205. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18206. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LIBYA),
  18207. Flang: [8]int8{'a', 'r'},
  18208. },
  18209. 124: {
  18210. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18211. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_ALGERIA),
  18212. Flang: [8]int8{'a', 'r'},
  18213. },
  18214. 125: {
  18215. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18216. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_MOROCCO),
  18217. Flang: [8]int8{'a', 'r'},
  18218. },
  18219. 126: {
  18220. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18221. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_TUNISIA),
  18222. Flang: [8]int8{'a', 'r'},
  18223. },
  18224. 127: {
  18225. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18226. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_OMAN),
  18227. Flang: [8]int8{'a', 'r'},
  18228. },
  18229. 128: {
  18230. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18231. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_YEMEN),
  18232. Flang: [8]int8{'a', 'r'},
  18233. },
  18234. 129: {
  18235. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18236. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SYRIA),
  18237. Flang: [8]int8{'a', 'r'},
  18238. },
  18239. 130: {
  18240. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18241. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_JORDAN),
  18242. Flang: [8]int8{'a', 'r'},
  18243. },
  18244. 131: {
  18245. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18246. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LEBANON),
  18247. Flang: [8]int8{'a', 'r'},
  18248. },
  18249. 132: {
  18250. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18251. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_KUWAIT),
  18252. Flang: [8]int8{'a', 'r'},
  18253. },
  18254. 133: {
  18255. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18256. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_UAE),
  18257. Flang: [8]int8{'a', 'r'},
  18258. },
  18259. 134: {
  18260. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18261. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_BAHRAIN),
  18262. Flang: [8]int8{'a', 'r'},
  18263. },
  18264. 135: {
  18265. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18266. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_QATAR),
  18267. Flang: [8]int8{'a', 'r'},
  18268. },
  18269. 136: {
  18270. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18271. Flanguage_id: uint16(m_TT_MS_LANGID_BULGARIAN_BULGARIA),
  18272. Flang: [8]int8{'b', 'g'},
  18273. },
  18274. 137: {
  18275. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18276. Flanguage_id: uint16(m_TT_MS_LANGID_CATALAN_CATALAN),
  18277. Flang: [8]int8{'c', 'a'},
  18278. },
  18279. 138: {
  18280. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18281. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_TAIWAN),
  18282. Flang: [8]int8{'z', 'h', '-', 't', 'w'},
  18283. },
  18284. 139: {
  18285. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18286. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_PRC),
  18287. Flang: [8]int8{'z', 'h', '-', 'c', 'n'},
  18288. },
  18289. 140: {
  18290. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18291. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_HONG_KONG),
  18292. Flang: [8]int8{'z', 'h', '-', 'h', 'k'},
  18293. },
  18294. 141: {
  18295. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18296. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_SINGAPORE),
  18297. Flang: [8]int8{'z', 'h', '-', 's', 'g'},
  18298. },
  18299. 142: {
  18300. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18301. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_MACAO),
  18302. Flang: [8]int8{'z', 'h', '-', 'm', 'o'},
  18303. },
  18304. 143: {
  18305. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18306. Flanguage_id: uint16(m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC),
  18307. Flang: [8]int8{'c', 's'},
  18308. },
  18309. 144: {
  18310. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18311. Flanguage_id: uint16(m_TT_MS_LANGID_DANISH_DENMARK),
  18312. Flang: [8]int8{'d', 'a'},
  18313. },
  18314. 145: {
  18315. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18316. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_GERMANY),
  18317. Flang: [8]int8{'d', 'e'},
  18318. },
  18319. 146: {
  18320. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18321. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_SWITZERLAND),
  18322. Flang: [8]int8{'d', 'e'},
  18323. },
  18324. 147: {
  18325. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18326. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_AUSTRIA),
  18327. Flang: [8]int8{'d', 'e'},
  18328. },
  18329. 148: {
  18330. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18331. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LUXEMBOURG),
  18332. Flang: [8]int8{'d', 'e'},
  18333. },
  18334. 149: {
  18335. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18336. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN),
  18337. Flang: [8]int8{'d', 'e'},
  18338. },
  18339. 150: {
  18340. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18341. Flanguage_id: uint16(m_TT_MS_LANGID_GREEK_GREECE),
  18342. Flang: [8]int8{'e', 'l'},
  18343. },
  18344. 151: {
  18345. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18346. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  18347. Flang: [8]int8{'e', 'n'},
  18348. },
  18349. 152: {
  18350. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18351. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM),
  18352. Flang: [8]int8{'e', 'n'},
  18353. },
  18354. 153: {
  18355. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18356. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_AUSTRALIA),
  18357. Flang: [8]int8{'e', 'n'},
  18358. },
  18359. 154: {
  18360. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18361. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CANADA),
  18362. Flang: [8]int8{'e', 'n'},
  18363. },
  18364. 155: {
  18365. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18366. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND),
  18367. Flang: [8]int8{'e', 'n'},
  18368. },
  18369. 156: {
  18370. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18371. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_IRELAND),
  18372. Flang: [8]int8{'e', 'n'},
  18373. },
  18374. 157: {
  18375. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18376. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA),
  18377. Flang: [8]int8{'e', 'n'},
  18378. },
  18379. 158: {
  18380. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18381. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_JAMAICA),
  18382. Flang: [8]int8{'e', 'n'},
  18383. },
  18384. 159: {
  18385. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18386. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CARIBBEAN),
  18387. Flang: [8]int8{'e', 'n'},
  18388. },
  18389. 160: {
  18390. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18391. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_BELIZE),
  18392. Flang: [8]int8{'e', 'n'},
  18393. },
  18394. 161: {
  18395. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18396. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_TRINIDAD),
  18397. Flang: [8]int8{'e', 'n'},
  18398. },
  18399. 162: {
  18400. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18401. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_ZIMBABWE),
  18402. Flang: [8]int8{'e', 'n'},
  18403. },
  18404. 163: {
  18405. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18406. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_PHILIPPINES),
  18407. Flang: [8]int8{'e', 'n'},
  18408. },
  18409. 164: {
  18410. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18411. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT),
  18412. Flang: [8]int8{'e', 's'},
  18413. },
  18414. 165: {
  18415. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18416. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_MEXICO),
  18417. Flang: [8]int8{'e', 's'},
  18418. },
  18419. 166: {
  18420. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18421. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT),
  18422. Flang: [8]int8{'e', 's'},
  18423. },
  18424. 167: {
  18425. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18426. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_GUATEMALA),
  18427. Flang: [8]int8{'e', 's'},
  18428. },
  18429. 168: {
  18430. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18431. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COSTA_RICA),
  18432. Flang: [8]int8{'e', 's'},
  18433. },
  18434. 169: {
  18435. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18436. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PANAMA),
  18437. Flang: [8]int8{'e', 's'},
  18438. },
  18439. 170: {
  18440. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18441. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC),
  18442. Flang: [8]int8{'e', 's'},
  18443. },
  18444. 171: {
  18445. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18446. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_VENEZUELA),
  18447. Flang: [8]int8{'e', 's'},
  18448. },
  18449. 172: {
  18450. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18451. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COLOMBIA),
  18452. Flang: [8]int8{'e', 's'},
  18453. },
  18454. 173: {
  18455. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18456. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PERU),
  18457. Flang: [8]int8{'e', 's'},
  18458. },
  18459. 174: {
  18460. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18461. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ARGENTINA),
  18462. Flang: [8]int8{'e', 's'},
  18463. },
  18464. 175: {
  18465. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18466. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ECUADOR),
  18467. Flang: [8]int8{'e', 's'},
  18468. },
  18469. 176: {
  18470. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18471. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_CHILE),
  18472. Flang: [8]int8{'e', 's'},
  18473. },
  18474. 177: {
  18475. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18476. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_URUGUAY),
  18477. Flang: [8]int8{'e', 's'},
  18478. },
  18479. 178: {
  18480. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18481. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PARAGUAY),
  18482. Flang: [8]int8{'e', 's'},
  18483. },
  18484. 179: {
  18485. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18486. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_BOLIVIA),
  18487. Flang: [8]int8{'e', 's'},
  18488. },
  18489. 180: {
  18490. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18491. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_EL_SALVADOR),
  18492. Flang: [8]int8{'e', 's'},
  18493. },
  18494. 181: {
  18495. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18496. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_HONDURAS),
  18497. Flang: [8]int8{'e', 's'},
  18498. },
  18499. 182: {
  18500. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18501. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_NICARAGUA),
  18502. Flang: [8]int8{'e', 's'},
  18503. },
  18504. 183: {
  18505. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18506. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PUERTO_RICO),
  18507. Flang: [8]int8{'e', 's'},
  18508. },
  18509. 184: {
  18510. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18511. Flanguage_id: uint16(m_TT_MS_LANGID_FINNISH_FINLAND),
  18512. Flang: [8]int8{'f', 'i'},
  18513. },
  18514. 185: {
  18515. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18516. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_FRANCE),
  18517. Flang: [8]int8{'f', 'r'},
  18518. },
  18519. 186: {
  18520. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18521. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_BELGIUM),
  18522. Flang: [8]int8{'f', 'r'},
  18523. },
  18524. 187: {
  18525. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18526. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CANADA),
  18527. Flang: [8]int8{'f', 'r'},
  18528. },
  18529. 188: {
  18530. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18531. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SWITZERLAND),
  18532. Flang: [8]int8{'f', 'r'},
  18533. },
  18534. 189: {
  18535. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18536. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_LUXEMBOURG),
  18537. Flang: [8]int8{'f', 'r'},
  18538. },
  18539. 190: {
  18540. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18541. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MONACO),
  18542. Flang: [8]int8{'f', 'r'},
  18543. },
  18544. 191: {
  18545. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18546. Flanguage_id: uint16(m_TT_MS_LANGID_HEBREW_ISRAEL),
  18547. Flang: [8]int8{'h', 'e'},
  18548. },
  18549. 192: {
  18550. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18551. Flanguage_id: uint16(m_TT_MS_LANGID_HUNGARIAN_HUNGARY),
  18552. Flang: [8]int8{'h', 'u'},
  18553. },
  18554. 193: {
  18555. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18556. Flanguage_id: uint16(m_TT_MS_LANGID_ICELANDIC_ICELAND),
  18557. Flang: [8]int8{'i', 's'},
  18558. },
  18559. 194: {
  18560. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18561. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_ITALY),
  18562. Flang: [8]int8{'i', 't'},
  18563. },
  18564. 195: {
  18565. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18566. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_SWITZERLAND),
  18567. Flang: [8]int8{'i', 't'},
  18568. },
  18569. 196: {
  18570. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18571. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  18572. Flang: [8]int8{'j', 'a'},
  18573. },
  18574. 197: {
  18575. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18576. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_KOREA),
  18577. Flang: [8]int8{'k', 'o'},
  18578. },
  18579. 198: {
  18580. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18581. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_JOHAB_KOREA),
  18582. Flang: [8]int8{'k', 'o'},
  18583. },
  18584. 199: {
  18585. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18586. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_NETHERLANDS),
  18587. Flang: [8]int8{'n', 'l'},
  18588. },
  18589. 200: {
  18590. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18591. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_BELGIUM),
  18592. Flang: [8]int8{'n', 'l'},
  18593. },
  18594. 201: {
  18595. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18596. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL),
  18597. Flang: [8]int8{'n', 'o'},
  18598. },
  18599. 202: {
  18600. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18601. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK),
  18602. Flang: [8]int8{'n', 'n'},
  18603. },
  18604. 203: {
  18605. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18606. Flanguage_id: uint16(m_TT_MS_LANGID_POLISH_POLAND),
  18607. Flang: [8]int8{'p', 'l'},
  18608. },
  18609. 204: {
  18610. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18611. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_BRAZIL),
  18612. Flang: [8]int8{'p', 't'},
  18613. },
  18614. 205: {
  18615. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18616. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_PORTUGAL),
  18617. Flang: [8]int8{'p', 't'},
  18618. },
  18619. 206: {
  18620. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18621. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANSH_SWITZERLAND),
  18622. Flang: [8]int8{'r', 'm'},
  18623. },
  18624. 207: {
  18625. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18626. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANIAN_ROMANIA),
  18627. Flang: [8]int8{'r', 'o'},
  18628. },
  18629. 208: {
  18630. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18631. Flanguage_id: uint16(m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA),
  18632. Flang: [8]int8{'m', 'o'},
  18633. },
  18634. 209: {
  18635. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18636. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_RUSSIA),
  18637. Flang: [8]int8{'r', 'u'},
  18638. },
  18639. 210: {
  18640. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18641. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_MOLDAVIA),
  18642. Flang: [8]int8{'r', 'u'},
  18643. },
  18644. 211: {
  18645. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18646. Flanguage_id: uint16(m_TT_MS_LANGID_CROATIAN_CROATIA),
  18647. Flang: [8]int8{'h', 'r'},
  18648. },
  18649. 212: {
  18650. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18651. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN),
  18652. Flang: [8]int8{'s', 'r'},
  18653. },
  18654. 213: {
  18655. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18656. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC),
  18657. Flang: [8]int8{'s', 'r'},
  18658. },
  18659. 214: {
  18660. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18661. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVAK_SLOVAKIA),
  18662. Flang: [8]int8{'s', 'k'},
  18663. },
  18664. 215: {
  18665. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18666. Flanguage_id: uint16(m_TT_MS_LANGID_ALBANIAN_ALBANIA),
  18667. Flang: [8]int8{'s', 'q'},
  18668. },
  18669. 216: {
  18670. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18671. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_SWEDEN),
  18672. Flang: [8]int8{'s', 'v'},
  18673. },
  18674. 217: {
  18675. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18676. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_FINLAND),
  18677. Flang: [8]int8{'s', 'v'},
  18678. },
  18679. 218: {
  18680. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18681. Flanguage_id: uint16(m_TT_MS_LANGID_THAI_THAILAND),
  18682. Flang: [8]int8{'t', 'h'},
  18683. },
  18684. 219: {
  18685. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18686. Flanguage_id: uint16(m_TT_MS_LANGID_TURKISH_TURKEY),
  18687. Flang: [8]int8{'t', 'r'},
  18688. },
  18689. 220: {
  18690. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18691. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_PAKISTAN),
  18692. Flang: [8]int8{'u', 'r'},
  18693. },
  18694. 221: {
  18695. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18696. Flanguage_id: uint16(m_TT_MS_LANGID_INDONESIAN_INDONESIA),
  18697. Flang: [8]int8{'i', 'd'},
  18698. },
  18699. 222: {
  18700. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18701. Flanguage_id: uint16(m_TT_MS_LANGID_UKRAINIAN_UKRAINE),
  18702. Flang: [8]int8{'u', 'k'},
  18703. },
  18704. 223: {
  18705. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18706. Flanguage_id: uint16(m_TT_MS_LANGID_BELARUSIAN_BELARUS),
  18707. Flang: [8]int8{'b', 'e'},
  18708. },
  18709. 224: {
  18710. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18711. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVENIAN_SLOVENIA),
  18712. Flang: [8]int8{'s', 'l'},
  18713. },
  18714. 225: {
  18715. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18716. Flanguage_id: uint16(m_TT_MS_LANGID_ESTONIAN_ESTONIA),
  18717. Flang: [8]int8{'e', 't'},
  18718. },
  18719. 226: {
  18720. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18721. Flanguage_id: uint16(m_TT_MS_LANGID_LATVIAN_LATVIA),
  18722. Flang: [8]int8{'l', 'v'},
  18723. },
  18724. 227: {
  18725. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18726. Flanguage_id: uint16(m_TT_MS_LANGID_LITHUANIAN_LITHUANIA),
  18727. Flang: [8]int8{'l', 't'},
  18728. },
  18729. 228: {
  18730. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18731. Flanguage_id: uint16(m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA),
  18732. Flang: [8]int8{'l', 't'},
  18733. },
  18734. 229: {
  18735. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18736. Flanguage_id: uint16(m_TT_MS_LANGID_MAORI_NEW_ZEALAND),
  18737. Flang: [8]int8{'m', 'i'},
  18738. },
  18739. 230: {
  18740. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18741. Flanguage_id: uint16(m_TT_MS_LANGID_FARSI_IRAN),
  18742. Flang: [8]int8{'f', 'a'},
  18743. },
  18744. 231: {
  18745. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18746. Flanguage_id: uint16(m_TT_MS_LANGID_VIETNAMESE_VIET_NAM),
  18747. Flang: [8]int8{'v', 'i'},
  18748. },
  18749. 232: {
  18750. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18751. Flanguage_id: uint16(m_TT_MS_LANGID_ARMENIAN_ARMENIA),
  18752. Flang: [8]int8{'h', 'y'},
  18753. },
  18754. 233: {
  18755. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18756. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN),
  18757. Flang: [8]int8{'a', 'z'},
  18758. },
  18759. 234: {
  18760. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18761. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC),
  18762. Flang: [8]int8{'a', 'z'},
  18763. },
  18764. 235: {
  18765. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18766. Flanguage_id: uint16(m_TT_MS_LANGID_BASQUE_BASQUE),
  18767. Flang: [8]int8{'e', 'u'},
  18768. },
  18769. 236: {
  18770. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18771. Flanguage_id: uint16(m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY),
  18772. Flang: [8]int8{'w', 'e', 'n'},
  18773. },
  18774. 237: {
  18775. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18776. Flanguage_id: uint16(m_TT_MS_LANGID_MACEDONIAN_MACEDONIA),
  18777. Flang: [8]int8{'m', 'k'},
  18778. },
  18779. 238: {
  18780. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18781. Flanguage_id: uint16(m_TT_MS_LANGID_SUTU_SOUTH_AFRICA),
  18782. Flang: [8]int8{'s', 't'},
  18783. },
  18784. 239: {
  18785. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18786. Flanguage_id: uint16(m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA),
  18787. Flang: [8]int8{'t', 's'},
  18788. },
  18789. 240: {
  18790. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18791. Flanguage_id: uint16(m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA),
  18792. Flang: [8]int8{'t', 'n'},
  18793. },
  18794. 241: {
  18795. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18796. Flanguage_id: uint16(m_TT_MS_LANGID_VENDA_SOUTH_AFRICA),
  18797. Flang: [8]int8{'v', 'e', 'n'},
  18798. },
  18799. 242: {
  18800. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18801. Flanguage_id: uint16(m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA),
  18802. Flang: [8]int8{'x', 'h'},
  18803. },
  18804. 243: {
  18805. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18806. Flanguage_id: uint16(m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA),
  18807. Flang: [8]int8{'z', 'u'},
  18808. },
  18809. 244: {
  18810. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18811. Flanguage_id: uint16(m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA),
  18812. Flang: [8]int8{'a', 'f'},
  18813. },
  18814. 245: {
  18815. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18816. Flanguage_id: uint16(m_TT_MS_LANGID_GEORGIAN_GEORGIA),
  18817. Flang: [8]int8{'k', 'a'},
  18818. },
  18819. 246: {
  18820. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18821. Flanguage_id: uint16(m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS),
  18822. Flang: [8]int8{'f', 'o'},
  18823. },
  18824. 247: {
  18825. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18826. Flanguage_id: uint16(m_TT_MS_LANGID_HINDI_INDIA),
  18827. Flang: [8]int8{'h', 'i'},
  18828. },
  18829. 248: {
  18830. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18831. Flanguage_id: uint16(m_TT_MS_LANGID_MALTESE_MALTA),
  18832. Flang: [8]int8{'m', 't'},
  18833. },
  18834. 249: {
  18835. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18836. Flanguage_id: uint16(m_TT_MS_LANGID_SAAMI_LAPONIA),
  18837. Flang: [8]int8{'s', 'e'},
  18838. },
  18839. 250: {
  18840. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18841. Flanguage_id: uint16(m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM),
  18842. Flang: [8]int8{'g', 'd'},
  18843. },
  18844. 251: {
  18845. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18846. Flanguage_id: uint16(m_TT_MS_LANGID_IRISH_GAELIC_IRELAND),
  18847. Flang: [8]int8{'g', 'a'},
  18848. },
  18849. 252: {
  18850. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18851. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_MALAYSIA),
  18852. Flang: [8]int8{'m', 's'},
  18853. },
  18854. 253: {
  18855. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18856. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM),
  18857. Flang: [8]int8{'m', 's'},
  18858. },
  18859. 254: {
  18860. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18861. Flanguage_id: uint16(m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN),
  18862. Flang: [8]int8{'k', 'k'},
  18863. },
  18864. 255: {
  18865. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18866. Flanguage_id: uint16(m_TT_MS_LANGID_KISWAHILI_KENYA),
  18867. Flang: [8]int8{'s', 'w'},
  18868. },
  18869. 256: {
  18870. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18871. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN),
  18872. Flang: [8]int8{'u', 'z'},
  18873. },
  18874. 257: {
  18875. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18876. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC),
  18877. Flang: [8]int8{'u', 'z'},
  18878. },
  18879. 258: {
  18880. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18881. Flanguage_id: uint16(m_TT_MS_LANGID_TATAR_RUSSIA),
  18882. Flang: [8]int8{'t', 't'},
  18883. },
  18884. 259: {
  18885. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18886. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_INDIA),
  18887. Flang: [8]int8{'b', 'n'},
  18888. },
  18889. 260: {
  18890. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18891. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_INDIA),
  18892. Flang: [8]int8{'p', 'a'},
  18893. },
  18894. 261: {
  18895. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18896. Flanguage_id: uint16(m_TT_MS_LANGID_GUJARATI_INDIA),
  18897. Flang: [8]int8{'g', 'u'},
  18898. },
  18899. 262: {
  18900. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18901. Flanguage_id: uint16(m_TT_MS_LANGID_ODIA_INDIA),
  18902. Flang: [8]int8{'o', 'r'},
  18903. },
  18904. 263: {
  18905. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18906. Flanguage_id: uint16(m_TT_MS_LANGID_TAMIL_INDIA),
  18907. Flang: [8]int8{'t', 'a'},
  18908. },
  18909. 264: {
  18910. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18911. Flanguage_id: uint16(m_TT_MS_LANGID_TELUGU_INDIA),
  18912. Flang: [8]int8{'t', 'e'},
  18913. },
  18914. 265: {
  18915. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18916. Flanguage_id: uint16(m_TT_MS_LANGID_KANNADA_INDIA),
  18917. Flang: [8]int8{'k', 'n'},
  18918. },
  18919. 266: {
  18920. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18921. Flanguage_id: uint16(m_TT_MS_LANGID_MALAYALAM_INDIA),
  18922. Flang: [8]int8{'m', 'l'},
  18923. },
  18924. 267: {
  18925. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18926. Flanguage_id: uint16(m_TT_MS_LANGID_ASSAMESE_INDIA),
  18927. Flang: [8]int8{'a', 's'},
  18928. },
  18929. 268: {
  18930. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18931. Flanguage_id: uint16(m_TT_MS_LANGID_MARATHI_INDIA),
  18932. Flang: [8]int8{'m', 'r'},
  18933. },
  18934. 269: {
  18935. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18936. Flanguage_id: uint16(m_TT_MS_LANGID_SANSKRIT_INDIA),
  18937. Flang: [8]int8{'s', 'a'},
  18938. },
  18939. 270: {
  18940. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18941. Flanguage_id: uint16(m_TT_MS_LANGID_KONKANI_INDIA),
  18942. Flang: [8]int8{'k', 'o', 'k'},
  18943. },
  18944. 271: {
  18945. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18946. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_GENERAL),
  18947. Flang: [8]int8{'a', 'r'},
  18948. },
  18949. 272: {
  18950. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18951. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_GENERAL),
  18952. Flang: [8]int8{'z', 'h'},
  18953. },
  18954. 273: {
  18955. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18956. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_GENERAL),
  18957. Flang: [8]int8{'e', 'n'},
  18958. },
  18959. 274: {
  18960. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18961. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_WEST_INDIES),
  18962. Flang: [8]int8{'f', 'r'},
  18963. },
  18964. 275: {
  18965. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18966. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_REUNION),
  18967. Flang: [8]int8{'f', 'r'},
  18968. },
  18969. 276: {
  18970. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18971. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CONGO),
  18972. Flang: [8]int8{'f', 'r'},
  18973. },
  18974. 277: {
  18975. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18976. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SENEGAL),
  18977. Flang: [8]int8{'f', 'r'},
  18978. },
  18979. 278: {
  18980. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18981. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CAMEROON),
  18982. Flang: [8]int8{'f', 'r'},
  18983. },
  18984. 279: {
  18985. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18986. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE),
  18987. Flang: [8]int8{'f', 'r'},
  18988. },
  18989. 280: {
  18990. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18991. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MALI),
  18992. Flang: [8]int8{'f', 'r'},
  18993. },
  18994. 281: {
  18995. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18996. Flanguage_id: uint16(m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA),
  18997. Flang: [8]int8{'b', 's'},
  18998. },
  18999. 282: {
  19000. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19001. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_INDIA),
  19002. Flang: [8]int8{'u', 'r'},
  19003. },
  19004. 283: {
  19005. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19006. Flanguage_id: uint16(m_TT_MS_LANGID_TAJIK_TAJIKISTAN),
  19007. Flang: [8]int8{'t', 'g'},
  19008. },
  19009. 284: {
  19010. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19011. Flanguage_id: uint16(m_TT_MS_LANGID_YIDDISH_GERMANY),
  19012. Flang: [8]int8{'y', 'i'},
  19013. },
  19014. 285: {
  19015. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19016. Flanguage_id: uint16(m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN),
  19017. Flang: [8]int8{'k', 'y'},
  19018. },
  19019. 286: {
  19020. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19021. Flanguage_id: uint16(m_TT_MS_LANGID_TURKMEN_TURKMENISTAN),
  19022. Flang: [8]int8{'t', 'k'},
  19023. },
  19024. 287: {
  19025. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19026. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_MONGOLIA),
  19027. Flang: [8]int8{'m', 'n'},
  19028. },
  19029. 288: {
  19030. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19031. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  19032. Flang: [8]int8{'b', 'o'},
  19033. },
  19034. 289: {
  19035. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19036. Flanguage_id: uint16(m_TT_MS_LANGID_TIBETAN_PRC),
  19037. Flang: [8]int8{'b', 'o'},
  19038. },
  19039. 290: {
  19040. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19041. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  19042. Flang: [8]int8{'d', 'z'},
  19043. },
  19044. 291: {
  19045. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19046. Flanguage_id: uint16(m_TT_MS_LANGID_WELSH_UNITED_KINGDOM),
  19047. Flang: [8]int8{'c', 'y'},
  19048. },
  19049. 292: {
  19050. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19051. Flanguage_id: uint16(m_TT_MS_LANGID_KHMER_CAMBODIA),
  19052. Flang: [8]int8{'k', 'm'},
  19053. },
  19054. 293: {
  19055. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19056. Flanguage_id: uint16(m_TT_MS_LANGID_LAO_LAOS),
  19057. Flang: [8]int8{'l', 'o'},
  19058. },
  19059. 294: {
  19060. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19061. Flanguage_id: uint16(m_TT_MS_LANGID_BURMESE_MYANMAR),
  19062. Flang: [8]int8{'m', 'y'},
  19063. },
  19064. 295: {
  19065. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19066. Flanguage_id: uint16(m_TT_MS_LANGID_GALICIAN_GALICIAN),
  19067. Flang: [8]int8{'g', 'l'},
  19068. },
  19069. 296: {
  19070. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19071. Flanguage_id: uint16(m_TT_MS_LANGID_MANIPURI_INDIA),
  19072. Flang: [8]int8{'m', 'n', 'i'},
  19073. },
  19074. 297: {
  19075. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19076. Flanguage_id: uint16(m_TT_MS_LANGID_SINDHI_INDIA),
  19077. Flang: [8]int8{'s', 'd'},
  19078. },
  19079. 298: {
  19080. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19081. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_PAKISTAN),
  19082. Flang: [8]int8{'k', 's'},
  19083. },
  19084. 299: {
  19085. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19086. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_SASIA),
  19087. Flang: [8]int8{'k', 's'},
  19088. },
  19089. 300: {
  19090. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19091. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_NEPAL),
  19092. Flang: [8]int8{'n', 'e'},
  19093. },
  19094. 301: {
  19095. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19096. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_INDIA),
  19097. Flang: [8]int8{'n', 'e'},
  19098. },
  19099. 302: {
  19100. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19101. Flanguage_id: uint16(m_TT_MS_LANGID_FRISIAN_NETHERLANDS),
  19102. Flang: [8]int8{'f', 'y'},
  19103. },
  19104. 303: {
  19105. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19106. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_HONG_KONG),
  19107. Flang: [8]int8{'e', 'n'},
  19108. },
  19109. 304: {
  19110. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19111. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_INDIA),
  19112. Flang: [8]int8{'e', 'n'},
  19113. },
  19114. 305: {
  19115. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19116. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_MALAYSIA),
  19117. Flang: [8]int8{'e', 'n'},
  19118. },
  19119. 306: {
  19120. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19121. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SINGAPORE),
  19122. Flang: [8]int8{'e', 'n'},
  19123. },
  19124. 307: {
  19125. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19126. Flanguage_id: uint16(m_TT_MS_LANGID_SYRIAC_SYRIA),
  19127. Flang: [8]int8{'s', 'y', 'r'},
  19128. },
  19129. 308: {
  19130. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19131. Flanguage_id: uint16(m_TT_MS_LANGID_SINHALA_SRI_LANKA),
  19132. Flang: [8]int8{'s', 'i'},
  19133. },
  19134. 309: {
  19135. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19136. Flanguage_id: uint16(m_TT_MS_LANGID_CHEROKEE_UNITED_STATES),
  19137. Flang: [8]int8{'c', 'h', 'r'},
  19138. },
  19139. 310: {
  19140. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19141. Flanguage_id: uint16(m_TT_MS_LANGID_INUKTITUT_CANADA),
  19142. Flang: [8]int8{'i', 'u'},
  19143. },
  19144. 311: {
  19145. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19146. Flanguage_id: uint16(m_TT_MS_LANGID_AMHARIC_ETHIOPIA),
  19147. Flang: [8]int8{'a', 'm'},
  19148. },
  19149. 312: {
  19150. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19151. Flanguage_id: uint16(m_TT_MS_LANGID_PASHTO_AFGHANISTAN),
  19152. Flang: [8]int8{'p', 's'},
  19153. },
  19154. 313: {
  19155. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19156. Flanguage_id: uint16(m_TT_MS_LANGID_FILIPINO_PHILIPPINES),
  19157. Flang: [8]int8{'p', 'h', 'i'},
  19158. },
  19159. 314: {
  19160. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19161. Flanguage_id: uint16(m_TT_MS_LANGID_DHIVEHI_MALDIVES),
  19162. Flang: [8]int8{'d', 'i', 'v'},
  19163. },
  19164. 315: {
  19165. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19166. Flanguage_id: uint16(m_TT_MS_LANGID_OROMO_ETHIOPIA),
  19167. Flang: [8]int8{'o', 'm'},
  19168. },
  19169. 316: {
  19170. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19171. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA),
  19172. Flang: [8]int8{'t', 'i'},
  19173. },
  19174. 317: {
  19175. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19176. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ERYTHREA),
  19177. Flang: [8]int8{'t', 'i'},
  19178. },
  19179. 318: {
  19180. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19181. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_UNITED_STATES),
  19182. Flang: [8]int8{'e', 's'},
  19183. },
  19184. 319: {
  19185. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19186. Flanguage_id: uint16(0xE40A),
  19187. Flang: [8]int8{'e', 's'},
  19188. },
  19189. 320: {
  19190. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19191. Flanguage_id: uint16(0xE40C),
  19192. Flang: [8]int8{'f', 'r'},
  19193. },
  19194. 321: {
  19195. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19196. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MOROCCO),
  19197. Flang: [8]int8{'f', 'r'},
  19198. },
  19199. 322: {
  19200. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19201. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_HAITI),
  19202. Flang: [8]int8{'f', 'r'},
  19203. },
  19204. 323: {
  19205. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19206. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_BANGLADESH),
  19207. Flang: [8]int8{'b', 'n'},
  19208. },
  19209. 324: {
  19210. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19211. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN),
  19212. Flang: [8]int8{'a', 'r'},
  19213. },
  19214. 325: {
  19215. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19216. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_PRC),
  19217. Flang: [8]int8{'m', 'n'},
  19218. },
  19219. 326: {
  19220. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19221. Flanguage_id: uint16(m_TT_MS_LANGID_HAUSA_NIGERIA),
  19222. Flang: [8]int8{'h', 'a'},
  19223. },
  19224. 327: {
  19225. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19226. Flanguage_id: uint16(m_TT_MS_LANGID_YORUBA_NIGERIA),
  19227. Flang: [8]int8{'y', 'o'},
  19228. },
  19229. 328: {
  19230. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19231. Flanguage_id: uint16(m_TT_MS_LANGID_IGBO_NIGERIA),
  19232. Flang: [8]int8{'i', 'b', 'o'},
  19233. },
  19234. 329: {
  19235. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19236. Flanguage_id: uint16(m_TT_MS_LANGID_KANURI_NIGERIA),
  19237. Flang: [8]int8{'k', 'a', 'u'},
  19238. },
  19239. 330: {
  19240. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19241. Flanguage_id: uint16(m_TT_MS_LANGID_GUARANI_PARAGUAY),
  19242. Flang: [8]int8{'g', 'n'},
  19243. },
  19244. 331: {
  19245. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19246. Flanguage_id: uint16(m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES),
  19247. Flang: [8]int8{'h', 'a', 'w'},
  19248. },
  19249. 332: {
  19250. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19251. Flanguage_id: uint16(m_TT_MS_LANGID_LATIN),
  19252. Flang: [8]int8{'l', 'a'},
  19253. },
  19254. 333: {
  19255. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19256. Flanguage_id: uint16(m_TT_MS_LANGID_SOMALI_SOMALIA),
  19257. Flang: [8]int8{'s', 'o'},
  19258. },
  19259. 334: {
  19260. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  19261. Flanguage_id: uint16(m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES),
  19262. Flang: [8]int8{'p', 'a', 'p'},
  19263. },
  19264. }
  19265. type TFcMacRomanFake = struct {
  19266. Flanguage_id TFT_UShort
  19267. Ffromcode [12]int8
  19268. }
  19269. var _fcMacRomanFake = [2]TFcMacRomanFake{
  19270. 0: {
  19271. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  19272. Ffromcode: [12]int8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  19273. },
  19274. 1: {
  19275. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  19276. Ffromcode: [12]int8{'A', 'S', 'C', 'I', 'I'},
  19277. },
  19278. }
  19279. // C documentation
  19280. //
  19281. // /* From http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT */
  19282. var _fcMacRomanNonASCIIToUnicode = [128]TFcChar16{
  19283. 0: uint16(0x00C4),
  19284. 1: uint16(0x00C5),
  19285. 2: uint16(0x00C7),
  19286. 3: uint16(0x00C9),
  19287. 4: uint16(0x00D1),
  19288. 5: uint16(0x00D6),
  19289. 6: uint16(0x00DC),
  19290. 7: uint16(0x00E1),
  19291. 8: uint16(0x00E0),
  19292. 9: uint16(0x00E2),
  19293. 10: uint16(0x00E4),
  19294. 11: uint16(0x00E3),
  19295. 12: uint16(0x00E5),
  19296. 13: uint16(0x00E7),
  19297. 14: uint16(0x00E9),
  19298. 15: uint16(0x00E8),
  19299. 16: uint16(0x00EA),
  19300. 17: uint16(0x00EB),
  19301. 18: uint16(0x00ED),
  19302. 19: uint16(0x00EC),
  19303. 20: uint16(0x00EE),
  19304. 21: uint16(0x00EF),
  19305. 22: uint16(0x00F1),
  19306. 23: uint16(0x00F3),
  19307. 24: uint16(0x00F2),
  19308. 25: uint16(0x00F4),
  19309. 26: uint16(0x00F6),
  19310. 27: uint16(0x00F5),
  19311. 28: uint16(0x00FA),
  19312. 29: uint16(0x00F9),
  19313. 30: uint16(0x00FB),
  19314. 31: uint16(0x00FC),
  19315. 32: uint16(0x2020),
  19316. 33: uint16(0x00B0),
  19317. 34: uint16(0x00A2),
  19318. 35: uint16(0x00A3),
  19319. 36: uint16(0x00A7),
  19320. 37: uint16(0x2022),
  19321. 38: uint16(0x00B6),
  19322. 39: uint16(0x00DF),
  19323. 40: uint16(0x00AE),
  19324. 41: uint16(0x00A9),
  19325. 42: uint16(0x2122),
  19326. 43: uint16(0x00B4),
  19327. 44: uint16(0x00A8),
  19328. 45: uint16(0x2260),
  19329. 46: uint16(0x00C6),
  19330. 47: uint16(0x00D8),
  19331. 48: uint16(0x221E),
  19332. 49: uint16(0x00B1),
  19333. 50: uint16(0x2264),
  19334. 51: uint16(0x2265),
  19335. 52: uint16(0x00A5),
  19336. 53: uint16(0x00B5),
  19337. 54: uint16(0x2202),
  19338. 55: uint16(0x2211),
  19339. 56: uint16(0x220F),
  19340. 57: uint16(0x03C0),
  19341. 58: uint16(0x222B),
  19342. 59: uint16(0x00AA),
  19343. 60: uint16(0x00BA),
  19344. 61: uint16(0x03A9),
  19345. 62: uint16(0x00E6),
  19346. 63: uint16(0x00F8),
  19347. 64: uint16(0x00BF),
  19348. 65: uint16(0x00A1),
  19349. 66: uint16(0x00AC),
  19350. 67: uint16(0x221A),
  19351. 68: uint16(0x0192),
  19352. 69: uint16(0x2248),
  19353. 70: uint16(0x2206),
  19354. 71: uint16(0x00AB),
  19355. 72: uint16(0x00BB),
  19356. 73: uint16(0x2026),
  19357. 74: uint16(0x00A0),
  19358. 75: uint16(0x00C0),
  19359. 76: uint16(0x00C3),
  19360. 77: uint16(0x00D5),
  19361. 78: uint16(0x0152),
  19362. 79: uint16(0x0153),
  19363. 80: uint16(0x2013),
  19364. 81: uint16(0x2014),
  19365. 82: uint16(0x201C),
  19366. 83: uint16(0x201D),
  19367. 84: uint16(0x2018),
  19368. 85: uint16(0x2019),
  19369. 86: uint16(0x00F7),
  19370. 87: uint16(0x25CA),
  19371. 88: uint16(0x00FF),
  19372. 89: uint16(0x0178),
  19373. 90: uint16(0x2044),
  19374. 91: uint16(0x20AC),
  19375. 92: uint16(0x2039),
  19376. 93: uint16(0x203A),
  19377. 94: uint16(0xFB01),
  19378. 95: uint16(0xFB02),
  19379. 96: uint16(0x2021),
  19380. 97: uint16(0x00B7),
  19381. 98: uint16(0x201A),
  19382. 99: uint16(0x201E),
  19383. 100: uint16(0x2030),
  19384. 101: uint16(0x00C2),
  19385. 102: uint16(0x00CA),
  19386. 103: uint16(0x00C1),
  19387. 104: uint16(0x00CB),
  19388. 105: uint16(0x00C8),
  19389. 106: uint16(0x00CD),
  19390. 107: uint16(0x00CE),
  19391. 108: uint16(0x00CF),
  19392. 109: uint16(0x00CC),
  19393. 110: uint16(0x00D3),
  19394. 111: uint16(0x00D4),
  19395. 112: uint16(0xF8FF),
  19396. 113: uint16(0x00D2),
  19397. 114: uint16(0x00DA),
  19398. 115: uint16(0x00DB),
  19399. 116: uint16(0x00D9),
  19400. 117: uint16(0x0131),
  19401. 118: uint16(0x02C6),
  19402. 119: uint16(0x02DC),
  19403. 120: uint16(0x00AF),
  19404. 121: uint16(0x02D8),
  19405. 122: uint16(0x02D9),
  19406. 123: uint16(0x02DA),
  19407. 124: uint16(0x00B8),
  19408. 125: uint16(0x02DD),
  19409. 126: uint16(0x02DB),
  19410. 127: uint16(0x02C7),
  19411. }
  19412. // C documentation
  19413. //
  19414. // /*
  19415. // * A shift-JIS will have many high bits turned on
  19416. // */
  19417. func _FcLooksLikeSJIS(tls *libc.TLS, string1 uintptr, len1 int32) (r TFcBool) {
  19418. var nhigh, nlow, v1 int32
  19419. var v2 uintptr
  19420. _, _, _, _ = nhigh, nlow, v1, v2
  19421. nhigh = 0
  19422. nlow = 0
  19423. for {
  19424. v1 = len1
  19425. len1--
  19426. if !(v1 > 0) {
  19427. break
  19428. }
  19429. v2 = string1
  19430. string1++
  19431. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))&int32(0x80) != 0 {
  19432. nhigh++
  19433. } else {
  19434. nlow++
  19435. }
  19436. }
  19437. /*
  19438. * Heuristic -- if more than 1/3 of the bytes have the high-bit set,
  19439. * this is likely to be SJIS and not ROMAN
  19440. */
  19441. if nhigh*int32(2) > nlow {
  19442. return int32(m_FcTrue)
  19443. }
  19444. return m_FcFalse
  19445. }
  19446. func _FcSfntNameTranscode(tls *libc.TLS, sname uintptr) (r uintptr) {
  19447. bp := tls.Alloc(16)
  19448. defer tls.Free(16)
  19449. var f, i, ilen, olen, olen1, olen2, src_len, src_len1, src_len2, v3 int32
  19450. var fromcode, src, src1, src2, u8, u81, u82, utf8, v4, v5 uintptr
  19451. var ucs41, ucs42 TFcChar32
  19452. var _ /* len at bp+0 */ int32
  19453. var _ /* ucs4 at bp+8 */ TFcChar32
  19454. var _ /* wchar at bp+4 */ int32
  19455. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = f, fromcode, i, ilen, olen, olen1, olen2, src, src1, src2, src_len, src_len1, src_len2, u8, u81, u82, ucs41, ucs42, utf8, v3, v4, v5
  19456. i = 0
  19457. for {
  19458. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16))) {
  19459. break
  19460. }
  19461. if libc.Int32FromUint16(_fcFtEncoding[i].Fplatform_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && (libc.Int32FromUint16(_fcFtEncoding[i].Fencoding_id) == int32(m_TT_ENCODING_DONT_CARE) || libc.Int32FromUint16(_fcFtEncoding[i].Fencoding_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fencoding_id)) {
  19462. break
  19463. }
  19464. goto _1
  19465. _1:
  19466. ;
  19467. i++
  19468. }
  19469. if i == libc.Int32FromUint64(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16)) {
  19470. return uintptr(0)
  19471. }
  19472. fromcode = uintptr(unsafe.Pointer(&_fcFtEncoding)) + uintptr(i)*16 + 4
  19473. /*
  19474. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  19475. * in various ways. Kludge around them.
  19476. */
  19477. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3802) != 0) {
  19478. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) == m_TT_MAC_LANGID_ENGLISH && _FcLooksLikeSJIS(tls, (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1, libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)) != 0 {
  19479. fromcode = __ccgo_ts + 3812
  19480. } else {
  19481. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) >= int32(0x100) {
  19482. fromcode = libc.UintptrFromInt32(0)
  19483. f = 0
  19484. for {
  19485. if !(f < libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(14))) {
  19486. break
  19487. }
  19488. if libc.Int32FromUint16(_fcMacRomanFake[f].Flanguage_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) {
  19489. fromcode = uintptr(unsafe.Pointer(&_fcMacRomanFake)) + uintptr(f)*14 + 2
  19490. break
  19491. }
  19492. goto _2
  19493. _2:
  19494. ;
  19495. f++
  19496. }
  19497. if !(fromcode != 0) {
  19498. return uintptr(0)
  19499. }
  19500. }
  19501. }
  19502. }
  19503. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3817) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3825) != 0) {
  19504. src = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  19505. src_len = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  19506. /*
  19507. * Convert Utf16 to Utf8
  19508. */
  19509. if !(XFcUtf16Len(tls, src, int32(_FcEndianBig), src_len, bp, bp+4) != 0) {
  19510. return uintptr(0)
  19511. }
  19512. /*
  19513. * Allocate plenty of space. Freed below
  19514. */
  19515. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(*(*int32)(unsafe.Pointer(bp))*int32(m_FC_UTF8_MAX_LEN)+int32(1)))
  19516. if !(utf8 != 0) {
  19517. return uintptr(0)
  19518. }
  19519. u8 = utf8
  19520. for {
  19521. v3 = XFcUtf16ToUcs4(tls, src, int32(_FcEndianBig), bp+8, src_len)
  19522. ilen = v3
  19523. if !(v3 > 0) {
  19524. break
  19525. }
  19526. src_len -= ilen
  19527. src += uintptr(ilen)
  19528. olen = XFcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp + 8)), u8)
  19529. u8 += uintptr(olen)
  19530. }
  19531. *(*TFcChar8)(unsafe.Pointer(u8)) = uint8('\000')
  19532. goto done
  19533. }
  19534. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3834) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3840) != 0) {
  19535. src1 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  19536. src_len1 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  19537. /*
  19538. * Convert Latin1 to Utf8. Freed below
  19539. */
  19540. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(src_len1*int32(2)+int32(1)))
  19541. if !(utf8 != 0) {
  19542. return uintptr(0)
  19543. }
  19544. u81 = utf8
  19545. for src_len1 > 0 {
  19546. v4 = src1
  19547. src1++
  19548. ucs41 = uint32(*(*TFcChar8)(unsafe.Pointer(v4)))
  19549. src_len1--
  19550. olen1 = XFcUcs4ToUtf8(tls, ucs41, u81)
  19551. u81 += uintptr(olen1)
  19552. }
  19553. *(*TFcChar8)(unsafe.Pointer(u81)) = uint8('\000')
  19554. goto done
  19555. }
  19556. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3802) != 0) {
  19557. src2 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  19558. src_len2 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  19559. /*
  19560. * Convert Latin1 to Utf8. Freed below
  19561. */
  19562. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(src_len2*int32(3)+int32(1)))
  19563. if !(utf8 != 0) {
  19564. return uintptr(0)
  19565. }
  19566. u82 = utf8
  19567. for src_len2 > 0 {
  19568. v5 = src2
  19569. src2++
  19570. ucs42 = uint32(*(*TFcChar8)(unsafe.Pointer(v5)))
  19571. if ucs42 >= uint32(128) {
  19572. ucs42 = uint32(_fcMacRomanNonASCIIToUnicode[ucs42-uint32(128)])
  19573. }
  19574. src_len2--
  19575. olen2 = XFcUcs4ToUtf8(tls, ucs42, u82)
  19576. u82 += uintptr(olen2)
  19577. }
  19578. *(*TFcChar8)(unsafe.Pointer(u82)) = uint8('\000')
  19579. goto done
  19580. }
  19581. return uintptr(0)
  19582. goto done
  19583. done:
  19584. ;
  19585. if XFcStrCmpIgnoreBlanksAndCase(tls, utf8, __ccgo_ts+110) == 0 {
  19586. libc.Xfree(tls, utf8)
  19587. return uintptr(0)
  19588. }
  19589. return utf8
  19590. }
  19591. func _FcSfntNameLanguage(tls *libc.TLS, sname uintptr) (r uintptr) {
  19592. var i int32
  19593. var language_id, platform_id TFT_UShort
  19594. _, _, _ = i, language_id, platform_id
  19595. platform_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id
  19596. language_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id
  19597. /*
  19598. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  19599. * in various ways. Kludge around them.
  19600. */
  19601. if libc.Int32FromUint16(platform_id) == int32(m_TT_PLATFORM_MACINTOSH) && libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fencoding_id) == m_TT_MAC_ID_ROMAN && _FcLooksLikeSJIS(tls, (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1, libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)) != 0 {
  19602. language_id = uint16(m_TT_MAC_LANGID_JAPANESE)
  19603. }
  19604. i = 0
  19605. for {
  19606. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(4020)/libc.Uint64FromInt64(12))) {
  19607. break
  19608. }
  19609. if libc.Int32FromUint16(_fcFtLanguage[i].Fplatform_id) == libc.Int32FromUint16(platform_id) && (libc.Int32FromUint16(_fcFtLanguage[i].Flanguage_id) == int32(m_TT_LANGUAGE_DONT_CARE) || libc.Int32FromUint16(_fcFtLanguage[i].Flanguage_id) == libc.Int32FromUint16(language_id)) {
  19610. if int32(*(*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4))) == int32('\000') {
  19611. return libc.UintptrFromInt32(0)
  19612. } else {
  19613. return uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4
  19614. }
  19615. }
  19616. goto _1
  19617. _1:
  19618. ;
  19619. i++
  19620. }
  19621. return uintptr(0)
  19622. }
  19623. func _FcNoticeFoundry(tls *libc.TLS, notice uintptr) (r uintptr) {
  19624. var f, n uintptr
  19625. var i int32
  19626. _, _, _ = f, i, n
  19627. if notice != 0 {
  19628. i = 0
  19629. for {
  19630. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(288)/libc.Uint64FromInt64(16))) {
  19631. break
  19632. }
  19633. n = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16))
  19634. f = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16 + 1*8))
  19635. if libc.Xstrstr(tls, notice, n) != 0 {
  19636. return f
  19637. }
  19638. goto _1
  19639. _1:
  19640. ;
  19641. i++
  19642. }
  19643. }
  19644. return uintptr(0)
  19645. }
  19646. type TFcStringConst = struct {
  19647. Fname uintptr
  19648. Fvalue int32
  19649. }
  19650. type T_FcStringConst = TFcStringConst
  19651. func _FcStringIsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  19652. var i int32
  19653. _ = i
  19654. i = 0
  19655. for {
  19656. if !(i < nc) {
  19657. break
  19658. }
  19659. if XFcStrCmpIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) == 0 {
  19660. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  19661. }
  19662. goto _1
  19663. _1:
  19664. ;
  19665. i++
  19666. }
  19667. return -int32(1)
  19668. }
  19669. func _FcStringContainsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  19670. var i int32
  19671. _ = i
  19672. i = 0
  19673. for {
  19674. if !(i < nc) {
  19675. break
  19676. }
  19677. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname))) == int32('<') {
  19678. if XFcStrContainsWord(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname+uintptr(1)) != 0 {
  19679. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  19680. }
  19681. } else {
  19682. if XFcStrContainsIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) != 0 {
  19683. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  19684. }
  19685. }
  19686. goto _1
  19687. _1:
  19688. ;
  19689. i++
  19690. }
  19691. return -int32(1)
  19692. }
  19693. type TFC8 = uintptr
  19694. var _weightConsts = [23]TFcStringConst{
  19695. 0: {
  19696. Fname: __ccgo_ts + 3851,
  19697. },
  19698. 1: {
  19699. Fname: __ccgo_ts + 3856,
  19700. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  19701. },
  19702. 2: {
  19703. Fname: __ccgo_ts + 3867,
  19704. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  19705. },
  19706. 3: {
  19707. Fname: __ccgo_ts + 3878,
  19708. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  19709. },
  19710. 4: {
  19711. Fname: __ccgo_ts + 3888,
  19712. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  19713. },
  19714. 5: {
  19715. Fname: __ccgo_ts + 3898,
  19716. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  19717. },
  19718. 6: {
  19719. Fname: __ccgo_ts + 3904,
  19720. Fvalue: int32(m_FC_WEIGHT_BOOK),
  19721. },
  19722. 7: {
  19723. Fname: __ccgo_ts + 3909,
  19724. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  19725. },
  19726. 8: {
  19727. Fname: __ccgo_ts + 3917,
  19728. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  19729. },
  19730. 9: {
  19731. Fname: __ccgo_ts + 3924,
  19732. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  19733. },
  19734. 10: {
  19735. Fname: __ccgo_ts + 3931,
  19736. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  19737. },
  19738. 11: {
  19739. Fname: __ccgo_ts + 3940,
  19740. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  19741. },
  19742. 12: {
  19743. Fname: __ccgo_ts + 3945,
  19744. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  19745. },
  19746. 13: {
  19747. Fname: __ccgo_ts + 3954,
  19748. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  19749. },
  19750. 14: {
  19751. Fname: __ccgo_ts + 3964,
  19752. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  19753. },
  19754. 15: {
  19755. Fname: __ccgo_ts + 3974,
  19756. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  19757. },
  19758. 16: {
  19759. Fname: __ccgo_ts + 3984,
  19760. Fvalue: int32(m_FC_WEIGHT_BOLD),
  19761. },
  19762. 17: {
  19763. Fname: __ccgo_ts + 3989,
  19764. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  19765. },
  19766. 18: {
  19767. Fname: __ccgo_ts + 4000,
  19768. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  19769. },
  19770. 19: {
  19771. Fname: __ccgo_ts + 4011,
  19772. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  19773. },
  19774. 20: {
  19775. Fname: __ccgo_ts + 4022,
  19776. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  19777. },
  19778. 21: {
  19779. Fname: __ccgo_ts + 4029,
  19780. Fvalue: int32(m_FC_WEIGHT_BLACK),
  19781. },
  19782. 22: {
  19783. Fname: __ccgo_ts + 4035,
  19784. Fvalue: int32(m_FC_WEIGHT_BLACK),
  19785. },
  19786. }
  19787. var _widthConsts = [10]TFcStringConst{
  19788. 0: {
  19789. Fname: __ccgo_ts + 4041,
  19790. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  19791. },
  19792. 1: {
  19793. Fname: __ccgo_ts + 4056,
  19794. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  19795. },
  19796. 2: {
  19797. Fname: __ccgo_ts + 4071,
  19798. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  19799. },
  19800. 3: {
  19801. Fname: __ccgo_ts + 4085,
  19802. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  19803. },
  19804. 4: {
  19805. Fname: __ccgo_ts + 3917,
  19806. Fvalue: int32(m_FC_WIDTH_NORMAL),
  19807. },
  19808. 5: {
  19809. Fname: __ccgo_ts + 4095,
  19810. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  19811. },
  19812. 6: {
  19813. Fname: __ccgo_ts + 4108,
  19814. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  19815. },
  19816. 7: {
  19817. Fname: __ccgo_ts + 4122,
  19818. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  19819. },
  19820. 8: {
  19821. Fname: __ccgo_ts + 4136,
  19822. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  19823. },
  19824. 9: {
  19825. Fname: __ccgo_ts + 4145,
  19826. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  19827. },
  19828. }
  19829. var _slantConsts = [3]TFcStringConst{
  19830. 0: {
  19831. Fname: __ccgo_ts + 4154,
  19832. Fvalue: int32(m_FC_SLANT_ITALIC),
  19833. },
  19834. 1: {
  19835. Fname: __ccgo_ts + 4161,
  19836. Fvalue: int32(m_FC_SLANT_ITALIC),
  19837. },
  19838. 2: {
  19839. Fname: __ccgo_ts + 4168,
  19840. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  19841. },
  19842. }
  19843. var _decorativeConsts = [6]TFcStringConst{
  19844. 0: {
  19845. Fname: __ccgo_ts + 4176,
  19846. Fvalue: int32(m_FcTrue),
  19847. },
  19848. 1: {
  19849. Fname: __ccgo_ts + 4183,
  19850. Fvalue: int32(m_FcTrue),
  19851. },
  19852. 2: {
  19853. Fname: __ccgo_ts + 4188,
  19854. Fvalue: int32(m_FcTrue),
  19855. },
  19856. 3: {
  19857. Fname: __ccgo_ts + 4196,
  19858. Fvalue: int32(m_FcTrue),
  19859. },
  19860. 4: {
  19861. Fname: __ccgo_ts + 4204,
  19862. Fvalue: int32(m_FcTrue),
  19863. },
  19864. 5: {
  19865. Fname: __ccgo_ts + 4212,
  19866. Fvalue: int32(m_FcTrue),
  19867. },
  19868. }
  19869. func _FcGetPixelSize(tls *libc.TLS, face TFT_Face, i int32) (r float64) {
  19870. return float64((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*32))).Fy_ppem) / float64(64)
  19871. }
  19872. func _FcStringInPatternElement(tls *libc.TLS, pat uintptr, obj TFcObject, string1 uintptr) (r TFcBool) {
  19873. bp := tls.Alloc(32)
  19874. defer tls.Free(32)
  19875. var l TFcValueListPtr
  19876. var v2 uintptr
  19877. var _ /* iter at bp+0 */ TFcPatternIter
  19878. var _ /* v at bp+16 */ TFcValue
  19879. _, _ = l, v2
  19880. XFcPatternIterStart(tls, pat, bp)
  19881. if !(XFcPatternFindObjectIter(tls, pat, bp, obj) != 0) {
  19882. return m_FcFalse
  19883. }
  19884. l = XFcPatternIterGetValues(tls, pat, bp)
  19885. for {
  19886. if !(l != 0) {
  19887. break
  19888. }
  19889. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  19890. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, l+8)
  19891. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 != int32(_FcTypeString) {
  19892. break
  19893. }
  19894. if !(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp + 16 + 8)), string1) != 0) {
  19895. return int32(m_FcTrue)
  19896. }
  19897. goto _1
  19898. _1:
  19899. ;
  19900. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  19901. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  19902. } else {
  19903. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  19904. }
  19905. l = v2
  19906. }
  19907. return m_FcFalse
  19908. }
  19909. var _platform_order = [4]TFT_UShort{
  19910. 0: uint16(m_TT_PLATFORM_MICROSOFT),
  19911. 2: uint16(m_TT_PLATFORM_MACINTOSH),
  19912. 3: uint16(m_TT_PLATFORM_ISO),
  19913. }
  19914. var _nameid_order = [10]TFT_UShort{
  19915. 0: uint16(m_TT_NAME_ID_WWS_FAMILY),
  19916. 1: uint16(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY),
  19917. 2: uint16(m_TT_NAME_ID_FONT_FAMILY),
  19918. 3: uint16(m_TT_NAME_ID_MAC_FULL_NAME),
  19919. 4: uint16(m_TT_NAME_ID_FULL_NAME),
  19920. 5: uint16(m_TT_NAME_ID_WWS_SUBFAMILY),
  19921. 6: uint16(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY),
  19922. 7: uint16(m_TT_NAME_ID_FONT_SUBFAMILY),
  19923. 8: uint16(m_TT_NAME_ID_TRADEMARK),
  19924. 9: uint16(m_TT_NAME_ID_MANUFACTURER),
  19925. }
  19926. type TFcNameMapping = struct {
  19927. Fplatform_id uint32
  19928. Fname_id uint32
  19929. Fencoding_id uint32
  19930. Flanguage_id uint32
  19931. Fidx uint32
  19932. }
  19933. func __is_english(tls *libc.TLS, platform int32, language int32) (r TFcBool) {
  19934. var ret TFcBool
  19935. _ = ret
  19936. ret = m_FcFalse
  19937. switch platform {
  19938. case int32(m_TT_PLATFORM_MACINTOSH):
  19939. ret = libc.BoolInt32(language == m_TT_MAC_LANGID_ENGLISH)
  19940. case int32(m_TT_PLATFORM_MICROSOFT):
  19941. ret = libc.BoolInt32(language == int32(m_TT_MS_LANGID_ENGLISH_UNITED_STATES))
  19942. break
  19943. }
  19944. return ret
  19945. }
  19946. func _name_mapping_cmp(tls *libc.TLS, pa uintptr, pb uintptr) (r int32) {
  19947. var a, b uintptr
  19948. var v1, v2 int32
  19949. _, _, _, _ = a, b, v1, v2
  19950. a = pa
  19951. b = pb
  19952. if (*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id {
  19953. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id)
  19954. }
  19955. if (*TFcNameMapping)(unsafe.Pointer(a)).Fname_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fname_id {
  19956. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fname_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fname_id)
  19957. }
  19958. if (*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id {
  19959. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id)
  19960. }
  19961. if (*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id != (*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id {
  19962. if __is_english(tls, libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id), libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id)) != 0 {
  19963. v1 = -int32(1)
  19964. } else {
  19965. if __is_english(tls, libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id), libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)) != 0 {
  19966. v2 = int32(1)
  19967. } else {
  19968. v2 = libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)
  19969. }
  19970. v1 = v2
  19971. }
  19972. return v1
  19973. }
  19974. if (*TFcNameMapping)(unsafe.Pointer(a)).Fidx != (*TFcNameMapping)(unsafe.Pointer(b)).Fidx {
  19975. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fidx) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fidx)
  19976. }
  19977. return 0
  19978. }
  19979. func _FcFreeTypeGetFirstName(tls *libc.TLS, face TFT_Face, platform uint32, nameid uint32, mapping uintptr, count uint32, sname uintptr) (r int32) {
  19980. var max, mid, min int32
  19981. _, _, _ = max, mid, min
  19982. min = 0
  19983. max = libc.Int32FromUint32(count) - int32(1)
  19984. for min <= max {
  19985. mid = (min + max) / int32(2)
  19986. if libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid)*20))).Fidx, sname) != 0 {
  19987. return m_FcFalse
  19988. }
  19989. if platform < uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) || platform == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && (nameid < uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) || nameid == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) && (mid != 0 && platform == (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid-int32(1))*20))).Fplatform_id && nameid == (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid-int32(1))*20))).Fname_id)) {
  19990. max = mid - int32(1)
  19991. } else {
  19992. if platform > uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) || platform == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && nameid > uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) {
  19993. min = mid + int32(1)
  19994. } else {
  19995. return mid
  19996. }
  19997. }
  19998. }
  19999. return -int32(1)
  20000. }
  20001. func _FcFreeTypeQueryFaceInternal(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, cs_share uintptr, ls_share uintptr, nm_share uintptr) (r2 uintptr) {
  20002. bp := tls.Alloc(576)
  20003. defer tls.Free(576)
  20004. var bit, has_color, has_outline, i3, i7, lookupid, n1, n2, name_count, nameid, nameidx, platform, slant, spacing, st, v12, v13, v17, v21, v23, v24, v27, v31, v33, v34 int32
  20005. var bits TFT_ULong
  20006. var complex_, cs, end, exclusiveLang, family, foundry, foundry_, head, instance, lang, ls, name_mapping, nlangp, np, os2, p1, pat, pp, r, r1, ss, start, style_regular, tmp, utf8, utf81, v15, v39 uintptr
  20007. var decorative, symbol, variable, variable_size, variable_weight, variable_width TFcBool
  20008. var def_value, default_value, lower_size, max_value, min_value, mult, upper_size, value, weight, weight_mult, width, width_mult, v3 float64
  20009. var ftresult TFT_Error
  20010. var i, i1, i2, i5, i6, n, p, v6, v7, v8, v9 uint32
  20011. var i4, len1, len11, len2 Tsize_t
  20012. var obj, obj1, objlang TFcObject
  20013. var v19, v29 t__darwin_ct_rune_t
  20014. var v20, v30 uint64
  20015. var v36, v40 bool
  20016. var _ /* family at bp+520 */ uintptr
  20017. var _ /* family at bp+88 */ uintptr
  20018. var _ /* familylang at bp+528 */ uintptr
  20019. var _ /* lang at bp+104 */ uintptr
  20020. var _ /* master at bp+0 */ uintptr
  20021. var _ /* nfamily at bp+8 */ int32
  20022. var _ /* nfamily_lang at bp+12 */ int32
  20023. var _ /* nfullname at bp+24 */ int32
  20024. var _ /* nfullname_lang at bp+28 */ int32
  20025. var _ /* nstyle at bp+16 */ int32
  20026. var _ /* nstyle_lang at bp+20 */ int32
  20027. var _ /* psname at bp+264 */ [256]int8
  20028. var _ /* sbuf at bp+112 */ TFcStrBuf
  20029. var _ /* sname at bp+40 */ TFT_SfntName
  20030. var _ /* sname at bp+64 */ TFT_SfntName
  20031. var _ /* style at bp+32 */ uintptr
  20032. var _ /* style at bp+96 */ uintptr
  20033. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bit, bits, complex_, cs, decorative, def_value, default_value, end, exclusiveLang, family, foundry, foundry_, ftresult, has_color, has_outline, head, i, i1, i2, i3, i4, i5, i6, i7, instance, lang, len1, len11, len2, lookupid, lower_size, ls, max_value, min_value, mult, n, n1, n2, name_count, name_mapping, nameid, nameidx, nlangp, np, obj, obj1, objlang, os2, p, p1, pat, platform, pp, r, r1, slant, spacing, ss, st, start, style_regular, symbol, tmp, upper_size, utf8, utf81, value, variable, variable_size, variable_weight, variable_width, weight, weight_mult, width, width_mult, v12, v13, v15, v17, v19, v20, v21, v23, v24, v27, v29, v3, v30, v31, v33, v34, v36, v39, v40, v6, v7, v8, v9
  20034. slant = -int32(1)
  20035. weight = float64(-libc.Int32FromInt32(1))
  20036. width = float64(-libc.Int32FromInt32(1))
  20037. decorative = m_FcFalse
  20038. variable = m_FcFalse
  20039. variable_weight = m_FcFalse
  20040. variable_width = m_FcFalse
  20041. variable_size = m_FcFalse
  20042. name_mapping = libc.UintptrFromInt32(0)
  20043. foundry_ = libc.UintptrFromInt32(0)
  20044. foundry = uintptr(0)
  20045. /* Support for glyph-variation named-instances. */
  20046. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  20047. instance = libc.UintptrFromInt32(0)
  20048. weight_mult = float64(1)
  20049. width_mult = float64(1)
  20050. exclusiveLang = uintptr(0)
  20051. name_count = 0
  20052. *(*int32)(unsafe.Pointer(bp + 8)) = 0
  20053. *(*int32)(unsafe.Pointer(bp + 12)) = 0
  20054. *(*int32)(unsafe.Pointer(bp + 16)) = 0
  20055. *(*int32)(unsafe.Pointer(bp + 20)) = 0
  20056. *(*int32)(unsafe.Pointer(bp + 24)) = 0
  20057. *(*int32)(unsafe.Pointer(bp + 28)) = 0
  20058. *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0)
  20059. symbol = m_FcFalse
  20060. XFcInitDebug(tls) /* We might be called with no initizalization whatsoever. */
  20061. pat = XFcPatternCreate(tls)
  20062. if !(pat != 0) {
  20063. goto bail0
  20064. }
  20065. has_outline = libc.BoolInt32(!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0))
  20066. has_color = 0
  20067. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_OUTLINE_OBJECT), has_outline) != 0) {
  20068. goto bail1
  20069. }
  20070. has_color = libc.BoolInt32(!!!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(14)) != 0))
  20071. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_COLOR_OBJECT), has_color) != 0) {
  20072. goto bail1
  20073. }
  20074. /* All color fonts are designed to be scaled, even if they only have
  20075. * bitmap strikes. Client is responsible to scale the bitmaps. This
  20076. * is in contrast to non-color strikes... */
  20077. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SCALABLE_OBJECT), libc.BoolInt32(has_outline != 0 || has_color != 0)) != 0) {
  20078. goto bail1
  20079. }
  20080. ftresult = libfreetype.XFT_Get_MM_Var(tls, face, bp)
  20081. if id>>int32(16) != 0 {
  20082. if ftresult != 0 {
  20083. goto bail1
  20084. }
  20085. if id>>int32(16) == uint32(0x8000) {
  20086. i = uint32(0)
  20087. for {
  20088. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  20089. break
  20090. }
  20091. min_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fminimum) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  20092. def_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fdef) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  20093. max_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fmaximum) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  20094. obj = int32(_FC_INVALID_OBJECT)
  20095. if min_value > def_value || def_value > max_value || min_value == max_value {
  20096. goto _1
  20097. }
  20098. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Ftag {
  20099. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('g')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('h')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('t'))):
  20100. obj = int32(_FC_WEIGHT_OBJECT)
  20101. min_value = XFcWeightFromOpenTypeDouble(tls, min_value)
  20102. max_value = XFcWeightFromOpenTypeDouble(tls, max_value)
  20103. variable_weight = int32(m_FcTrue)
  20104. weight = libc.Float64FromInt32(0) /* To stop looking for weight. */
  20105. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('d')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('t')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('h'))):
  20106. obj = int32(_FC_WIDTH_OBJECT)
  20107. /* Values in 'wdth' match Fontconfig FC_WIDTH_* scheme directly. */
  20108. variable_width = int32(m_FcTrue)
  20109. width = libc.Float64FromInt32(0) /* To stop looking for width. */
  20110. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  20111. obj = int32(_FC_SIZE_OBJECT)
  20112. /* Values in 'opsz' match Fontconfig FC_SIZE, both are in points. */
  20113. variable_size = int32(m_FcTrue)
  20114. break
  20115. }
  20116. if obj != int32(_FC_INVALID_OBJECT) {
  20117. r = XFcRangeCreateDouble(tls, min_value, max_value)
  20118. if !(XFcPatternObjectAddRange(tls, pat, obj, r) != 0) {
  20119. XFcRangeDestroy(tls, r)
  20120. goto bail1
  20121. }
  20122. XFcRangeDestroy(tls, r)
  20123. variable = int32(m_FcTrue)
  20124. }
  20125. goto _1
  20126. _1:
  20127. ;
  20128. i++
  20129. }
  20130. if !(variable != 0) {
  20131. goto bail1
  20132. }
  20133. id &= uint32(0xFFFF)
  20134. } else {
  20135. if id>>int32(16)-uint32(1) < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_namedstyles {
  20136. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnamedstyle + uintptr(id>>int32(16)-uint32(1))*16
  20137. i1 = uint32(0)
  20138. for {
  20139. if !(i1 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  20140. break
  20141. }
  20142. value = float64(*(*TFT_Fixed)(unsafe.Pointer((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords + uintptr(i1)*8))) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  20143. default_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*48))).Fdef) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  20144. if default_value != 0 {
  20145. v3 = value / default_value
  20146. } else {
  20147. v3 = libc.Float64FromInt32(1)
  20148. }
  20149. mult = v3
  20150. //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
  20151. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*48))).Ftag {
  20152. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('g')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('h')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('t'))):
  20153. weight_mult = mult
  20154. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('d')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('t')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('h'))):
  20155. width_mult = mult
  20156. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  20157. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), value) != 0) {
  20158. goto bail1
  20159. }
  20160. break
  20161. }
  20162. goto _2
  20163. _2:
  20164. ;
  20165. i1++
  20166. }
  20167. } else {
  20168. goto bail1
  20169. }
  20170. }
  20171. } else {
  20172. if !(ftresult != 0) {
  20173. i2 = uint32(0)
  20174. for {
  20175. if !(i2 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  20176. break
  20177. }
  20178. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i2)*48))).Ftag {
  20179. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  20180. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i2)*48))).Fdef)/float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))) != 0) {
  20181. goto bail1
  20182. }
  20183. variable_size = int32(m_FcTrue)
  20184. break
  20185. }
  20186. goto _4
  20187. _4:
  20188. ;
  20189. i2++
  20190. }
  20191. } else {
  20192. /* ignore an error of FT_Get_MM_Var() */
  20193. }
  20194. }
  20195. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_VARIABLE_OBJECT), variable) != 0) {
  20196. goto bail1
  20197. }
  20198. /*
  20199. * Get the OS/2 table
  20200. */
  20201. os2 = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_OS2))
  20202. /*
  20203. * Look first in the OS/2 table for the foundry, if
  20204. * not found here, the various notices will be searched for
  20205. * that information, either from the sfnt name tables or
  20206. * the Postscript FontInfo dictionary. Finally, the
  20207. * BDF properties will queried.
  20208. */
  20209. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  20210. if int32(*(*TFT_Char)(unsafe.Pointer(os2 + 80))) != 0 {
  20211. foundry_ = libc.Xmalloc(tls, libc.Uint64FromInt64(4)+libc.Uint64FromInt32(1))
  20212. libc.X__builtin___memcpy_chk(tls, foundry_, os2+80, uint64(4), ^t__predefined_size_t(0))
  20213. *(*TFcChar8)(unsafe.Pointer(foundry_ + uintptr(4))) = uint8(0)
  20214. foundry = foundry_
  20215. }
  20216. }
  20217. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20218. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  20219. }
  20220. /*
  20221. * Grub through the name table looking for family
  20222. * and style names. FreeType makes quite a hash
  20223. * of them
  20224. */
  20225. name_count = libc.Int32FromUint32(libfreetype.XFT_Get_Sfnt_Name_Count(tls, face))
  20226. if nm_share != 0 {
  20227. name_mapping = *(*uintptr)(unsafe.Pointer(nm_share))
  20228. }
  20229. if !(name_mapping != 0) {
  20230. i3 = 0
  20231. name_mapping = libc.Xmalloc(tls, libc.Uint64FromInt32(name_count)*uint64(20))
  20232. if !(name_mapping != 0) {
  20233. name_count = 0
  20234. }
  20235. i3 = 0
  20236. for {
  20237. if !(i3 < name_count) {
  20238. break
  20239. }
  20240. p1 = name_mapping + uintptr(i3)*20
  20241. if libfreetype.XFT_Get_Sfnt_Name(tls, face, libc.Uint32FromInt32(i3), bp+40) == 0 {
  20242. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 40))).Fplatform_id)
  20243. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 40))).Fname_id)
  20244. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 40))).Fencoding_id)
  20245. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 40))).Flanguage_id)
  20246. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = libc.Uint32FromInt32(i3)
  20247. } else {
  20248. v9 = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  20249. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = v9
  20250. v8 = v9
  20251. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = v8
  20252. v7 = v8
  20253. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = v7
  20254. v6 = v7
  20255. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = v6
  20256. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = v6
  20257. }
  20258. goto _5
  20259. _5:
  20260. ;
  20261. i3++
  20262. }
  20263. libc.Xqsort(tls, name_mapping, libc.Uint64FromInt32(name_count), uint64(20), __ccgo_fp(_name_mapping_cmp))
  20264. if nm_share != 0 {
  20265. *(*uintptr)(unsafe.Pointer(nm_share)) = name_mapping
  20266. }
  20267. }
  20268. p = uint32(0)
  20269. for {
  20270. if !(uint64(p) < libc.Uint64FromInt64(8)/libc.Uint64FromInt64(2)) {
  20271. break
  20272. }
  20273. platform = libc.Int32FromUint16(_platform_order[p])
  20274. /*
  20275. * Order nameids so preferred names appear first
  20276. * in the resulting list
  20277. */
  20278. n = uint32(0)
  20279. for {
  20280. if !(uint64(n) < libc.Uint64FromInt64(20)/libc.Uint64FromInt64(2)) {
  20281. break
  20282. }
  20283. np = uintptr(0)
  20284. nlangp = uintptr(0)
  20285. obj1 = int32(_FC_INVALID_OBJECT)
  20286. objlang = int32(_FC_INVALID_OBJECT)
  20287. v12 = libc.Int32FromUint16(_nameid_order[n])
  20288. lookupid = v12
  20289. nameid = v12
  20290. if instance != 0 {
  20291. /* For named-instances, we skip regular style nameIDs,
  20292. * and treat the instance's nameid as FONT_SUBFAMILY.
  20293. * Postscript name is automatically handled by FreeType. */
  20294. if nameid == int32(m_TT_NAME_ID_WWS_SUBFAMILY) || nameid == int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY) || nameid == int32(m_TT_NAME_ID_FULL_NAME) {
  20295. goto _11
  20296. }
  20297. if nameid == int32(m_TT_NAME_ID_FONT_SUBFAMILY) {
  20298. lookupid = libc.Int32FromUint32((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fstrid)
  20299. }
  20300. }
  20301. nameidx = _FcFreeTypeGetFirstName(tls, face, libc.Uint32FromInt32(platform), libc.Uint32FromInt32(lookupid), name_mapping, libc.Uint32FromInt32(name_count), bp+64)
  20302. if nameidx == -int32(1) {
  20303. goto _11
  20304. }
  20305. for {
  20306. switch nameid {
  20307. case int32(m_TT_NAME_ID_WWS_FAMILY):
  20308. fallthrough
  20309. case int32(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY):
  20310. fallthrough
  20311. case int32(m_TT_NAME_ID_FONT_FAMILY):
  20312. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20313. libc.Xprintf(tls, __ccgo_ts+4220, libc.VaList(bp+544, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Flanguage_id)))
  20314. }
  20315. obj1 = int32(_FC_FAMILY_OBJECT)
  20316. objlang = int32(_FC_FAMILYLANG_OBJECT)
  20317. np = bp + 8
  20318. nlangp = bp + 12
  20319. case int32(m_TT_NAME_ID_MAC_FULL_NAME):
  20320. fallthrough
  20321. case int32(m_TT_NAME_ID_FULL_NAME):
  20322. if variable != 0 {
  20323. break
  20324. }
  20325. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20326. libc.Xprintf(tls, __ccgo_ts+4260, libc.VaList(bp+544, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Flanguage_id)))
  20327. }
  20328. obj1 = int32(_FC_FULLNAME_OBJECT)
  20329. objlang = int32(_FC_FULLNAMELANG_OBJECT)
  20330. np = bp + 24
  20331. nlangp = bp + 28
  20332. case int32(m_TT_NAME_ID_WWS_SUBFAMILY):
  20333. fallthrough
  20334. case int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY):
  20335. fallthrough
  20336. case int32(m_TT_NAME_ID_FONT_SUBFAMILY):
  20337. if variable != 0 {
  20338. break
  20339. }
  20340. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20341. libc.Xprintf(tls, __ccgo_ts+4300, libc.VaList(bp+544, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Flanguage_id)))
  20342. }
  20343. obj1 = int32(_FC_STYLE_OBJECT)
  20344. objlang = int32(_FC_STYLELANG_OBJECT)
  20345. np = bp + 16
  20346. nlangp = bp + 20
  20347. case int32(m_TT_NAME_ID_TRADEMARK):
  20348. fallthrough
  20349. case int32(m_TT_NAME_ID_MANUFACTURER):
  20350. /* If the foundry wasn't found in the OS/2 table, look here */
  20351. if !(foundry != 0) {
  20352. utf8 = _FcSfntNameTranscode(tls, bp+64)
  20353. foundry = _FcNoticeFoundry(tls, utf8)
  20354. libc.Xfree(tls, utf8)
  20355. }
  20356. break
  20357. }
  20358. if obj1 != int32(_FC_INVALID_OBJECT) {
  20359. utf81 = _FcSfntNameTranscode(tls, bp+64)
  20360. lang = _FcSfntNameLanguage(tls, bp+64)
  20361. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20362. if utf81 != 0 {
  20363. v15 = utf81
  20364. } else {
  20365. v15 = __ccgo_ts + 4341
  20366. }
  20367. libc.Xprintf(tls, __ccgo_ts+4348, libc.VaList(bp+544, v15))
  20368. }
  20369. if !(utf81 != 0) {
  20370. goto _14
  20371. }
  20372. /* Trim surrounding whitespace. */
  20373. pp = utf81
  20374. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp))) == int32(' ') {
  20375. pp++
  20376. }
  20377. len1 = libc.Xstrlen(tls, pp)
  20378. libc.X__builtin___memmove_chk(tls, utf81, pp, len1+uint64(1), ^t__predefined_size_t(0))
  20379. pp = utf81 + uintptr(len1)
  20380. for pp > utf81 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp - libc.UintptrFromInt32(1)))) == int32(' ') {
  20381. pp--
  20382. }
  20383. *(*TFcChar8)(unsafe.Pointer(pp)) = uint8(0)
  20384. if _FcStringInPatternElement(tls, pat, obj1, utf81) != 0 {
  20385. libc.Xfree(tls, utf81)
  20386. goto _14
  20387. }
  20388. /* add new element */
  20389. if !(XFcPatternObjectAddString(tls, pat, obj1, utf81) != 0) {
  20390. libc.Xfree(tls, utf81)
  20391. goto bail1
  20392. }
  20393. libc.Xfree(tls, utf81)
  20394. if lang != 0 {
  20395. /* pad lang list with 'und' to line up with elt */
  20396. for *(*int32)(unsafe.Pointer(nlangp)) < *(*int32)(unsafe.Pointer(np)) {
  20397. if !(XFcPatternObjectAddString(tls, pat, objlang, __ccgo_ts+1348) != 0) {
  20398. goto bail1
  20399. }
  20400. *(*int32)(unsafe.Pointer(nlangp))++
  20401. }
  20402. if !(XFcPatternObjectAddString(tls, pat, objlang, lang) != 0) {
  20403. goto bail1
  20404. }
  20405. *(*int32)(unsafe.Pointer(nlangp))++
  20406. }
  20407. *(*int32)(unsafe.Pointer(np))++
  20408. }
  20409. goto _14
  20410. _14:
  20411. ;
  20412. nameidx++
  20413. v13 = nameidx
  20414. if !(v13 < name_count && libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(name_mapping + uintptr(nameidx)*20))).Fidx, bp+64) == 0 && platform == libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fplatform_id) && lookupid == libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fname_id)) {
  20415. break
  20416. }
  20417. }
  20418. goto _11
  20419. _11:
  20420. ;
  20421. n++
  20422. }
  20423. goto _10
  20424. _10:
  20425. ;
  20426. p++
  20427. }
  20428. if !(nm_share != 0) {
  20429. libc.Xfree(tls, name_mapping)
  20430. name_mapping = libc.UintptrFromInt32(0)
  20431. }
  20432. if !(*(*int32)(unsafe.Pointer(bp + 8)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name, __ccgo_ts+110) != 0 {
  20433. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20434. libc.Xprintf(tls, __ccgo_ts+4352, libc.VaList(bp+544, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name))
  20435. }
  20436. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name) != 0) {
  20437. goto bail1
  20438. }
  20439. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2752) != 0) {
  20440. goto bail1
  20441. }
  20442. *(*int32)(unsafe.Pointer(bp + 8))++
  20443. }
  20444. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 16)) != 0) {
  20445. style_regular = __ccgo_ts + 4380
  20446. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name, __ccgo_ts+110) != 0 {
  20447. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20448. libc.Xprintf(tls, __ccgo_ts+4388, libc.VaList(bp+544, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name))
  20449. }
  20450. ss = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name
  20451. } else {
  20452. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20453. libc.Xprintf(tls, __ccgo_ts+4415, 0)
  20454. }
  20455. ss = style_regular
  20456. }
  20457. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLE_OBJECT), ss) != 0) {
  20458. goto bail1
  20459. }
  20460. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLELANG_OBJECT), __ccgo_ts+2752) != 0) {
  20461. goto bail1
  20462. }
  20463. *(*int32)(unsafe.Pointer(bp + 16))++
  20464. }
  20465. if !(*(*int32)(unsafe.Pointer(bp + 8)) != 0) && file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 {
  20466. start = libc.Xstrrchr(tls, file, int32('/'))
  20467. if start != 0 {
  20468. start++
  20469. } else {
  20470. start = file
  20471. }
  20472. end = libc.Xstrrchr(tls, start, int32('.'))
  20473. if !(end != 0) {
  20474. end = start + uintptr(libc.Xstrlen(tls, start))
  20475. }
  20476. /* freed below */
  20477. family = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(end)-int64(start)+int64(1)))
  20478. libc.X__builtin___strncpy_chk(tls, family, start, libc.Uint64FromInt64(int64(end)-int64(start)), ^t__predefined_size_t(0))
  20479. *(*TFcChar8)(unsafe.Pointer(family + uintptr(int64(end)-int64(start)))) = uint8('\000')
  20480. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20481. libc.Xprintf(tls, __ccgo_ts+4447, libc.VaList(bp+544, family))
  20482. }
  20483. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), family) != 0) {
  20484. libc.Xfree(tls, family)
  20485. goto bail1
  20486. }
  20487. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2752) != 0) {
  20488. libc.Xfree(tls, family)
  20489. goto bail1
  20490. }
  20491. libc.Xfree(tls, family)
  20492. *(*int32)(unsafe.Pointer(bp + 8))++
  20493. }
  20494. /* Add the fullname into the cache */
  20495. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 24)) != 0) {
  20496. *(*uintptr)(unsafe.Pointer(bp + 104)) = libc.UintptrFromInt32(0)
  20497. n1 = 0
  20498. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n1, bp+104) == int32(_FcResultMatch) {
  20499. if XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), __ccgo_ts+2752) == 0 {
  20500. break
  20501. }
  20502. n1++
  20503. *(*uintptr)(unsafe.Pointer(bp + 104)) = libc.UintptrFromInt32(0)
  20504. }
  20505. if !(*(*uintptr)(unsafe.Pointer(bp + 104)) != 0) {
  20506. n1 = 0
  20507. }
  20508. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n1, bp+88) != int32(_FcResultMatch) {
  20509. goto bail1
  20510. }
  20511. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 88)))
  20512. i4 = len11
  20513. for {
  20514. if !(i4 > uint64(0)) {
  20515. break
  20516. }
  20517. v19 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + uintptr(i4-uint64(1)))))
  20518. v20 = uint64(0x00004000)
  20519. v24 = libc.BoolInt32(v19 & ^libc.Int32FromInt32(0x7F) == 0)
  20520. goto _25
  20521. _25:
  20522. if v24 != 0 {
  20523. v23 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v19)*4)))&v20 != 0))
  20524. } else {
  20525. v23 = libc.BoolInt32(!!(libc.X__maskrune(tls, v19, v20) != 0))
  20526. }
  20527. v21 = v23
  20528. goto _22
  20529. _22:
  20530. v17 = v21
  20531. goto _18
  20532. _18:
  20533. if !(v17 != 0) {
  20534. break
  20535. }
  20536. goto _16
  20537. _16:
  20538. ;
  20539. i4--
  20540. }
  20541. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + uintptr(i4))) = uint8(0)
  20542. n1 = 0
  20543. for XFcPatternObjectGetString(tls, pat, int32(_FC_STYLELANG_OBJECT), n1, bp+104) == int32(_FcResultMatch) {
  20544. if XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), __ccgo_ts+2752) == 0 {
  20545. break
  20546. }
  20547. n1++
  20548. *(*uintptr)(unsafe.Pointer(bp + 104)) = libc.UintptrFromInt32(0)
  20549. }
  20550. if !(*(*uintptr)(unsafe.Pointer(bp + 104)) != 0) {
  20551. n1 = 0
  20552. }
  20553. if XFcPatternObjectGetString(tls, pat, int32(_FC_STYLE_OBJECT), n1, bp+96) != int32(_FcResultMatch) {
  20554. goto bail1
  20555. }
  20556. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 96)))
  20557. i4 = uint64(0)
  20558. for {
  20559. if v36 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + uintptr(i4)))) != 0; v36 {
  20560. v29 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + uintptr(i4))))
  20561. v30 = uint64(0x00004000)
  20562. v34 = libc.BoolInt32(v29 & ^libc.Int32FromInt32(0x7F) == 0)
  20563. goto _35
  20564. _35:
  20565. if v34 != 0 {
  20566. v33 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v29)*4)))&v30 != 0))
  20567. } else {
  20568. v33 = libc.BoolInt32(!!(libc.X__maskrune(tls, v29, v30) != 0))
  20569. }
  20570. v31 = v33
  20571. goto _32
  20572. _32:
  20573. v27 = v31
  20574. goto _28
  20575. _28:
  20576. }
  20577. if !(v36 && v27 != 0) {
  20578. break
  20579. }
  20580. goto _26
  20581. _26:
  20582. ;
  20583. i4++
  20584. }
  20585. libc.X__builtin___memcpy_chk(tls, *(*uintptr)(unsafe.Pointer(bp + 96)), *(*uintptr)(unsafe.Pointer(bp + 96))+uintptr(i4), len11-i4, ^t__predefined_size_t(0))
  20586. XFcStrBufInit(tls, bp+112, libc.UintptrFromInt32(0), 0)
  20587. XFcStrBufString(tls, bp+112, *(*uintptr)(unsafe.Pointer(bp + 88)))
  20588. XFcStrBufChar(tls, bp+112, uint8(' '))
  20589. XFcStrBufString(tls, bp+112, *(*uintptr)(unsafe.Pointer(bp + 96)))
  20590. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAME_OBJECT), XFcStrBufDoneStatic(tls, bp+112)) != 0) {
  20591. XFcStrBufDestroy(tls, bp+112)
  20592. goto bail1
  20593. }
  20594. XFcStrBufDestroy(tls, bp+112)
  20595. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAMELANG_OBJECT), __ccgo_ts+2752) != 0) {
  20596. goto bail1
  20597. }
  20598. *(*int32)(unsafe.Pointer(bp + 24))++
  20599. }
  20600. /* Add the PostScript name into the cache */
  20601. if !(variable != 0) {
  20602. tmp = libfreetype.XFT_Get_Postscript_Name(tls, face)
  20603. if !(tmp != 0) {
  20604. *(*uintptr)(unsafe.Pointer(bp + 528)) = libc.UintptrFromInt32(0)
  20605. n2 = 0
  20606. /* Workaround when FT_Get_Postscript_Name didn't give any name.
  20607. * try to find out the English family name and convert.
  20608. */
  20609. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n2, bp+528) == int32(_FcResultMatch) {
  20610. if XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 528)), __ccgo_ts+2752) == 0 {
  20611. break
  20612. }
  20613. n2++
  20614. *(*uintptr)(unsafe.Pointer(bp + 528)) = libc.UintptrFromInt32(0)
  20615. }
  20616. if !(*(*uintptr)(unsafe.Pointer(bp + 528)) != 0) {
  20617. n2 = 0
  20618. }
  20619. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n2, bp+520) != int32(_FcResultMatch) {
  20620. goto bail1
  20621. }
  20622. len2 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 520)))
  20623. /* the literal name in PostScript Language is limited to 127 characters though,
  20624. * It is the architectural limit. so assuming 255 characters may works enough.
  20625. */
  20626. i5 = uint32(0)
  20627. for {
  20628. if !(uint64(i5) < len2 && i5 < uint32(255)) {
  20629. break
  20630. }
  20631. if libc.Xstrchr(tls, uintptr(unsafe.Pointer(&_exclusive_chars)), libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 520)) + uintptr(i5))))) != libc.UintptrFromInt32(0) {
  20632. (*(*[256]int8)(unsafe.Pointer(bp + 264)))[i5] = int8('-')
  20633. } else {
  20634. (*(*[256]int8)(unsafe.Pointer(bp + 264)))[i5] = libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 520)) + uintptr(i5))))
  20635. }
  20636. goto _37
  20637. _37:
  20638. ;
  20639. i5++
  20640. }
  20641. (*(*[256]int8)(unsafe.Pointer(bp + 264)))[i5] = 0
  20642. } else {
  20643. libc.X__builtin___strncpy_chk(tls, bp+264, tmp, uint64(255), ^t__predefined_size_t(0))
  20644. (*(*[256]int8)(unsafe.Pointer(bp + 264)))[int32(255)] = 0
  20645. }
  20646. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_POSTSCRIPT_NAME_OBJECT), bp+264) != 0) {
  20647. goto bail1
  20648. }
  20649. }
  20650. if file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 && !(XFcPatternObjectAddString(tls, pat, int32(_FC_FILE_OBJECT), file) != 0) {
  20651. goto bail1
  20652. }
  20653. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_INDEX_OBJECT), libc.Int32FromUint32(id)) != 0) {
  20654. goto bail1
  20655. }
  20656. /*
  20657. * Find the font revision (if available)
  20658. */
  20659. head = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD))
  20660. if head != 0 {
  20661. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), int32((*TTT_Header)(unsafe.Pointer(head)).FFont_Revision)) != 0) {
  20662. goto bail1
  20663. }
  20664. } else {
  20665. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), 0) != 0) {
  20666. goto bail1
  20667. }
  20668. }
  20669. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_ORDER_OBJECT), 0) != 0) {
  20670. goto bail1
  20671. }
  20672. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  20673. i6 = uint32(0)
  20674. for {
  20675. if !(i6 < libc.Uint32FromInt32(libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7)))) {
  20676. break
  20677. }
  20678. if int32(_FcCodePageRange[i6].Fbit) < int32(32) {
  20679. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange1
  20680. bit = int32(_FcCodePageRange[i6].Fbit)
  20681. } else {
  20682. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange2
  20683. bit = int32(_FcCodePageRange[i6].Fbit) - int32(32)
  20684. }
  20685. if bits&uint64(libc.Uint32FromUint32(1)<<bit) != 0 {
  20686. /*
  20687. * If the font advertises support for multiple
  20688. * "exclusive" languages, then include support
  20689. * for any language found to have coverage
  20690. */
  20691. if exclusiveLang != 0 {
  20692. exclusiveLang = uintptr(0)
  20693. break
  20694. }
  20695. exclusiveLang = uintptr(unsafe.Pointer(&_FcCodePageRange)) + uintptr(i6)*7 + 1
  20696. }
  20697. goto _38
  20698. _38:
  20699. ;
  20700. i6++
  20701. }
  20702. }
  20703. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  20704. weight = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass)
  20705. weight = XFcWeightFromOpenTypeDouble(tls, weight*weight_mult)
  20706. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && weight != float64(-libc.Int32FromInt32(1)) {
  20707. libc.Xprintf(tls, __ccgo_ts+4477, libc.VaList(bp+544, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass), weight_mult, weight))
  20708. }
  20709. switch libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass) {
  20710. case int32(1):
  20711. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  20712. case int32(2):
  20713. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  20714. case int32(3):
  20715. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  20716. case int32(4):
  20717. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  20718. case int32(5):
  20719. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  20720. case int32(6):
  20721. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  20722. case int32(7):
  20723. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  20724. case int32(8):
  20725. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  20726. case int32(9):
  20727. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  20728. break
  20729. }
  20730. width *= width_mult
  20731. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && width != float64(-libc.Int32FromInt32(1)) {
  20732. libc.Xprintf(tls, __ccgo_ts+4531, libc.VaList(bp+544, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass), width_mult, width))
  20733. }
  20734. }
  20735. if v40 = os2 != 0; v40 {
  20736. v39 = _FcFontCapabilities(tls, face)
  20737. complex_ = v39
  20738. }
  20739. if v40 && v39 != 0 {
  20740. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_CAPABILITY_OBJECT), complex_) != 0) {
  20741. libc.Xfree(tls, complex_)
  20742. goto bail1
  20743. }
  20744. libc.Xfree(tls, complex_)
  20745. }
  20746. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_FONT_HAS_HINT_OBJECT), _FcFontHasHint(tls, face)) != 0) {
  20747. goto bail1
  20748. }
  20749. if !(variable_size != 0) && os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0005) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  20750. /* usLowerPointSize and usUpperPointSize is actually twips */
  20751. lower_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusLowerOpticalPointSize) / libc.Float64FromFloat64(20)
  20752. upper_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusUpperOpticalPointSize) / libc.Float64FromFloat64(20)
  20753. if lower_size == upper_size {
  20754. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), lower_size) != 0) {
  20755. goto bail1
  20756. }
  20757. } else {
  20758. r1 = XFcRangeCreateDouble(tls, lower_size, upper_size)
  20759. if !(XFcPatternObjectAddRange(tls, pat, int32(_FC_SIZE_OBJECT), r1) != 0) {
  20760. XFcRangeDestroy(tls, r1)
  20761. goto bail1
  20762. }
  20763. XFcRangeDestroy(tls, r1)
  20764. }
  20765. }
  20766. /*
  20767. * Type 1: Check for FontInfo dictionary information
  20768. * Code from g2@magestudios.net (Gerard Escalante)
  20769. */
  20770. /*
  20771. * Look for weight, width and slant names in the style value
  20772. */
  20773. st = 0
  20774. for {
  20775. if !(XFcPatternGetString(tls, pat, __ccgo_ts+4583, st, bp+32) == int32(_FcResultMatch)) {
  20776. break
  20777. }
  20778. if weight == float64(-libc.Int32FromInt32(1)) {
  20779. weight = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(368)/libc.Uint64FromInt64(16))))
  20780. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20781. libc.Xprintf(tls, __ccgo_ts+4589, libc.VaList(bp+544, *(*uintptr)(unsafe.Pointer(bp + 32)), weight))
  20782. }
  20783. }
  20784. if width == float64(-libc.Int32FromInt32(1)) {
  20785. width = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(16))))
  20786. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20787. libc.Xprintf(tls, __ccgo_ts+4618, libc.VaList(bp+544, *(*uintptr)(unsafe.Pointer(bp + 32)), width))
  20788. }
  20789. }
  20790. if slant == -int32(1) {
  20791. slant = _FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), uintptr(unsafe.Pointer(&_slantConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(48)/libc.Uint64FromInt64(16)))
  20792. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20793. libc.Xprintf(tls, __ccgo_ts+4646, libc.VaList(bp+544, *(*uintptr)(unsafe.Pointer(bp + 32)), slant))
  20794. }
  20795. }
  20796. if decorative == m_FcFalse {
  20797. decorative = libc.BoolInt32(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), uintptr(unsafe.Pointer(&_decorativeConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) > 0)
  20798. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20799. libc.Xprintf(tls, __ccgo_ts+4674, libc.VaList(bp+544, *(*uintptr)(unsafe.Pointer(bp + 32)), decorative))
  20800. }
  20801. }
  20802. goto _41
  20803. _41:
  20804. ;
  20805. st++
  20806. }
  20807. /*
  20808. * Pull default values from the FreeType flags if more
  20809. * specific values not found above
  20810. */
  20811. if slant == -int32(1) {
  20812. slant = m_FC_SLANT_ROMAN
  20813. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  20814. slant = int32(m_FC_SLANT_ITALIC)
  20815. }
  20816. }
  20817. if weight == float64(-libc.Int32FromInt32(1)) {
  20818. weight = libc.Float64FromInt32(m_FC_WEIGHT_MEDIUM)
  20819. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  20820. weight = libc.Float64FromInt32(m_FC_WEIGHT_BOLD)
  20821. }
  20822. }
  20823. if width == float64(-libc.Int32FromInt32(1)) {
  20824. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  20825. }
  20826. if foundry == uintptr(0) {
  20827. foundry = __ccgo_ts + 4707
  20828. }
  20829. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SLANT_OBJECT), slant) != 0) {
  20830. goto bail1
  20831. }
  20832. if !(variable_weight != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WEIGHT_OBJECT), weight) != 0) {
  20833. goto bail1
  20834. }
  20835. if !(variable_width != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WIDTH_OBJECT), width) != 0) {
  20836. goto bail1
  20837. }
  20838. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FOUNDRY_OBJECT), foundry) != 0) {
  20839. goto bail1
  20840. }
  20841. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_DECORATIVE_OBJECT), decorative) != 0) {
  20842. goto bail1
  20843. }
  20844. /*
  20845. * Compute the unicode coverage for the font
  20846. */
  20847. if cs_share != 0 && *(*uintptr)(unsafe.Pointer(cs_share)) != 0 {
  20848. cs = XFcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(cs_share)))
  20849. } else {
  20850. cs = XFcFreeTypeCharSet(tls, face, libc.UintptrFromInt32(0))
  20851. if cs_share != 0 {
  20852. *(*uintptr)(unsafe.Pointer(cs_share)) = XFcCharSetCopy(tls, cs)
  20853. }
  20854. }
  20855. if !(cs != 0) {
  20856. goto bail1
  20857. }
  20858. /* The FcFreeTypeCharSet() chose the encoding; test it for symbol. */
  20859. symbol = libc.BoolInt32((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 && (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding == int32(_FT_ENCODING_MS_SYMBOL))
  20860. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SYMBOL_OBJECT), symbol) != 0) {
  20861. goto bail1
  20862. }
  20863. spacing = _FcFreeTypeSpacing(tls, face)
  20864. /*
  20865. * Skip over PCF fonts that have no encoded characters; they're
  20866. * usually just Unicode fonts transcoded to some legacy encoding
  20867. * FT forces us to approximate whether a font is a PCF font
  20868. * or not by whether it has any BDF properties. Try PIXEL_SIZE;
  20869. * I don't know how to get a list of BDF properties on the font. -PL
  20870. */
  20871. if XFcCharSetCount(tls, cs) == uint32(0) {
  20872. }
  20873. if !(XFcPatternObjectAddCharSet(tls, pat, int32(_FC_CHARSET_OBJECT), cs) != 0) {
  20874. goto bail2
  20875. }
  20876. if !(symbol != 0) {
  20877. if ls_share != 0 && *(*uintptr)(unsafe.Pointer(ls_share)) != 0 {
  20878. ls = XFcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(ls_share)))
  20879. } else {
  20880. ls = XFcFreeTypeLangSet(tls, cs, exclusiveLang)
  20881. if ls_share != 0 {
  20882. *(*uintptr)(unsafe.Pointer(ls_share)) = XFcLangSetCopy(tls, ls)
  20883. }
  20884. }
  20885. if !(ls != 0) {
  20886. goto bail2
  20887. }
  20888. } else {
  20889. /* Symbol fonts don't cover any language, even though they
  20890. * claim to support Latin1 range. */
  20891. ls = XFcLangSetCreate(tls)
  20892. }
  20893. if !(XFcPatternObjectAddLangSet(tls, pat, int32(_FC_LANG_OBJECT), ls) != 0) {
  20894. XFcLangSetDestroy(tls, ls)
  20895. goto bail2
  20896. }
  20897. XFcLangSetDestroy(tls, ls)
  20898. if spacing != m_FC_PROPORTIONAL {
  20899. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SPACING_OBJECT), spacing) != 0) {
  20900. goto bail2
  20901. }
  20902. }
  20903. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0) {
  20904. i7 = 0
  20905. for {
  20906. if !(i7 < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  20907. break
  20908. }
  20909. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_PIXEL_SIZE_OBJECT), _FcGetPixelSize(tls, face, i7)) != 0) {
  20910. goto bail2
  20911. }
  20912. goto _42
  20913. _42:
  20914. ;
  20915. i7++
  20916. }
  20917. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_ANTIALIAS_OBJECT), m_FcFalse) != 0) {
  20918. goto bail2
  20919. }
  20920. }
  20921. /*
  20922. * Drop our reference to the charset
  20923. */
  20924. XFcCharSetDestroy(tls, cs)
  20925. if foundry_ != 0 {
  20926. libc.Xfree(tls, foundry_)
  20927. }
  20928. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  20929. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp)))
  20930. }
  20931. return pat
  20932. goto bail2
  20933. bail2:
  20934. ;
  20935. XFcCharSetDestroy(tls, cs)
  20936. goto bail1
  20937. bail1:
  20938. ;
  20939. XFcPatternDestroy(tls, pat)
  20940. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  20941. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp)))
  20942. }
  20943. if !(nm_share != 0) && name_mapping != 0 {
  20944. libc.Xfree(tls, name_mapping)
  20945. }
  20946. if foundry_ != 0 {
  20947. libc.Xfree(tls, foundry_)
  20948. }
  20949. goto bail0
  20950. bail0:
  20951. ;
  20952. return libc.UintptrFromInt32(0)
  20953. return r2
  20954. }
  20955. /* those characters are not allowed to be the literal name in PostScript */
  20956. var _exclusive_chars = [16]int8{4, '(', ')', '/', '<', '>', '[', ']', '{', '}', 9, 12, 13, 10, ' '}
  20957. func XFcFreeTypeQueryFace(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, blanks uintptr) (r uintptr) {
  20958. return _FcFreeTypeQueryFaceInternal(tls, face, file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  20959. }
  20960. func XFcFreeTypeQuery(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr) (r uintptr) {
  20961. bp := tls.Alloc(16)
  20962. defer tls.Free(16)
  20963. var pat uintptr
  20964. var _ /* face at bp+0 */ TFT_Face
  20965. var _ /* ftLibrary at bp+8 */ TFT_Library
  20966. _ = pat
  20967. pat = libc.UintptrFromInt32(0)
  20968. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  20969. return libc.UintptrFromInt32(0)
  20970. }
  20971. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(id&uint32(0x7FFFFFFF)), bp) != 0 {
  20972. goto bail
  20973. }
  20974. if count != 0 {
  20975. *(*int32)(unsafe.Pointer(count)) = int32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  20976. }
  20977. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  20978. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  20979. goto bail
  20980. bail:
  20981. ;
  20982. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  20983. return pat
  20984. }
  20985. func XFcFreeTypeQueryAll(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr, set uintptr) (r uint32) {
  20986. bp := tls.Alloc(48)
  20987. defer tls.Free(48)
  20988. var coords, instance, pat uintptr
  20989. var err int32
  20990. var face_num, i, instance_num, num_faces, num_instances, ret, set_face_num, set_instance_num, v1, v2 uint32
  20991. var index_set, nonzero TFcBool
  20992. var _ /* cs at bp+16 */ uintptr
  20993. var _ /* face at bp+0 */ TFT_Face
  20994. var _ /* ftLibrary at bp+8 */ TFT_Library
  20995. var _ /* ls at bp+24 */ uintptr
  20996. var _ /* mm_var at bp+40 */ uintptr
  20997. var _ /* nm at bp+32 */ uintptr
  20998. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = coords, err, face_num, i, index_set, instance, instance_num, nonzero, num_faces, num_instances, pat, ret, set_face_num, set_instance_num, v1, v2
  20999. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  21000. *(*TFT_Library)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  21001. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  21002. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  21003. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  21004. *(*uintptr)(unsafe.Pointer(bp + 40)) = libc.UintptrFromInt32(0)
  21005. index_set = libc.BoolInt32(id != libc.Uint32FromInt32(-libc.Int32FromInt32(1)))
  21006. if index_set != 0 {
  21007. v1 = id & uint32(0xFFFF)
  21008. } else {
  21009. v1 = uint32(0)
  21010. }
  21011. set_face_num = v1
  21012. if index_set != 0 {
  21013. v2 = id >> int32(16)
  21014. } else {
  21015. v2 = uint32(0)
  21016. }
  21017. set_instance_num = v2
  21018. face_num = set_face_num
  21019. instance_num = set_instance_num
  21020. num_faces = uint32(0)
  21021. num_instances = uint32(0)
  21022. ret = uint32(0)
  21023. err = 0
  21024. if count != 0 {
  21025. *(*int32)(unsafe.Pointer(count)) = 0
  21026. }
  21027. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  21028. return uint32(0)
  21029. }
  21030. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(face_num), bp) != 0 {
  21031. goto bail
  21032. }
  21033. num_faces = libc.Uint32FromInt64((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  21034. num_instances = libc.Uint32FromInt64((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fstyle_flags >> int32(16))
  21035. if num_instances != 0 && (!(index_set != 0) || instance_num != 0) {
  21036. libfreetype.XFT_Get_MM_Var(tls, *(*TFT_Face)(unsafe.Pointer(bp)), bp+40)
  21037. if !(*(*uintptr)(unsafe.Pointer(bp + 40)) != 0) {
  21038. num_instances = uint32(0)
  21039. }
  21040. }
  21041. if count != 0 {
  21042. *(*int32)(unsafe.Pointer(count)) = libc.Int32FromUint32(num_faces)
  21043. }
  21044. for cond := true; cond; cond = !(err != 0) && (!(index_set != 0) || face_num == set_face_num) && face_num < num_faces {
  21045. pat = libc.UintptrFromInt32(0)
  21046. if instance_num == uint32(0x8000) || instance_num > num_instances {
  21047. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), uint32(0), libc.UintptrFromInt32(0))
  21048. } else {
  21049. if instance_num != 0 {
  21050. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnamedstyle + uintptr(instance_num-uint32(1))*16
  21051. coords = (*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords
  21052. /* Skip named-instance that coincides with base instance. */
  21053. nonzero = m_FcFalse
  21054. i = uint32(0)
  21055. for {
  21056. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnum_axis) {
  21057. break
  21058. }
  21059. if *(*TFT_Fixed)(unsafe.Pointer(coords + uintptr(i)*8)) != (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Faxis + uintptr(i)*48))).Fdef {
  21060. nonzero = int32(m_FcTrue)
  21061. break
  21062. }
  21063. goto _3
  21064. _3:
  21065. ;
  21066. i++
  21067. }
  21068. if !(nonzero != 0) {
  21069. goto skip
  21070. }
  21071. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnum_axis, coords)
  21072. }
  21073. }
  21074. id = instance_num<<int32(16) + face_num
  21075. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, bp+16, bp+24, bp+32)
  21076. if pat != 0 {
  21077. ret++
  21078. if !(set != 0) || !(XFcFontSetAdd(tls, set, pat) != 0) {
  21079. XFcPatternDestroy(tls, pat)
  21080. }
  21081. } else {
  21082. if instance_num != uint32(0x8000) {
  21083. err = int32(1)
  21084. }
  21085. }
  21086. goto skip
  21087. skip:
  21088. ;
  21089. if !(index_set != 0) && instance_num < num_instances {
  21090. instance_num++
  21091. } else {
  21092. if !(index_set != 0) && instance_num == num_instances {
  21093. instance_num = uint32(0x8000)
  21094. } else {
  21095. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
  21096. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  21097. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  21098. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  21099. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  21100. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  21101. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  21102. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  21103. face_num++
  21104. instance_num = set_instance_num
  21105. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(face_num), bp) != 0 {
  21106. break
  21107. }
  21108. }
  21109. }
  21110. }
  21111. goto bail
  21112. bail:
  21113. ;
  21114. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 40)))
  21115. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  21116. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  21117. if *(*TFT_Face)(unsafe.Pointer(bp)) != 0 {
  21118. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  21119. }
  21120. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  21121. if *(*uintptr)(unsafe.Pointer(bp + 32)) != 0 {
  21122. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
  21123. }
  21124. return ret
  21125. }
  21126. var _fcFontEncodings = [2]TFT_Encoding{
  21127. 0: int32(_FT_ENCODING_UNICODE),
  21128. 1: int32(_FT_ENCODING_MS_SYMBOL),
  21129. }
  21130. /*
  21131. * Map a UCS4 glyph to a glyph index. Use all available encoding
  21132. * tables to try and find one that works. This information is expected
  21133. * to be cached by higher levels, so performance isn't critical
  21134. */
  21135. func XFcFreeTypeCharIndex(tls *libc.TLS, face TFT_Face, ucs4 TFcChar32) (r TFT_UInt) {
  21136. var decode, initial, offset int32
  21137. var glyphindex TFT_UInt
  21138. _, _, _, _ = decode, glyphindex, initial, offset
  21139. initial = 0
  21140. if !(face != 0) {
  21141. return uint32(0)
  21142. }
  21143. /*
  21144. * Find the current encoding
  21145. */
  21146. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 {
  21147. for {
  21148. if !(initial < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  21149. break
  21150. }
  21151. if _fcFontEncodings[initial] == (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding {
  21152. break
  21153. }
  21154. goto _1
  21155. _1:
  21156. ;
  21157. initial++
  21158. }
  21159. if initial == libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4)) {
  21160. initial = 0
  21161. }
  21162. }
  21163. /*
  21164. * Check each encoding for the glyph, starting with the current one
  21165. */
  21166. offset = 0
  21167. for {
  21168. if !(offset < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  21169. break
  21170. }
  21171. decode = (initial + offset) % libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))
  21172. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0) || (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding != _fcFontEncodings[decode] {
  21173. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[decode]) != 0 {
  21174. goto _2
  21175. }
  21176. }
  21177. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4))
  21178. if glyphindex != 0 {
  21179. return glyphindex
  21180. }
  21181. if ucs4 < uint32(0x100) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 && (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding == int32(_FT_ENCODING_MS_SYMBOL) {
  21182. /* For symbol-encoded OpenType fonts, we duplicate the
  21183. * U+F000..F0FF range at U+0000..U+00FF. That's what
  21184. * Windows seems to do, and that's hinted about at:
  21185. * http://www.microsoft.com/typography/otspec/recom.htm
  21186. * under "Non-Standard (Symbol) Fonts".
  21187. *
  21188. * See thread with subject "Webdings and other MS symbol
  21189. * fonts don't display" on mailing list from May 2015.
  21190. */
  21191. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4)+uint64(0xF000))
  21192. if glyphindex != 0 {
  21193. return glyphindex
  21194. }
  21195. }
  21196. goto _2
  21197. _2:
  21198. ;
  21199. offset++
  21200. }
  21201. return uint32(0)
  21202. }
  21203. func _fc_min(tls *libc.TLS, a int32, b int32) (r int32) {
  21204. var v1 int32
  21205. _ = v1
  21206. if a <= b {
  21207. v1 = a
  21208. } else {
  21209. v1 = b
  21210. }
  21211. return v1
  21212. }
  21213. func _fc_max(tls *libc.TLS, a int32, b int32) (r int32) {
  21214. var v1 int32
  21215. _ = v1
  21216. if a >= b {
  21217. v1 = a
  21218. } else {
  21219. v1 = b
  21220. }
  21221. return v1
  21222. }
  21223. func _fc_approximately_equal(tls *libc.TLS, x int32, y int32) (r TFcBool) {
  21224. return libc.BoolInt32(libc.Xabs(tls, x-y)*int32(33) <= _fc_max(tls, libc.Xabs(tls, x), libc.Xabs(tls, y)))
  21225. }
  21226. func _FcFreeTypeSpacing(tls *libc.TLS, face TFT_Face) (r int32) {
  21227. bp := tls.Alloc(16)
  21228. defer tls.Free(16)
  21229. var advances [3]TFT_Pos
  21230. var i, load_flags, strike_index TFT_Int
  21231. var j, num_advances, v4 uint32
  21232. var o int32
  21233. var ucs4 TFcChar32
  21234. var _ /* advance at bp+8 */ TFT_Pos
  21235. var _ /* glyph at bp+0 */ TFT_UInt
  21236. _, _, _, _, _, _, _, _, _ = advances, i, j, load_flags, num_advances, o, strike_index, ucs4, v4
  21237. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  21238. advances = [3]TFT_Pos{}
  21239. num_advances = uint32(0)
  21240. /* When using scalable fonts, only report those glyphs
  21241. * which can be scaled; otherwise those fonts will
  21242. * only be available at some sizes, and never when
  21243. * transformed. Avoid this by simply reporting bitmap-only
  21244. * glyphs as missing
  21245. */
  21246. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0 {
  21247. load_flags = TFT_Int(int64(load_flags) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(3))
  21248. }
  21249. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes > 0 && libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD)) != 0 {
  21250. strike_index = 0
  21251. /* Select the face closest to 16 pixels tall */
  21252. i = int32(1)
  21253. for {
  21254. if !(i < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  21255. break
  21256. }
  21257. if libc.Xabs(tls, int32((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*32))).Fheight)-int32(16)) < libc.Xabs(tls, int32((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(strike_index)*32))).Fheight)-int32(16)) {
  21258. strike_index = i
  21259. }
  21260. goto _1
  21261. _1:
  21262. ;
  21263. i++
  21264. }
  21265. libfreetype.XFT_Select_Size(tls, face, strike_index)
  21266. }
  21267. o = 0
  21268. for {
  21269. if !(o < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  21270. break
  21271. }
  21272. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  21273. goto _2
  21274. }
  21275. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  21276. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) && num_advances < uint32(3) {
  21277. *(*TFT_Pos)(unsafe.Pointer(bp + 8)) = 0
  21278. if !(libfreetype.XFT_Get_Advance(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags, bp+8) != 0) && *(*TFT_Pos)(unsafe.Pointer(bp + 8)) != 0 {
  21279. j = uint32(0)
  21280. for {
  21281. if !(j < num_advances) {
  21282. break
  21283. }
  21284. if _fc_approximately_equal(tls, int32(*(*TFT_Pos)(unsafe.Pointer(bp + 8))), int32(advances[j])) != 0 {
  21285. break
  21286. }
  21287. goto _3
  21288. _3:
  21289. ;
  21290. j++
  21291. }
  21292. if j == num_advances {
  21293. v4 = num_advances
  21294. num_advances++
  21295. advances[v4] = *(*TFT_Pos)(unsafe.Pointer(bp + 8))
  21296. }
  21297. }
  21298. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  21299. }
  21300. break
  21301. goto _2
  21302. _2:
  21303. ;
  21304. o++
  21305. }
  21306. if num_advances <= uint32(1) {
  21307. return int32(m_FC_MONO)
  21308. } else {
  21309. if num_advances == uint32(2) && _fc_approximately_equal(tls, _fc_min(tls, int32(advances[0]), int32(advances[int32(1)]))*int32(2), _fc_max(tls, int32(advances[0]), int32(advances[int32(1)]))) != 0 {
  21310. return int32(m_FC_DUAL)
  21311. } else {
  21312. return m_FC_PROPORTIONAL
  21313. }
  21314. }
  21315. return r
  21316. }
  21317. func XFcFreeTypeCharSet(tls *libc.TLS, face TFT_Face, blanks uintptr) (r uintptr) {
  21318. bp := tls.Alloc(16)
  21319. defer tls.Free(16)
  21320. var fcs, leaf uintptr
  21321. var good TFcBool
  21322. var load_flags TFT_Int
  21323. var o int32
  21324. var off, page, ucs4 TFcChar32
  21325. var _ /* glyph at bp+0 */ TFT_UInt
  21326. _, _, _, _, _, _, _, _ = fcs, good, leaf, load_flags, o, off, page, ucs4
  21327. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  21328. fcs = XFcCharSetCreate(tls)
  21329. if !(fcs != 0) {
  21330. goto bail
  21331. }
  21332. o = 0
  21333. for {
  21334. if !(o < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  21335. break
  21336. }
  21337. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  21338. goto _1
  21339. }
  21340. page = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  21341. leaf = libc.UintptrFromInt32(0)
  21342. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  21343. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) {
  21344. good = int32(m_FcTrue)
  21345. /* CID fonts built by Adobe used to make ASCII control chars to cid1
  21346. * (space glyph). As such, always check contour for those characters. */
  21347. if ucs4 <= uint32(0x001F) {
  21348. if libfreetype.XFT_Load_Glyph(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags) != 0 || (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Fformat == int32(_FT_GLYPH_FORMAT_OUTLINE) && int32((*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Foutline.Fn_contours) == 0 {
  21349. good = m_FcFalse
  21350. }
  21351. }
  21352. if good != 0 {
  21353. XFcCharSetAddChar(tls, fcs, ucs4)
  21354. if ucs4>>libc.Int32FromInt32(8) != page {
  21355. page = ucs4 >> int32(8)
  21356. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  21357. if !(leaf != 0) {
  21358. goto bail
  21359. }
  21360. }
  21361. off = ucs4 & uint32(0xff)
  21362. *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(off>>int32(5))*4)) |= uint32(1) << (off & uint32(0x1f))
  21363. }
  21364. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  21365. }
  21366. if _fcFontEncodings[o] == int32(_FT_ENCODING_MS_SYMBOL) {
  21367. /* For symbol-encoded OpenType fonts, we duplicate the
  21368. * U+F000..F0FF range at U+0000..U+00FF. That's what
  21369. * Windows seems to do, and that's hinted about at:
  21370. * http://www.microsoft.com/typography/otspec/recom.htm
  21371. * under "Non-Standard (Symbol) Fonts".
  21372. *
  21373. * See thread with subject "Webdings and other MS symbol
  21374. * fonts don't display" on mailing list from May 2015.
  21375. */
  21376. ucs4 = uint32(0xF000)
  21377. for {
  21378. if !(ucs4 < uint32(0xF100)) {
  21379. break
  21380. }
  21381. if XFcCharSetHasChar(tls, fcs, ucs4) != 0 {
  21382. XFcCharSetAddChar(tls, fcs, ucs4-uint32(0xF000))
  21383. }
  21384. goto _2
  21385. _2:
  21386. ;
  21387. ucs4++
  21388. }
  21389. }
  21390. break
  21391. goto _1
  21392. _1:
  21393. ;
  21394. o++
  21395. }
  21396. return fcs
  21397. goto bail
  21398. bail:
  21399. ;
  21400. XFcCharSetDestroy(tls, fcs)
  21401. return uintptr(0)
  21402. }
  21403. func XFcFreeTypeCharSetAndSpacing(tls *libc.TLS, face TFT_Face, blanks uintptr, spacing uintptr) (r uintptr) {
  21404. if spacing != 0 {
  21405. *(*int32)(unsafe.Pointer(spacing)) = _FcFreeTypeSpacing(tls, face)
  21406. }
  21407. return XFcFreeTypeCharSet(tls, face, blanks)
  21408. }
  21409. /* space + head + id */
  21410. /*
  21411. * This is a bit generous; the registry has only lower case and space
  21412. * except for 'DFLT'.
  21413. */
  21414. func _addtag(tls *libc.TLS, complex_ uintptr, tag TFT_ULong) {
  21415. bp := tls.Alloc(16)
  21416. defer tls.Free(16)
  21417. var _ /* tagstring at bp+0 */ [5]TFcChar8
  21418. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0] = uint8(tag >> libc.Int32FromInt32(24))
  21419. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)] = uint8(tag >> libc.Int32FromInt32(16))
  21420. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)] = uint8(tag >> libc.Int32FromInt32(8))
  21421. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)] = uint8(tag)
  21422. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(4)] = uint8('\000')
  21423. /* skip tags which aren't alphanumeric, under the assumption that
  21424. * they're probably broken
  21425. */
  21426. if !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)])) {
  21427. return
  21428. }
  21429. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(complex_))) != int32('\000') {
  21430. libc.X__builtin___strcat_chk(tls, complex_, __ccgo_ts+1952, ^t__predefined_size_t(0))
  21431. }
  21432. libc.X__builtin___strcat_chk(tls, complex_, __ccgo_ts+4715, ^t__predefined_size_t(0))
  21433. libc.X__builtin___strcat_chk(tls, complex_, bp, ^t__predefined_size_t(0))
  21434. }
  21435. func _compareulong(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  21436. var ua, ub uintptr
  21437. _, _ = ua, ub
  21438. ua = a
  21439. ub = b
  21440. return libc.Int32FromUint64(*(*TFT_ULong)(unsafe.Pointer(ua)) - *(*TFT_ULong)(unsafe.Pointer(ub)))
  21441. }
  21442. func _FindTable(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong) (r TFcBool) {
  21443. var error1, v1 TFT_Error
  21444. var stream TFT_Stream
  21445. _, _, _ = error1, stream, v1
  21446. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  21447. if !(stream != 0) {
  21448. return m_FcFalse
  21449. }
  21450. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  21451. error1 = v1
  21452. if v1 != 0 {
  21453. return m_FcFalse
  21454. }
  21455. return int32(m_FcTrue)
  21456. }
  21457. func _GetScriptTags(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong, stags uintptr) (r int32) {
  21458. var base_offset, cur_offset, new_offset TFT_ULong
  21459. var error1, v1 TFT_Error
  21460. var n, p TFT_UShort
  21461. var script_count int32
  21462. var stream TFT_Stream
  21463. _, _, _, _, _, _, _, _, _ = base_offset, cur_offset, error1, n, new_offset, p, script_count, stream, v1
  21464. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  21465. if !(stream != 0) {
  21466. return 0
  21467. }
  21468. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  21469. error1 = v1
  21470. if v1 != 0 {
  21471. return 0
  21472. }
  21473. base_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  21474. /* skip version */
  21475. if Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(base_offset+uint64(4))) != 0 || Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  21476. return 0
  21477. }
  21478. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  21479. new_offset = uint64(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8)|uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))) + base_offset
  21480. Xftglue_stream_frame_exit(tls, stream)
  21481. cur_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  21482. if Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(new_offset)) != int32(_FT_Err_Ok) {
  21483. return 0
  21484. }
  21485. base_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  21486. if Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  21487. return 0
  21488. }
  21489. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  21490. script_count = libc.Int32FromUint16(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1)))))))
  21491. Xftglue_stream_frame_exit(tls, stream)
  21492. *(*uintptr)(unsafe.Pointer(stags)) = libc.Xmalloc(tls, libc.Uint64FromInt32(script_count)*uint64(8))
  21493. if !(*(*uintptr)(unsafe.Pointer(stags)) != 0) {
  21494. return 0
  21495. }
  21496. p = uint16(0)
  21497. n = uint16(0)
  21498. for {
  21499. if !(libc.Int32FromUint16(n) < script_count) {
  21500. break
  21501. }
  21502. if Xftglue_stream_frame_enter(tls, stream, uint64(6)) != 0 {
  21503. goto Fail
  21504. }
  21505. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  21506. *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(stags)) + uintptr(p)*8)) = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  21507. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  21508. new_offset = uint64(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8)|uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))) + base_offset
  21509. Xftglue_stream_frame_exit(tls, stream)
  21510. cur_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  21511. error1 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(new_offset))
  21512. if error1 == int32(_FT_Err_Ok) {
  21513. p++
  21514. }
  21515. Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(cur_offset))
  21516. goto _2
  21517. _2:
  21518. ;
  21519. n++
  21520. }
  21521. if !(p != 0) {
  21522. goto Fail
  21523. }
  21524. /* sort the tag list before returning it */
  21525. libc.Xqsort(tls, *(*uintptr)(unsafe.Pointer(stags)), libc.Uint64FromInt32(script_count), uint64(8), __ccgo_fp(_compareulong))
  21526. return script_count
  21527. goto Fail
  21528. Fail:
  21529. ;
  21530. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(stags)))
  21531. *(*uintptr)(unsafe.Pointer(stags)) = libc.UintptrFromInt32(0)
  21532. return 0
  21533. }
  21534. func _FcFontCapabilities(tls *libc.TLS, face TFT_Face) (r uintptr) {
  21535. bp := tls.Alloc(48)
  21536. defer tls.Free(48)
  21537. var complex_ uintptr
  21538. var err TFT_Error
  21539. var gpos_count, gsub_count TFT_UShort
  21540. var indx1, indx2, v1 int32
  21541. var issilgraphitefont TFcBool
  21542. var maxsize TFT_ULong
  21543. var _ /* gpostags at bp+16 */ uintptr
  21544. var _ /* gsubtags at bp+8 */ uintptr
  21545. var _ /* len at bp+0 */ TFT_ULong
  21546. _, _, _, _, _, _, _, _, _ = complex_, err, gpos_count, gsub_count, indx1, indx2, issilgraphitefont, maxsize, v1
  21547. issilgraphitefont = 0
  21548. *(*TFT_ULong)(unsafe.Pointer(bp)) = uint64(0)
  21549. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  21550. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  21551. gsub_count = uint16(0)
  21552. gpos_count = uint16(0)
  21553. complex_ = libc.UintptrFromInt32(0)
  21554. indx1 = 0
  21555. indx2 = 0
  21556. err = libfreetype.XFT_Load_Sfnt_Table(tls, face, uint64(uint32(libc.Uint64FromUint8('S')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('i')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('l')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('f'))), 0, uintptr(0), bp)
  21557. issilgraphitefont = libc.BoolInt32(err == int32(_FT_Err_Ok))
  21558. gpos_count = libc.Uint16FromInt32(_GetScriptTags(tls, face, uint64(uint32(libc.Uint64FromUint8('G')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('P')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('O')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('S'))), bp+16))
  21559. gsub_count = libc.Uint16FromInt32(_GetScriptTags(tls, face, uint64(uint32(libc.Uint64FromUint8('G')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('S')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('U')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('B'))), bp+8))
  21560. if !(issilgraphitefont != 0) && !(gsub_count != 0) && !(gpos_count != 0) {
  21561. goto bail
  21562. }
  21563. if issilgraphitefont != 0 {
  21564. v1 = int32(13)
  21565. } else {
  21566. v1 = 0
  21567. }
  21568. maxsize = (uint64(gpos_count)+uint64(gsub_count))*libc.Uint64FromInt32(libc.Int32FromInt32(1)+libc.Int32FromInt32(m_OTLAYOUT_HEAD_LEN)+libc.Int32FromInt32(m_OTLAYOUT_ID_LEN)) + libc.Uint64FromInt32(v1)
  21569. complex_ = libc.Xmalloc(tls, uint64(1)*maxsize)
  21570. if !(complex_ != 0) {
  21571. goto bail
  21572. }
  21573. *(*TFcChar8)(unsafe.Pointer(complex_)) = uint8('\000')
  21574. if issilgraphitefont != 0 {
  21575. libc.X__builtin___strcpy_chk(tls, complex_, __ccgo_ts+4725, ^t__predefined_size_t(0))
  21576. }
  21577. for indx1 < libc.Int32FromUint16(gsub_count) || indx2 < libc.Int32FromUint16(gpos_count) {
  21578. if indx1 == libc.Int32FromUint16(gsub_count) {
  21579. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  21580. indx2++
  21581. } else {
  21582. if indx2 == libc.Int32FromUint16(gpos_count) || *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)) < *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)) {
  21583. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  21584. indx1++
  21585. } else {
  21586. if *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)) == *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)) {
  21587. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  21588. indx1++
  21589. indx2++
  21590. } else {
  21591. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  21592. indx2++
  21593. }
  21594. }
  21595. }
  21596. }
  21597. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  21598. libc.Xprintf(tls, __ccgo_ts+4738, libc.VaList(bp+32, complex_))
  21599. }
  21600. goto bail
  21601. bail:
  21602. ;
  21603. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  21604. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  21605. return complex_
  21606. }
  21607. func _FcFontHasHint(tls *libc.TLS, face TFT_Face) (r TFcBool) {
  21608. return _FindTable(tls, face, uint64(uint32(libc.Uint64FromUint8('p')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('r')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('e')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('p'))))
  21609. }
  21610. /*
  21611. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  21612. *
  21613. * @APPLE_LICENSE_HEADER_START@
  21614. *
  21615. * This file contains Original Code and/or Modifications of Original Code
  21616. * as defined in and that are subject to the Apple Public Source License
  21617. * Version 2.0 (the 'License'). You may not use this file except in
  21618. * compliance with the License. Please obtain a copy of the License at
  21619. * http://www.opensource.apple.com/apsl/ and read it before using this
  21620. * file.
  21621. *
  21622. * The Original Code and all software distributed under the License are
  21623. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  21624. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  21625. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  21626. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  21627. * Please see the License for the specific language governing rights and
  21628. * limitations under the License.
  21629. *
  21630. * @APPLE_LICENSE_HEADER_END@
  21631. */
  21632. /*-
  21633. * Copyright (c) 1990, 1993
  21634. * The Regents of the University of California. All rights reserved.
  21635. *
  21636. * Redistribution and use in source and binary forms, with or without
  21637. * modification, are permitted provided that the following conditions
  21638. * are met:
  21639. * 1. Redistributions of source code must retain the above copyright
  21640. * notice, this list of conditions and the following disclaimer.
  21641. * 2. Redistributions in binary form must reproduce the above copyright
  21642. * notice, this list of conditions and the following disclaimer in the
  21643. * documentation and/or other materials provided with the distribution.
  21644. * 3. All advertising materials mentioning features or use of this software
  21645. * must display the following acknowledgement:
  21646. * This product includes software developed by the University of
  21647. * California, Berkeley and its contributors.
  21648. * 4. Neither the name of the University nor the names of its contributors
  21649. * may be used to endorse or promote products derived from this software
  21650. * without specific prior written permission.
  21651. *
  21652. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  21653. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  21654. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21655. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  21656. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  21657. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  21658. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  21659. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  21660. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  21661. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  21662. * SUCH DAMAGE.
  21663. *
  21664. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  21665. */
  21666. /*
  21667. * Copyright (c) 2023 Apple Inc. All rights reserved.
  21668. *
  21669. * @APPLE_LICENSE_HEADER_START@
  21670. *
  21671. * This file contains Original Code and/or Modifications of Original Code
  21672. * as defined in and that are subject to the Apple Public Source License
  21673. * Version 2.0 (the 'License'). You may not use this file except in
  21674. * compliance with the License. Please obtain a copy of the License at
  21675. * http://www.opensource.apple.com/apsl/ and read it before using this
  21676. * file.
  21677. *
  21678. * The Original Code and all software distributed under the License are
  21679. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  21680. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  21681. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  21682. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  21683. * Please see the License for the specific language governing rights and
  21684. * limitations under the License.
  21685. *
  21686. * @APPLE_LICENSE_HEADER_END@
  21687. */
  21688. /*-
  21689. * Copyright (c) 1990, 1993
  21690. * The Regents of the University of California. All rights reserved.
  21691. *
  21692. * Redistribution and use in source and binary forms, with or without
  21693. * modification, are permitted provided that the following conditions
  21694. * are met:
  21695. * 1. Redistributions of source code must retain the above copyright
  21696. * notice, this list of conditions and the following disclaimer.
  21697. * 2. Redistributions in binary form must reproduce the above copyright
  21698. * notice, this list of conditions and the following disclaimer in the
  21699. * documentation and/or other materials provided with the distribution.
  21700. * 3. All advertising materials mentioning features or use of this software
  21701. * must display the following acknowledgement:
  21702. * This product includes software developed by the University of
  21703. * California, Berkeley and its contributors.
  21704. * 4. Neither the name of the University nor the names of its contributors
  21705. * may be used to endorse or promote products derived from this software
  21706. * without specific prior written permission.
  21707. *
  21708. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  21709. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  21710. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21711. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  21712. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  21713. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  21714. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  21715. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  21716. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  21717. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  21718. * SUCH DAMAGE.
  21719. *
  21720. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  21721. */
  21722. func XFcFontSetCreate(tls *libc.TLS) (r uintptr) {
  21723. var s uintptr
  21724. _ = s
  21725. s = libc.Xmalloc(tls, uint64(16))
  21726. if !(s != 0) {
  21727. return uintptr(0)
  21728. }
  21729. (*TFcFontSet)(unsafe.Pointer(s)).Fnfont = 0
  21730. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = 0
  21731. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = uintptr(0)
  21732. return s
  21733. }
  21734. func XFcFontSetDestroy(tls *libc.TLS, s uintptr) {
  21735. var i int32
  21736. _ = i
  21737. i = 0
  21738. for {
  21739. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  21740. break
  21741. }
  21742. XFcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  21743. goto _1
  21744. _1:
  21745. ;
  21746. i++
  21747. }
  21748. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  21749. libc.Xfree(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  21750. }
  21751. libc.Xfree(tls, s)
  21752. }
  21753. func XFcFontSetAdd(tls *libc.TLS, s uintptr, font uintptr) (r TFcBool) {
  21754. var f, v2 uintptr
  21755. var sfont, v1 int32
  21756. _, _, _, _ = f, sfont, v1, v2
  21757. if (*TFcFontSet)(unsafe.Pointer(s)).Fnfont == (*TFcFontSet)(unsafe.Pointer(s)).Fsfont {
  21758. sfont = (*TFcFontSet)(unsafe.Pointer(s)).Fsfont + int32(32)
  21759. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  21760. f = libc.Xrealloc(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Uint64FromInt32(sfont)*uint64(8))
  21761. } else {
  21762. f = libc.Xmalloc(tls, libc.Uint64FromInt32(sfont)*uint64(8))
  21763. }
  21764. if !(f != 0) {
  21765. return m_FcFalse
  21766. }
  21767. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = sfont
  21768. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = f
  21769. }
  21770. v2 = s
  21771. v1 = *(*int32)(unsafe.Pointer(v2))
  21772. *(*int32)(unsafe.Pointer(v2))++
  21773. *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(v1)*8)) = font
  21774. return int32(m_FcTrue)
  21775. }
  21776. func XFcFontSetSerializeAlloc(tls *libc.TLS, serialize uintptr, s uintptr) (r TFcBool) {
  21777. var i int32
  21778. _ = i
  21779. if !(XFcSerializeAlloc(tls, serialize, s, int32(16)) != 0) {
  21780. return m_FcFalse
  21781. }
  21782. if !(XFcSerializeAlloc(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcFontSet)(unsafe.Pointer(s)).Fnfont)*uint64(8))) != 0) {
  21783. return m_FcFalse
  21784. }
  21785. i = 0
  21786. for {
  21787. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  21788. break
  21789. }
  21790. if !(XFcPatternSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8))) != 0) {
  21791. return m_FcFalse
  21792. }
  21793. goto _1
  21794. _1:
  21795. ;
  21796. i++
  21797. }
  21798. return int32(m_FcTrue)
  21799. }
  21800. func XFcFontSetSerialize(tls *libc.TLS, serialize uintptr, s uintptr) (r uintptr) {
  21801. var fonts_serialize, p_serialize, s_serialize uintptr
  21802. var i int32
  21803. _, _, _, _ = fonts_serialize, i, p_serialize, s_serialize
  21804. s_serialize = XFcSerializePtr(tls, serialize, s)
  21805. if !(s_serialize != 0) {
  21806. return libc.UintptrFromInt32(0)
  21807. }
  21808. *(*TFcFontSet)(unsafe.Pointer(s_serialize)) = *(*TFcFontSet)(unsafe.Pointer(s))
  21809. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fsfont = (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fnfont
  21810. fonts_serialize = XFcSerializePtr(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  21811. if !(fonts_serialize != 0) {
  21812. return libc.UintptrFromInt32(0)
  21813. }
  21814. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Ffonts = uintptr(int64(fonts_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  21815. i = 0
  21816. for {
  21817. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  21818. break
  21819. }
  21820. p_serialize = XFcPatternSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  21821. if !(p_serialize != 0) {
  21822. return libc.UintptrFromInt32(0)
  21823. }
  21824. *(*uintptr)(unsafe.Pointer(fonts_serialize + uintptr(i)*8)) = uintptr(int64(p_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  21825. goto _1
  21826. _1:
  21827. ;
  21828. i++
  21829. }
  21830. return s_serialize
  21831. }
  21832. func XFcFontSetDeserialize(tls *libc.TLS, set uintptr) (r uintptr) {
  21833. var i int32
  21834. var new1, v2, v3 uintptr
  21835. _, _, _, _ = i, new1, v2, v3
  21836. new1 = XFcFontSetCreate(tls)
  21837. if !(new1 != 0) {
  21838. return libc.UintptrFromInt32(0)
  21839. }
  21840. i = 0
  21841. for {
  21842. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  21843. break
  21844. }
  21845. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  21846. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  21847. v3 = uintptr(int64(set) + int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  21848. } else {
  21849. v3 = (*TFcFontSet)(unsafe.Pointer(set)).Ffonts
  21850. }
  21851. v2 = uintptr(int64(set) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  21852. } else {
  21853. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  21854. }
  21855. if !(XFcFontSetAdd(tls, new1, XFcPatternDuplicate(tls, v2)) != 0) {
  21856. goto bail
  21857. }
  21858. goto _1
  21859. _1:
  21860. ;
  21861. i++
  21862. }
  21863. return new1
  21864. goto bail
  21865. bail:
  21866. ;
  21867. XFcFontSetDestroy(tls, new1)
  21868. return libc.UintptrFromInt32(0)
  21869. }
  21870. type TFcPtrList = struct {
  21871. Fdestroy_func TFcDestroyFunc
  21872. Flist uintptr
  21873. }
  21874. type T_FcPtrList = TFcPtrList
  21875. type TFcPtrListEntry = struct {
  21876. Fnext uintptr
  21877. Fdata uintptr
  21878. }
  21879. type T_FcPtrListEntry = TFcPtrListEntry
  21880. type TFcPtrListIterPrivate = struct {
  21881. Flist uintptr
  21882. Fentry uintptr
  21883. Fprev uintptr
  21884. }
  21885. type T_FcPtrListIterPrivate = TFcPtrListIterPrivate
  21886. func XFcPtrListCreate(tls *libc.TLS, func1 TFcDestroyFunc) (r uintptr) {
  21887. var ret uintptr
  21888. _ = ret
  21889. ret = libc.Xmalloc(tls, uint64(16))
  21890. if ret != 0 {
  21891. (*TFcPtrList)(unsafe.Pointer(ret)).Fdestroy_func = func1
  21892. (*TFcPtrList)(unsafe.Pointer(ret)).Flist = libc.UintptrFromInt32(0)
  21893. }
  21894. return ret
  21895. }
  21896. func XFcPtrListDestroy(tls *libc.TLS, list uintptr) {
  21897. bp := tls.Alloc(32)
  21898. defer tls.Free(32)
  21899. var _ /* iter at bp+0 */ TFcPtrListIter
  21900. XFcPtrListIterInit(tls, list, bp)
  21901. for cond := true; cond; cond = XFcPtrListIterIsValid(tls, list, bp) != 0 {
  21902. if XFcPtrListIterGetValue(tls, list, bp) != 0 {
  21903. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcPtrList)(unsafe.Pointer(list)).Fdestroy_func})))(tls, XFcPtrListIterGetValue(tls, list, bp))
  21904. }
  21905. XFcPtrListIterRemove(tls, list, bp)
  21906. }
  21907. libc.Xfree(tls, list)
  21908. }
  21909. func XFcPtrListIterInit(tls *libc.TLS, list uintptr, iter uintptr) {
  21910. var priv uintptr
  21911. _ = priv
  21912. priv = iter
  21913. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  21914. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrList)(unsafe.Pointer(list)).Flist
  21915. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = libc.UintptrFromInt32(0)
  21916. }
  21917. func XFcPtrListIterInitAtLast(tls *libc.TLS, list uintptr, iter uintptr) {
  21918. var e, p, priv uintptr
  21919. _, _, _ = e, p, priv
  21920. priv = iter
  21921. e = list + 8
  21922. p = e
  21923. for {
  21924. if !(*(*uintptr)(unsafe.Pointer(e)) != 0) {
  21925. break
  21926. }
  21927. goto _1
  21928. _1:
  21929. ;
  21930. p = e
  21931. e = *(*uintptr)(unsafe.Pointer(e))
  21932. }
  21933. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  21934. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = *(*uintptr)(unsafe.Pointer(e))
  21935. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = *(*uintptr)(unsafe.Pointer(p))
  21936. }
  21937. func XFcPtrListIterNext(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  21938. var priv uintptr
  21939. _ = priv
  21940. priv = iter
  21941. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  21942. return m_FcFalse
  21943. }
  21944. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  21945. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  21946. return libc.BoolInt32((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != libc.UintptrFromInt32(0))
  21947. }
  21948. func XFcPtrListIterIsValid(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  21949. var priv uintptr
  21950. _ = priv
  21951. priv = iter
  21952. return libc.BoolInt32(list == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist && (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0)
  21953. }
  21954. func XFcPtrListIterGetValue(tls *libc.TLS, list uintptr, iter uintptr) (r uintptr) {
  21955. var priv uintptr
  21956. _ = priv
  21957. priv = iter
  21958. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist || !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  21959. return libc.UintptrFromInt32(0)
  21960. }
  21961. return (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fdata
  21962. }
  21963. func XFcPtrListIterAdd(tls *libc.TLS, list uintptr, iter uintptr, data uintptr) (r TFcBool) {
  21964. var e, priv uintptr
  21965. _, _ = e, priv
  21966. priv = iter
  21967. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  21968. return m_FcFalse
  21969. }
  21970. e = libc.Xmalloc(tls, uint64(16))
  21971. if !(e != 0) {
  21972. return m_FcFalse
  21973. }
  21974. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fdata = data
  21975. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0 {
  21976. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  21977. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext = e
  21978. } else {
  21979. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = libc.UintptrFromInt32(0)
  21980. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  21981. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = e
  21982. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev
  21983. } else {
  21984. (*TFcPtrList)(unsafe.Pointer(list)).Flist = e
  21985. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = e
  21986. return int32(m_FcTrue)
  21987. }
  21988. }
  21989. return XFcPtrListIterNext(tls, list, iter)
  21990. }
  21991. func XFcPtrListIterRemove(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  21992. var e, priv uintptr
  21993. _, _ = e, priv
  21994. priv = iter
  21995. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  21996. return m_FcFalse
  21997. }
  21998. if !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  21999. return int32(m_FcTrue)
  22000. }
  22001. if (*TFcPtrList)(unsafe.Pointer(list)).Flist == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry {
  22002. (*TFcPtrList)(unsafe.Pointer(list)).Flist = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrList)(unsafe.Pointer(list)).Flist)).Fnext
  22003. }
  22004. e = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  22005. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  22006. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  22007. }
  22008. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  22009. libc.Xfree(tls, e)
  22010. return int32(m_FcTrue)
  22011. }
  22012. const m_FC_HASH_SIZE = 227
  22013. type TFcHashTable = struct {
  22014. Fbuckets [227]uintptr
  22015. Fhash_func TFcHashFunc
  22016. Fcompare_func TFcCompareFunc
  22017. Fkey_copy_func TFcCopyFunc
  22018. Fvalue_copy_func TFcCopyFunc
  22019. Fkey_destroy_func TFcDestroyFunc
  22020. Fvalue_destroy_func TFcDestroyFunc
  22021. }
  22022. type T_FcHashTable = TFcHashTable
  22023. type TFcHashBucket = struct {
  22024. Fnext uintptr
  22025. Fkey uintptr
  22026. Fvalue uintptr
  22027. }
  22028. type T_FcHashBucket = TFcHashBucket
  22029. func XFcHashStrCopy(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  22030. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  22031. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(dest)) != libc.UintptrFromInt32(0))
  22032. }
  22033. func XFcHashTableCreate(tls *libc.TLS, hash_func TFcHashFunc, compare_func TFcCompareFunc, key_copy_func TFcCopyFunc, value_copy_func TFcCopyFunc, key_destroy_func TFcDestroyFunc, value_destroy_func TFcDestroyFunc) (r uintptr) {
  22034. var ret uintptr
  22035. _ = ret
  22036. ret = libc.Xmalloc(tls, uint64(1864))
  22037. if ret != 0 {
  22038. libc.X__builtin___memset_chk(tls, ret, 0, libc.Uint64FromInt64(8)*libc.Uint64FromInt32(m_FC_HASH_SIZE), ^t__predefined_size_t(0))
  22039. (*TFcHashTable)(unsafe.Pointer(ret)).Fhash_func = hash_func
  22040. (*TFcHashTable)(unsafe.Pointer(ret)).Fcompare_func = compare_func
  22041. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_copy_func = key_copy_func
  22042. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_copy_func = value_copy_func
  22043. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_destroy_func = key_destroy_func
  22044. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_destroy_func = value_destroy_func
  22045. }
  22046. return ret
  22047. }
  22048. func XFcHashTableDestroy(tls *libc.TLS, table uintptr) {
  22049. var bucket, prev uintptr
  22050. var i int32
  22051. _, _, _ = bucket, i, prev
  22052. i = 0
  22053. for {
  22054. if !(i < int32(m_FC_HASH_SIZE)) {
  22055. break
  22056. }
  22057. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8))
  22058. for bucket != 0 {
  22059. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  22060. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  22061. }
  22062. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  22063. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  22064. }
  22065. prev = bucket
  22066. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  22067. libc.Xfree(tls, prev)
  22068. }
  22069. *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  22070. goto _1
  22071. _1:
  22072. ;
  22073. i++
  22074. }
  22075. libc.Xfree(tls, table)
  22076. }
  22077. func XFcHashTableFind(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  22078. var bucket uintptr
  22079. var hash TFcChar32
  22080. _, _ = bucket, hash
  22081. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  22082. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8))
  22083. for {
  22084. if !(bucket != 0) {
  22085. break
  22086. }
  22087. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey, key) != 0) {
  22088. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  22089. if !((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue, value) != 0) {
  22090. return m_FcFalse
  22091. }
  22092. } else {
  22093. *(*uintptr)(unsafe.Pointer(value)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue
  22094. }
  22095. return int32(m_FcTrue)
  22096. }
  22097. goto _1
  22098. _1:
  22099. ;
  22100. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  22101. }
  22102. return m_FcFalse
  22103. }
  22104. func _FcHashTableAddInternal(tls *libc.TLS, table uintptr, key uintptr, value uintptr, replace TFcBool) (r TFcBool) {
  22105. var b, bucket, prev, v3 uintptr
  22106. var hash TFcChar32
  22107. var ret TFcBool
  22108. var v4, v5 int32
  22109. _, _, _, _, _, _, _, _ = b, bucket, hash, prev, ret, v3, v4, v5
  22110. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  22111. ret = m_FcFalse
  22112. bucket = libc.Xmalloc(tls, uint64(24))
  22113. if !(bucket != 0) {
  22114. return m_FcFalse
  22115. }
  22116. libc.X__builtin___memset_chk(tls, bucket, 0, uint64(24), ^t__predefined_size_t(0))
  22117. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func != 0 {
  22118. ret |= libc.BoolInt32(!((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func})))(tls, key, bucket+8) != 0))
  22119. } else {
  22120. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey = key
  22121. }
  22122. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  22123. ret |= libc.BoolInt32(!((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func})))(tls, value, bucket+16) != 0))
  22124. } else {
  22125. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue = value
  22126. }
  22127. if !(ret != 0) {
  22128. goto _1
  22129. }
  22130. goto destroy
  22131. destroy:
  22132. ;
  22133. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  22134. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  22135. }
  22136. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  22137. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  22138. }
  22139. libc.Xfree(tls, bucket)
  22140. return libc.BoolInt32(!(ret != 0))
  22141. _1:
  22142. ;
  22143. goto retry
  22144. retry:
  22145. ;
  22146. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  22147. for {
  22148. v3 = *(*uintptr)(unsafe.Pointer(prev))
  22149. b = v3
  22150. if !(v3 != 0) {
  22151. break
  22152. }
  22153. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(b)).Fkey, key) != 0) {
  22154. if replace != 0 {
  22155. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = (*TFcHashBucket)(unsafe.Pointer(b)).Fnext
  22156. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  22157. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  22158. v4 = libc.Int32FromInt32(m_FcTrue)
  22159. } else {
  22160. v4 = m_FcFalse
  22161. }
  22162. if !(v4 != 0) {
  22163. goto retry
  22164. }
  22165. bucket = b
  22166. } else {
  22167. ret = int32(m_FcTrue)
  22168. }
  22169. goto destroy
  22170. }
  22171. goto _2
  22172. _2:
  22173. ;
  22174. prev = b
  22175. }
  22176. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = libc.UintptrFromInt32(0)
  22177. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  22178. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  22179. v5 = libc.Int32FromInt32(m_FcTrue)
  22180. } else {
  22181. v5 = m_FcFalse
  22182. }
  22183. if !(v5 != 0) {
  22184. goto retry
  22185. }
  22186. return int32(m_FcTrue)
  22187. }
  22188. func XFcHashTableAdd(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  22189. return _FcHashTableAddInternal(tls, table, key, value, m_FcFalse)
  22190. }
  22191. func XFcHashTableReplace(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  22192. return _FcHashTableAddInternal(tls, table, key, value, int32(m_FcTrue))
  22193. }
  22194. func XFcHashTableRemove(tls *libc.TLS, table uintptr, key uintptr) (r TFcBool) {
  22195. var bucket, prev, v2 uintptr
  22196. var hash TFcChar32
  22197. var ret TFcBool
  22198. var v3 int32
  22199. _, _, _, _, _, _ = bucket, hash, prev, ret, v2, v3
  22200. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  22201. ret = m_FcFalse
  22202. goto retry
  22203. retry:
  22204. ;
  22205. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  22206. for {
  22207. v2 = *(*uintptr)(unsafe.Pointer(prev))
  22208. bucket = v2
  22209. if !(v2 != 0) {
  22210. break
  22211. }
  22212. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey, key) != 0) {
  22213. if *(*uintptr)(unsafe.Pointer(prev)) == bucket {
  22214. *(*uintptr)(unsafe.Pointer(prev)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  22215. v3 = libc.Int32FromInt32(m_FcTrue)
  22216. } else {
  22217. v3 = m_FcFalse
  22218. }
  22219. if !(v3 != 0) {
  22220. goto retry
  22221. }
  22222. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  22223. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  22224. }
  22225. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  22226. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  22227. }
  22228. libc.Xfree(tls, bucket)
  22229. ret = int32(m_FcTrue)
  22230. break
  22231. }
  22232. goto _1
  22233. _1:
  22234. ;
  22235. prev = bucket
  22236. }
  22237. return ret
  22238. }
  22239. const m_FC_DIR_SEPARATOR_S3 = "/fontconfig"
  22240. /*
  22241. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  22242. *
  22243. * @APPLE_LICENSE_HEADER_START@
  22244. *
  22245. * This file contains Original Code and/or Modifications of Original Code
  22246. * as defined in and that are subject to the Apple Public Source License
  22247. * Version 2.0 (the 'License'). You may not use this file except in
  22248. * compliance with the License. Please obtain a copy of the License at
  22249. * http://www.opensource.apple.com/apsl/ and read it before using this
  22250. * file.
  22251. *
  22252. * The Original Code and all software distributed under the License are
  22253. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  22254. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  22255. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  22256. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  22257. * Please see the License for the specific language governing rights and
  22258. * limitations under the License.
  22259. *
  22260. * @APPLE_LICENSE_HEADER_END@
  22261. */
  22262. /*-
  22263. * Copyright (c) 1990, 1993
  22264. * The Regents of the University of California. All rights reserved.
  22265. *
  22266. * Redistribution and use in source and binary forms, with or without
  22267. * modification, are permitted provided that the following conditions
  22268. * are met:
  22269. * 1. Redistributions of source code must retain the above copyright
  22270. * notice, this list of conditions and the following disclaimer.
  22271. * 2. Redistributions in binary form must reproduce the above copyright
  22272. * notice, this list of conditions and the following disclaimer in the
  22273. * documentation and/or other materials provided with the distribution.
  22274. * 3. All advertising materials mentioning features or use of this software
  22275. * must display the following acknowledgement:
  22276. * This product includes software developed by the University of
  22277. * California, Berkeley and its contributors.
  22278. * 4. Neither the name of the University nor the names of its contributors
  22279. * may be used to endorse or promote products derived from this software
  22280. * without specific prior written permission.
  22281. *
  22282. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22283. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22284. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  22285. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  22286. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  22287. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  22288. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  22289. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  22290. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  22291. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22292. * SUCH DAMAGE.
  22293. *
  22294. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  22295. */
  22296. /*
  22297. * Copyright (c) 2023 Apple Inc. All rights reserved.
  22298. *
  22299. * @APPLE_LICENSE_HEADER_START@
  22300. *
  22301. * This file contains Original Code and/or Modifications of Original Code
  22302. * as defined in and that are subject to the Apple Public Source License
  22303. * Version 2.0 (the 'License'). You may not use this file except in
  22304. * compliance with the License. Please obtain a copy of the License at
  22305. * http://www.opensource.apple.com/apsl/ and read it before using this
  22306. * file.
  22307. *
  22308. * The Original Code and all software distributed under the License are
  22309. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  22310. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  22311. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  22312. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  22313. * Please see the License for the specific language governing rights and
  22314. * limitations under the License.
  22315. *
  22316. * @APPLE_LICENSE_HEADER_END@
  22317. */
  22318. /*-
  22319. * Copyright (c) 1990, 1993
  22320. * The Regents of the University of California. All rights reserved.
  22321. *
  22322. * Redistribution and use in source and binary forms, with or without
  22323. * modification, are permitted provided that the following conditions
  22324. * are met:
  22325. * 1. Redistributions of source code must retain the above copyright
  22326. * notice, this list of conditions and the following disclaimer.
  22327. * 2. Redistributions in binary form must reproduce the above copyright
  22328. * notice, this list of conditions and the following disclaimer in the
  22329. * documentation and/or other materials provided with the distribution.
  22330. * 3. All advertising materials mentioning features or use of this software
  22331. * must display the following acknowledgement:
  22332. * This product includes software developed by the University of
  22333. * California, Berkeley and its contributors.
  22334. * 4. Neither the name of the University nor the names of its contributors
  22335. * may be used to endorse or promote products derived from this software
  22336. * without specific prior written permission.
  22337. *
  22338. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22339. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22340. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  22341. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  22342. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  22343. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  22344. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  22345. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  22346. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  22347. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22348. * SUCH DAMAGE.
  22349. *
  22350. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  22351. */
  22352. func _FcInitFallbackConfig(tls *libc.TLS, sysroot uintptr) (r uintptr) {
  22353. var config, fallback uintptr
  22354. _, _ = config, fallback
  22355. fallback = __ccgo_ts + 4774
  22356. config = XFcConfigCreate(tls)
  22357. if !(config != 0) {
  22358. goto bail0
  22359. }
  22360. XFcConfigSetSysRoot(tls, config, sysroot)
  22361. if !(XFcConfigParseAndLoadFromMemory(tls, config, fallback, m_FcFalse) != 0) {
  22362. goto bail1
  22363. }
  22364. return config
  22365. goto bail1
  22366. bail1:
  22367. ;
  22368. XFcConfigDestroy(tls, config)
  22369. goto bail0
  22370. bail0:
  22371. ;
  22372. return uintptr(0)
  22373. return r
  22374. }
  22375. func XFcGetVersion(tls *libc.TLS) (r int32) {
  22376. return libc.Int32FromInt32(m_FC_MAJOR)*libc.Int32FromInt32(10000) + libc.Int32FromInt32(m_FC_MINOR)*libc.Int32FromInt32(100) + libc.Int32FromInt32(m_FC_REVISION)
  22377. }
  22378. // C documentation
  22379. //
  22380. // /*
  22381. // * Load the configuration files
  22382. // */
  22383. func XFcInitLoadOwnConfig(tls *libc.TLS, config uintptr) (r uintptr) {
  22384. bp := tls.Alloc(16)
  22385. defer tls.Free(16)
  22386. var env_file, env_path, fallback, fallback1, p, prefix, sysroot, sysroot1 uintptr
  22387. var have_own TFcBool
  22388. var plen Tsize_t
  22389. _, _, _, _, _, _, _, _, _, _ = env_file, env_path, fallback, fallback1, have_own, p, plen, prefix, sysroot, sysroot1
  22390. if !(config != 0) {
  22391. config = XFcConfigCreate(tls)
  22392. if !(config != 0) {
  22393. return libc.UintptrFromInt32(0)
  22394. }
  22395. }
  22396. XFcInitDebug(tls)
  22397. if !(XFcConfigParseAndLoad(tls, config, uintptr(0), int32(m_FcTrue)) != 0) {
  22398. sysroot = XFcConfigGetSysRoot(tls, config)
  22399. fallback = _FcInitFallbackConfig(tls, sysroot)
  22400. XFcConfigDestroy(tls, config)
  22401. return fallback
  22402. }
  22403. XFcConfigParseOnly(tls, config, __ccgo_ts+5341, m_FcFalse)
  22404. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0 && (*TFcStrSet)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)).Fnum == 0) {
  22405. goto _1
  22406. }
  22407. have_own = m_FcFalse
  22408. env_file = libc.Xgetenv(tls, __ccgo_ts+1637)
  22409. env_path = libc.Xgetenv(tls, __ccgo_ts+1487)
  22410. if env_file != libc.UintptrFromInt32(0) && int32(*(*int8)(unsafe.Pointer(env_file))) != 0 || env_path != libc.UintptrFromInt32(0) && int32(*(*int8)(unsafe.Pointer(env_path))) != 0 {
  22411. have_own = int32(m_FcTrue)
  22412. }
  22413. if !(have_own != 0) {
  22414. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5374, 0)
  22415. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5446, libc.VaList(bp+8, __ccgo_ts+5498))
  22416. }
  22417. prefix = XFcConfigXdgCacheHome(tls)
  22418. if !(prefix != 0) {
  22419. goto bail
  22420. }
  22421. plen = libc.Xstrlen(tls, prefix)
  22422. p = libc.Xrealloc(tls, prefix, plen+uint64(12))
  22423. if !(p != 0) {
  22424. goto bail
  22425. }
  22426. prefix = p
  22427. libc.X__builtin___memcpy_chk(tls, prefix+uintptr(plen), __ccgo_ts+5524, uint64(11), ^t__predefined_size_t(0))
  22428. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(11)))) = uint8(0)
  22429. if !(have_own != 0) {
  22430. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5536, 0)
  22431. }
  22432. if !(!(XFcConfigAddCacheDir(tls, config, __ccgo_ts+5498) != 0) || !(XFcConfigAddCacheDir(tls, config, prefix) != 0)) {
  22433. goto _2
  22434. }
  22435. goto bail
  22436. bail:
  22437. ;
  22438. sysroot1 = XFcConfigGetSysRoot(tls, config)
  22439. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5609, 0)
  22440. if prefix != 0 {
  22441. XFcStrFree(tls, prefix)
  22442. }
  22443. fallback1 = _FcInitFallbackConfig(tls, sysroot1)
  22444. XFcConfigDestroy(tls, config)
  22445. return fallback1
  22446. _2:
  22447. ;
  22448. XFcStrFree(tls, prefix)
  22449. _1:
  22450. ;
  22451. return config
  22452. }
  22453. func XFcInitLoadConfig(tls *libc.TLS) (r uintptr) {
  22454. return XFcInitLoadOwnConfig(tls, libc.UintptrFromInt32(0))
  22455. }
  22456. // C documentation
  22457. //
  22458. // /*
  22459. // * Load the configuration files and scan for available fonts
  22460. // */
  22461. func XFcInitLoadOwnConfigAndFonts(tls *libc.TLS, config uintptr) (r uintptr) {
  22462. config = XFcInitLoadOwnConfig(tls, config)
  22463. if !(config != 0) {
  22464. return uintptr(0)
  22465. }
  22466. if !(XFcConfigBuildFonts(tls, config) != 0) {
  22467. XFcConfigDestroy(tls, config)
  22468. return uintptr(0)
  22469. }
  22470. return config
  22471. }
  22472. func XFcInitLoadConfigAndFonts(tls *libc.TLS) (r uintptr) {
  22473. return XFcInitLoadOwnConfigAndFonts(tls, libc.UintptrFromInt32(0))
  22474. }
  22475. // C documentation
  22476. //
  22477. // /*
  22478. // * Initialize the default library configuration
  22479. // */
  22480. func XFcInit(tls *libc.TLS) (r TFcBool) {
  22481. return XFcConfigInit(tls)
  22482. }
  22483. // C documentation
  22484. //
  22485. // /*
  22486. // * Free all library-allocated data structures.
  22487. // */
  22488. func XFcFini(tls *libc.TLS) {
  22489. XFcConfigFini(tls)
  22490. XFcConfigPathFini(tls)
  22491. XFcDefaultFini(tls)
  22492. XFcObjectFini(tls)
  22493. XFcCacheFini(tls)
  22494. }
  22495. // C documentation
  22496. //
  22497. // /*
  22498. // * Reread the configuration and available font lists
  22499. // */
  22500. func XFcInitReinitialize(tls *libc.TLS) (r TFcBool) {
  22501. var config uintptr
  22502. var ret TFcBool
  22503. _, _ = config, ret
  22504. config = XFcInitLoadConfigAndFonts(tls)
  22505. if !(config != 0) {
  22506. return m_FcFalse
  22507. }
  22508. ret = XFcConfigSetCurrent(tls, config)
  22509. /* FcConfigSetCurrent() increases the refcount.
  22510. * decrease it here to avoid the memory leak.
  22511. */
  22512. XFcConfigDestroy(tls, config)
  22513. return ret
  22514. }
  22515. func XFcInitBringUptoDate(tls *libc.TLS) (r TFcBool) {
  22516. var config uintptr
  22517. var now Ttime_t
  22518. var ret TFcBool
  22519. _, _, _ = config, now, ret
  22520. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  22521. ret = int32(m_FcTrue)
  22522. if !(config != 0) {
  22523. return m_FcFalse
  22524. }
  22525. /*
  22526. * rescanInterval == 0 disables automatic up to date
  22527. */
  22528. if (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval == 0 {
  22529. goto bail
  22530. }
  22531. /*
  22532. * Check no more often than rescanInterval seconds
  22533. */
  22534. now = libc.Xtime(tls, uintptr(0))
  22535. if (*TFcConfig)(unsafe.Pointer(config)).FrescanTime+int64((*TFcConfig)(unsafe.Pointer(config)).FrescanInterval)-now > 0 {
  22536. goto bail
  22537. }
  22538. /*
  22539. * If up to date, don't reload configuration
  22540. */
  22541. if XFcConfigUptoDate(tls, uintptr(0)) != 0 {
  22542. goto bail
  22543. }
  22544. ret = XFcInitReinitialize(tls)
  22545. goto bail
  22546. bail:
  22547. ;
  22548. XFcConfigDestroy(tls, config)
  22549. return ret
  22550. }
  22551. const m_FC_DIR_SEPARATOR_S4 = "/"
  22552. const m_NUM_COUNTRY_SET = 10
  22553. const m_NUM_LANG_CHAR_SET = 246
  22554. const m_NUM_LANG_SET_MAP = 8
  22555. type TFcLangSet = struct {
  22556. Fextra uintptr
  22557. Fmap_size TFcChar32
  22558. Fmap1 [8]TFcChar32
  22559. }
  22560. type T_FcLangSet = TFcLangSet
  22561. /* Objects MT-safe for readonly access. */
  22562. type TFcLangCharSet = struct {
  22563. Flang [16]TFcChar8
  22564. Fcharset TFcCharSet
  22565. }
  22566. type TFcLangCharSetRange = struct {
  22567. Fbegin int32
  22568. Fend int32
  22569. }
  22570. var _fcLangData = struct {
  22571. FlangCharSets [246]TFcLangCharSet
  22572. Fleaves [725]TFcCharLeaf
  22573. Fleaf_offsets [780]Tuintptr_t
  22574. Fnumbers [780]TFcChar16
  22575. FlangIndices [246]TFcChar8
  22576. FlangIndicesInv [246]TFcChar8
  22577. }{
  22578. FlangCharSets: [246]TFcLangCharSet{
  22579. 0: {
  22580. Flang: [16]TFcChar8{'a', 'a'},
  22581. Fcharset: TFcCharSet{
  22582. Fref: TFcRef{
  22583. Fcount: -libc.Int32FromInt32(1),
  22584. },
  22585. Fnum: int32(1),
  22586. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(0)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22587. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(0)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22588. },
  22589. },
  22590. 1: {
  22591. Flang: [16]TFcChar8{'a', 'b'},
  22592. Fcharset: TFcCharSet{
  22593. Fref: TFcRef{
  22594. Fcount: -libc.Int32FromInt32(1),
  22595. },
  22596. Fnum: int32(1),
  22597. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(1)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22598. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(1)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22599. },
  22600. },
  22601. 2: {
  22602. Flang: [16]TFcChar8{'a', 'f'},
  22603. Fcharset: TFcCharSet{
  22604. Fref: TFcRef{
  22605. Fcount: -libc.Int32FromInt32(1),
  22606. },
  22607. Fnum: int32(2),
  22608. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(2)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22609. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(2)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22610. },
  22611. },
  22612. 3: {
  22613. Flang: [16]TFcChar8{'a', 'k'},
  22614. Fcharset: TFcCharSet{
  22615. Fref: TFcRef{
  22616. Fcount: -libc.Int32FromInt32(1),
  22617. },
  22618. Fnum: int32(5),
  22619. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(3)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22620. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(3)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22621. },
  22622. },
  22623. 4: {
  22624. Flang: [16]TFcChar8{'a', 'm'},
  22625. Fcharset: TFcCharSet{
  22626. Fref: TFcRef{
  22627. Fcount: -libc.Int32FromInt32(1),
  22628. },
  22629. Fnum: int32(2),
  22630. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(4)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22631. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(4)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22632. },
  22633. },
  22634. 5: {
  22635. Flang: [16]TFcChar8{'a', 'n'},
  22636. Fcharset: TFcCharSet{
  22637. Fref: TFcRef{
  22638. Fcount: -libc.Int32FromInt32(1),
  22639. },
  22640. Fnum: int32(1),
  22641. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(5)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22642. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(5)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22643. },
  22644. },
  22645. 6: {
  22646. Flang: [16]TFcChar8{'a', 'r'},
  22647. Fcharset: TFcCharSet{
  22648. Fref: TFcRef{
  22649. Fcount: -libc.Int32FromInt32(1),
  22650. },
  22651. Fnum: int32(1),
  22652. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(6)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22653. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(6)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22654. },
  22655. },
  22656. 7: {
  22657. Flang: [16]TFcChar8{'a', 's'},
  22658. Fcharset: TFcCharSet{
  22659. Fref: TFcRef{
  22660. Fcount: -libc.Int32FromInt32(1),
  22661. },
  22662. Fnum: int32(1),
  22663. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(7)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22664. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(7)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22665. },
  22666. },
  22667. 8: {
  22668. Flang: [16]TFcChar8{'a', 's', 't'},
  22669. Fcharset: TFcCharSet{
  22670. Fref: TFcRef{
  22671. Fcount: -libc.Int32FromInt32(1),
  22672. },
  22673. Fnum: int32(2),
  22674. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(8)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22675. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(8)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22676. },
  22677. },
  22678. 9: {
  22679. Flang: [16]TFcChar8{'a', 'v'},
  22680. Fcharset: TFcCharSet{
  22681. Fref: TFcRef{
  22682. Fcount: -libc.Int32FromInt32(1),
  22683. },
  22684. Fnum: int32(1),
  22685. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(9)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22686. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(9)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22687. },
  22688. },
  22689. 10: {
  22690. Flang: [16]TFcChar8{'a', 'y'},
  22691. Fcharset: TFcCharSet{
  22692. Fref: TFcRef{
  22693. Fcount: -libc.Int32FromInt32(1),
  22694. },
  22695. Fnum: int32(1),
  22696. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(10)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22697. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(10)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22698. },
  22699. },
  22700. 11: {
  22701. Flang: [16]TFcChar8{'a', 'z', '-', 'a', 'z'},
  22702. Fcharset: TFcCharSet{
  22703. Fref: TFcRef{
  22704. Fcount: -libc.Int32FromInt32(1),
  22705. },
  22706. Fnum: int32(3),
  22707. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(11)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22708. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(11)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22709. },
  22710. },
  22711. 12: {
  22712. Flang: [16]TFcChar8{'a', 'z', '-', 'i', 'r'},
  22713. Fcharset: TFcCharSet{
  22714. Fref: TFcRef{
  22715. Fcount: -libc.Int32FromInt32(1),
  22716. },
  22717. Fnum: int32(1),
  22718. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(12)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22719. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(12)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22720. },
  22721. },
  22722. 13: {
  22723. Flang: [16]TFcChar8{'b', 'a'},
  22724. Fcharset: TFcCharSet{
  22725. Fref: TFcRef{
  22726. Fcount: -libc.Int32FromInt32(1),
  22727. },
  22728. Fnum: int32(1),
  22729. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(13)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22730. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(13)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22731. },
  22732. },
  22733. 14: {
  22734. Flang: [16]TFcChar8{'b', 'e'},
  22735. Fcharset: TFcCharSet{
  22736. Fref: TFcRef{
  22737. Fcount: -libc.Int32FromInt32(1),
  22738. },
  22739. Fnum: int32(1),
  22740. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(14)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22741. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(14)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22742. },
  22743. },
  22744. 15: {
  22745. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'd', 'z'},
  22746. Fcharset: TFcCharSet{
  22747. Fref: TFcRef{
  22748. Fcount: -libc.Int32FromInt32(1),
  22749. },
  22750. Fnum: int32(4),
  22751. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(15)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22752. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(15)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22753. },
  22754. },
  22755. 16: {
  22756. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'm', 'a'},
  22757. Fcharset: TFcCharSet{
  22758. Fref: TFcRef{
  22759. Fcount: -libc.Int32FromInt32(1),
  22760. },
  22761. Fnum: int32(1),
  22762. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(16)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22763. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(16)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22764. },
  22765. },
  22766. 17: {
  22767. Flang: [16]TFcChar8{'b', 'g'},
  22768. Fcharset: TFcCharSet{
  22769. Fref: TFcRef{
  22770. Fcount: -libc.Int32FromInt32(1),
  22771. },
  22772. Fnum: int32(1),
  22773. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(17)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22774. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(17)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22775. },
  22776. },
  22777. 18: {
  22778. Flang: [16]TFcChar8{'b', 'h'},
  22779. Fcharset: TFcCharSet{
  22780. Fref: TFcRef{
  22781. Fcount: -libc.Int32FromInt32(1),
  22782. },
  22783. Fnum: int32(1),
  22784. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(18)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22785. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(18)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22786. },
  22787. },
  22788. 19: {
  22789. Flang: [16]TFcChar8{'b', 'h', 'o'},
  22790. Fcharset: TFcCharSet{
  22791. Fref: TFcRef{
  22792. Fcount: -libc.Int32FromInt32(1),
  22793. },
  22794. Fnum: int32(1),
  22795. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(19)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22796. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(19)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22797. },
  22798. },
  22799. 20: {
  22800. Flang: [16]TFcChar8{'b', 'i'},
  22801. Fcharset: TFcCharSet{
  22802. Fref: TFcRef{
  22803. Fcount: -libc.Int32FromInt32(1),
  22804. },
  22805. Fnum: int32(1),
  22806. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(20)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22807. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(20)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22808. },
  22809. },
  22810. 21: {
  22811. Flang: [16]TFcChar8{'b', 'i', 'n'},
  22812. Fcharset: TFcCharSet{
  22813. Fref: TFcRef{
  22814. Fcount: -libc.Int32FromInt32(1),
  22815. },
  22816. Fnum: int32(3),
  22817. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(21)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22818. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(21)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22819. },
  22820. },
  22821. 22: {
  22822. Flang: [16]TFcChar8{'b', 'm'},
  22823. Fcharset: TFcCharSet{
  22824. Fref: TFcRef{
  22825. Fcount: -libc.Int32FromInt32(1),
  22826. },
  22827. Fnum: int32(3),
  22828. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(22)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22829. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(22)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22830. },
  22831. },
  22832. 23: {
  22833. Flang: [16]TFcChar8{'b', 'n'},
  22834. Fcharset: TFcCharSet{
  22835. Fref: TFcRef{
  22836. Fcount: -libc.Int32FromInt32(1),
  22837. },
  22838. Fnum: int32(1),
  22839. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(23)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22840. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(23)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22841. },
  22842. },
  22843. 24: {
  22844. Flang: [16]TFcChar8{'b', 'o'},
  22845. Fcharset: TFcCharSet{
  22846. Fref: TFcRef{
  22847. Fcount: -libc.Int32FromInt32(1),
  22848. },
  22849. Fnum: int32(1),
  22850. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(24)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22851. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(24)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22852. },
  22853. },
  22854. 25: {
  22855. Flang: [16]TFcChar8{'b', 'r'},
  22856. Fcharset: TFcCharSet{
  22857. Fref: TFcRef{
  22858. Fcount: -libc.Int32FromInt32(1),
  22859. },
  22860. Fnum: int32(1),
  22861. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(25)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22862. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(25)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22863. },
  22864. },
  22865. 26: {
  22866. Flang: [16]TFcChar8{'b', 'r', 'x'},
  22867. Fcharset: TFcCharSet{
  22868. Fref: TFcRef{
  22869. Fcount: -libc.Int32FromInt32(1),
  22870. },
  22871. Fnum: int32(1),
  22872. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(26)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22873. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(26)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22874. },
  22875. },
  22876. 27: {
  22877. Flang: [16]TFcChar8{'b', 's'},
  22878. Fcharset: TFcCharSet{
  22879. Fref: TFcRef{
  22880. Fcount: -libc.Int32FromInt32(1),
  22881. },
  22882. Fnum: int32(2),
  22883. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(27)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22884. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(27)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22885. },
  22886. },
  22887. 28: {
  22888. Flang: [16]TFcChar8{'b', 'u', 'a'},
  22889. Fcharset: TFcCharSet{
  22890. Fref: TFcRef{
  22891. Fcount: -libc.Int32FromInt32(1),
  22892. },
  22893. Fnum: int32(1),
  22894. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(28)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22895. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(28)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22896. },
  22897. },
  22898. 29: {
  22899. Flang: [16]TFcChar8{'b', 'y', 'n'},
  22900. Fcharset: TFcCharSet{
  22901. Fref: TFcRef{
  22902. Fcount: -libc.Int32FromInt32(1),
  22903. },
  22904. Fnum: int32(2),
  22905. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(29)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22906. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(29)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22907. },
  22908. },
  22909. 30: {
  22910. Flang: [16]TFcChar8{'c', 'a'},
  22911. Fcharset: TFcCharSet{
  22912. Fref: TFcRef{
  22913. Fcount: -libc.Int32FromInt32(1),
  22914. },
  22915. Fnum: int32(2),
  22916. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(30)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22917. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(30)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22918. },
  22919. },
  22920. 31: {
  22921. Flang: [16]TFcChar8{'c', 'e'},
  22922. Fcharset: TFcCharSet{
  22923. Fref: TFcRef{
  22924. Fcount: -libc.Int32FromInt32(1),
  22925. },
  22926. Fnum: int32(1),
  22927. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(31)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22928. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(31)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22929. },
  22930. },
  22931. 32: {
  22932. Flang: [16]TFcChar8{'c', 'h'},
  22933. Fcharset: TFcCharSet{
  22934. Fref: TFcRef{
  22935. Fcount: -libc.Int32FromInt32(1),
  22936. },
  22937. Fnum: int32(1),
  22938. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(32)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22939. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(32)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22940. },
  22941. },
  22942. 33: {
  22943. Flang: [16]TFcChar8{'c', 'h', 'm'},
  22944. Fcharset: TFcCharSet{
  22945. Fref: TFcRef{
  22946. Fcount: -libc.Int32FromInt32(1),
  22947. },
  22948. Fnum: int32(1),
  22949. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(33)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22950. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(33)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22951. },
  22952. },
  22953. 34: {
  22954. Flang: [16]TFcChar8{'c', 'h', 'r'},
  22955. Fcharset: TFcCharSet{
  22956. Fref: TFcRef{
  22957. Fcount: -libc.Int32FromInt32(1),
  22958. },
  22959. Fnum: int32(1),
  22960. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(34)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22961. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(34)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22962. },
  22963. },
  22964. 35: {
  22965. Flang: [16]TFcChar8{'c', 'o'},
  22966. Fcharset: TFcCharSet{
  22967. Fref: TFcRef{
  22968. Fcount: -libc.Int32FromInt32(1),
  22969. },
  22970. Fnum: int32(2),
  22971. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(35)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22972. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(35)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22973. },
  22974. },
  22975. 36: {
  22976. Flang: [16]TFcChar8{'c', 'r', 'h'},
  22977. Fcharset: TFcCharSet{
  22978. Fref: TFcRef{
  22979. Fcount: -libc.Int32FromInt32(1),
  22980. },
  22981. Fnum: int32(2),
  22982. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(36)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22983. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(36)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22984. },
  22985. },
  22986. 37: {
  22987. Flang: [16]TFcChar8{'c', 's'},
  22988. Fcharset: TFcCharSet{
  22989. Fref: TFcRef{
  22990. Fcount: -libc.Int32FromInt32(1),
  22991. },
  22992. Fnum: int32(2),
  22993. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(37)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22994. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(37)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22995. },
  22996. },
  22997. 38: {
  22998. Flang: [16]TFcChar8{'c', 's', 'b'},
  22999. Fcharset: TFcCharSet{
  23000. Fref: TFcRef{
  23001. Fcount: -libc.Int32FromInt32(1),
  23002. },
  23003. Fnum: int32(2),
  23004. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(38)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23005. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(38)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23006. },
  23007. },
  23008. 39: {
  23009. Flang: [16]TFcChar8{'c', 'u'},
  23010. Fcharset: TFcCharSet{
  23011. Fref: TFcRef{
  23012. Fcount: -libc.Int32FromInt32(1),
  23013. },
  23014. Fnum: int32(1),
  23015. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(39)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23016. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(39)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23017. },
  23018. },
  23019. 40: {
  23020. Flang: [16]TFcChar8{'c', 'v'},
  23021. Fcharset: TFcCharSet{
  23022. Fref: TFcRef{
  23023. Fcount: -libc.Int32FromInt32(1),
  23024. },
  23025. Fnum: int32(2),
  23026. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(40)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23027. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(40)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23028. },
  23029. },
  23030. 41: {
  23031. Flang: [16]TFcChar8{'c', 'y'},
  23032. Fcharset: TFcCharSet{
  23033. Fref: TFcRef{
  23034. Fcount: -libc.Int32FromInt32(1),
  23035. },
  23036. Fnum: int32(3),
  23037. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(41)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23038. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(41)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23039. },
  23040. },
  23041. 42: {
  23042. Flang: [16]TFcChar8{'d', 'a'},
  23043. Fcharset: TFcCharSet{
  23044. Fref: TFcRef{
  23045. Fcount: -libc.Int32FromInt32(1),
  23046. },
  23047. Fnum: int32(1),
  23048. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(42)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23049. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(42)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23050. },
  23051. },
  23052. 43: {
  23053. Flang: [16]TFcChar8{'d', 'e'},
  23054. Fcharset: TFcCharSet{
  23055. Fref: TFcRef{
  23056. Fcount: -libc.Int32FromInt32(1),
  23057. },
  23058. Fnum: int32(1),
  23059. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(43)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23060. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(43)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23061. },
  23062. },
  23063. 44: {
  23064. Flang: [16]TFcChar8{'d', 'o', 'i'},
  23065. Fcharset: TFcCharSet{
  23066. Fref: TFcRef{
  23067. Fcount: -libc.Int32FromInt32(1),
  23068. },
  23069. Fnum: int32(1),
  23070. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(44)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23071. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(44)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23072. },
  23073. },
  23074. 45: {
  23075. Flang: [16]TFcChar8{'d', 'v'},
  23076. Fcharset: TFcCharSet{
  23077. Fref: TFcRef{
  23078. Fcount: -libc.Int32FromInt32(1),
  23079. },
  23080. Fnum: int32(1),
  23081. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(45)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23082. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(45)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23083. },
  23084. },
  23085. 46: {
  23086. Flang: [16]TFcChar8{'d', 'z'},
  23087. Fcharset: TFcCharSet{
  23088. Fref: TFcRef{
  23089. Fcount: -libc.Int32FromInt32(1),
  23090. },
  23091. Fnum: int32(1),
  23092. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(46)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23093. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(46)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23094. },
  23095. },
  23096. 47: {
  23097. Flang: [16]TFcChar8{'e', 'e'},
  23098. Fcharset: TFcCharSet{
  23099. Fref: TFcRef{
  23100. Fcount: -libc.Int32FromInt32(1),
  23101. },
  23102. Fnum: int32(4),
  23103. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(47)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23104. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(47)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23105. },
  23106. },
  23107. 48: {
  23108. Flang: [16]TFcChar8{'e', 'l'},
  23109. Fcharset: TFcCharSet{
  23110. Fref: TFcRef{
  23111. Fcount: -libc.Int32FromInt32(1),
  23112. },
  23113. Fnum: int32(1),
  23114. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(48)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23115. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(48)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23116. },
  23117. },
  23118. 49: {
  23119. Flang: [16]TFcChar8{'e', 'n'},
  23120. Fcharset: TFcCharSet{
  23121. Fref: TFcRef{
  23122. Fcount: -libc.Int32FromInt32(1),
  23123. },
  23124. Fnum: int32(1),
  23125. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(49)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23126. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(49)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23127. },
  23128. },
  23129. 50: {
  23130. Flang: [16]TFcChar8{'e', 'o'},
  23131. Fcharset: TFcCharSet{
  23132. Fref: TFcRef{
  23133. Fcount: -libc.Int32FromInt32(1),
  23134. },
  23135. Fnum: int32(2),
  23136. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(50)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23137. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(50)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23138. },
  23139. },
  23140. 51: {
  23141. Flang: [16]TFcChar8{'e', 's'},
  23142. Fcharset: TFcCharSet{
  23143. Fref: TFcRef{
  23144. Fcount: -libc.Int32FromInt32(1),
  23145. },
  23146. Fnum: int32(1),
  23147. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(51)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23148. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(51)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23149. },
  23150. },
  23151. 52: {
  23152. Flang: [16]TFcChar8{'e', 't'},
  23153. Fcharset: TFcCharSet{
  23154. Fref: TFcRef{
  23155. Fcount: -libc.Int32FromInt32(1),
  23156. },
  23157. Fnum: int32(2),
  23158. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(52)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23159. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(52)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23160. },
  23161. },
  23162. 53: {
  23163. Flang: [16]TFcChar8{'e', 'u'},
  23164. Fcharset: TFcCharSet{
  23165. Fref: TFcRef{
  23166. Fcount: -libc.Int32FromInt32(1),
  23167. },
  23168. Fnum: int32(1),
  23169. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(53)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23170. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(53)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23171. },
  23172. },
  23173. 54: {
  23174. Flang: [16]TFcChar8{'f', 'a'},
  23175. Fcharset: TFcCharSet{
  23176. Fref: TFcRef{
  23177. Fcount: -libc.Int32FromInt32(1),
  23178. },
  23179. Fnum: int32(1),
  23180. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(54)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23181. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(54)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23182. },
  23183. },
  23184. 55: {
  23185. Flang: [16]TFcChar8{'f', 'a', 't'},
  23186. Fcharset: TFcCharSet{
  23187. Fref: TFcRef{
  23188. Fcount: -libc.Int32FromInt32(1),
  23189. },
  23190. Fnum: int32(5),
  23191. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(55)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23192. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(55)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23193. },
  23194. },
  23195. 56: {
  23196. Flang: [16]TFcChar8{'f', 'f'},
  23197. Fcharset: TFcCharSet{
  23198. Fref: TFcRef{
  23199. Fcount: -libc.Int32FromInt32(1),
  23200. },
  23201. Fnum: int32(3),
  23202. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(56)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23203. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(56)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23204. },
  23205. },
  23206. 57: {
  23207. Flang: [16]TFcChar8{'f', 'i'},
  23208. Fcharset: TFcCharSet{
  23209. Fref: TFcRef{
  23210. Fcount: -libc.Int32FromInt32(1),
  23211. },
  23212. Fnum: int32(2),
  23213. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(57)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23214. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(57)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23215. },
  23216. },
  23217. 58: {
  23218. Flang: [16]TFcChar8{'f', 'i', 'l'},
  23219. Fcharset: TFcCharSet{
  23220. Fref: TFcRef{
  23221. Fcount: -libc.Int32FromInt32(1),
  23222. },
  23223. Fnum: int32(1),
  23224. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(58)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23225. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(58)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23226. },
  23227. },
  23228. 59: {
  23229. Flang: [16]TFcChar8{'f', 'j'},
  23230. Fcharset: TFcCharSet{
  23231. Fref: TFcRef{
  23232. Fcount: -libc.Int32FromInt32(1),
  23233. },
  23234. Fnum: int32(1),
  23235. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(59)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23236. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(59)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23237. },
  23238. },
  23239. 60: {
  23240. Flang: [16]TFcChar8{'f', 'o'},
  23241. Fcharset: TFcCharSet{
  23242. Fref: TFcRef{
  23243. Fcount: -libc.Int32FromInt32(1),
  23244. },
  23245. Fnum: int32(1),
  23246. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(60)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23247. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(60)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23248. },
  23249. },
  23250. 61: {
  23251. Flang: [16]TFcChar8{'f', 'r'},
  23252. Fcharset: TFcCharSet{
  23253. Fref: TFcRef{
  23254. Fcount: -libc.Int32FromInt32(1),
  23255. },
  23256. Fnum: int32(2),
  23257. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(61)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23258. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(61)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23259. },
  23260. },
  23261. 62: {
  23262. Flang: [16]TFcChar8{'f', 'u', 'r'},
  23263. Fcharset: TFcCharSet{
  23264. Fref: TFcRef{
  23265. Fcount: -libc.Int32FromInt32(1),
  23266. },
  23267. Fnum: int32(1),
  23268. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(62)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23269. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(62)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23270. },
  23271. },
  23272. 63: {
  23273. Flang: [16]TFcChar8{'f', 'y'},
  23274. Fcharset: TFcCharSet{
  23275. Fref: TFcRef{
  23276. Fcount: -libc.Int32FromInt32(1),
  23277. },
  23278. Fnum: int32(1),
  23279. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(63)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23280. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(63)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23281. },
  23282. },
  23283. 64: {
  23284. Flang: [16]TFcChar8{'g', 'a'},
  23285. Fcharset: TFcCharSet{
  23286. Fref: TFcRef{
  23287. Fcount: -libc.Int32FromInt32(1),
  23288. },
  23289. Fnum: int32(3),
  23290. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(64)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23291. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(64)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23292. },
  23293. },
  23294. 65: {
  23295. Flang: [16]TFcChar8{'g', 'd'},
  23296. Fcharset: TFcCharSet{
  23297. Fref: TFcRef{
  23298. Fcount: -libc.Int32FromInt32(1),
  23299. },
  23300. Fnum: int32(1),
  23301. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(65)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23302. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(65)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23303. },
  23304. },
  23305. 66: {
  23306. Flang: [16]TFcChar8{'g', 'e', 'z'},
  23307. Fcharset: TFcCharSet{
  23308. Fref: TFcRef{
  23309. Fcount: -libc.Int32FromInt32(1),
  23310. },
  23311. Fnum: int32(2),
  23312. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(66)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23313. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(66)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23314. },
  23315. },
  23316. 67: {
  23317. Flang: [16]TFcChar8{'g', 'l'},
  23318. Fcharset: TFcCharSet{
  23319. Fref: TFcRef{
  23320. Fcount: -libc.Int32FromInt32(1),
  23321. },
  23322. Fnum: int32(1),
  23323. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(67)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23324. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(67)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23325. },
  23326. },
  23327. 68: {
  23328. Flang: [16]TFcChar8{'g', 'n'},
  23329. Fcharset: TFcCharSet{
  23330. Fref: TFcRef{
  23331. Fcount: -libc.Int32FromInt32(1),
  23332. },
  23333. Fnum: int32(3),
  23334. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(68)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23335. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(68)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23336. },
  23337. },
  23338. 69: {
  23339. Flang: [16]TFcChar8{'g', 'u'},
  23340. Fcharset: TFcCharSet{
  23341. Fref: TFcRef{
  23342. Fcount: -libc.Int32FromInt32(1),
  23343. },
  23344. Fnum: int32(1),
  23345. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(69)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23346. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(69)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23347. },
  23348. },
  23349. 70: {
  23350. Flang: [16]TFcChar8{'g', 'v'},
  23351. Fcharset: TFcCharSet{
  23352. Fref: TFcRef{
  23353. Fcount: -libc.Int32FromInt32(1),
  23354. },
  23355. Fnum: int32(1),
  23356. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(70)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23357. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(70)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23358. },
  23359. },
  23360. 71: {
  23361. Flang: [16]TFcChar8{'h', 'a'},
  23362. Fcharset: TFcCharSet{
  23363. Fref: TFcRef{
  23364. Fcount: -libc.Int32FromInt32(1),
  23365. },
  23366. Fnum: int32(3),
  23367. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(71)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23368. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(71)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23369. },
  23370. },
  23371. 72: {
  23372. Flang: [16]TFcChar8{'h', 'a', 'w'},
  23373. Fcharset: TFcCharSet{
  23374. Fref: TFcRef{
  23375. Fcount: -libc.Int32FromInt32(1),
  23376. },
  23377. Fnum: int32(3),
  23378. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(72)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23379. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(72)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23380. },
  23381. },
  23382. 73: {
  23383. Flang: [16]TFcChar8{'h', 'e'},
  23384. Fcharset: TFcCharSet{
  23385. Fref: TFcRef{
  23386. Fcount: -libc.Int32FromInt32(1),
  23387. },
  23388. Fnum: int32(1),
  23389. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(73)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23390. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(73)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23391. },
  23392. },
  23393. 74: {
  23394. Flang: [16]TFcChar8{'h', 'i'},
  23395. Fcharset: TFcCharSet{
  23396. Fref: TFcRef{
  23397. Fcount: -libc.Int32FromInt32(1),
  23398. },
  23399. Fnum: int32(1),
  23400. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(74)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23401. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(74)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23402. },
  23403. },
  23404. 75: {
  23405. Flang: [16]TFcChar8{'h', 'n', 'e'},
  23406. Fcharset: TFcCharSet{
  23407. Fref: TFcRef{
  23408. Fcount: -libc.Int32FromInt32(1),
  23409. },
  23410. Fnum: int32(1),
  23411. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(75)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23412. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(75)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23413. },
  23414. },
  23415. 76: {
  23416. Flang: [16]TFcChar8{'h', 'o'},
  23417. Fcharset: TFcCharSet{
  23418. Fref: TFcRef{
  23419. Fcount: -libc.Int32FromInt32(1),
  23420. },
  23421. Fnum: int32(1),
  23422. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(76)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23423. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(76)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23424. },
  23425. },
  23426. 77: {
  23427. Flang: [16]TFcChar8{'h', 'r'},
  23428. Fcharset: TFcCharSet{
  23429. Fref: TFcRef{
  23430. Fcount: -libc.Int32FromInt32(1),
  23431. },
  23432. Fnum: int32(2),
  23433. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(77)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23434. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(77)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23435. },
  23436. },
  23437. 78: {
  23438. Flang: [16]TFcChar8{'h', 's', 'b'},
  23439. Fcharset: TFcCharSet{
  23440. Fref: TFcRef{
  23441. Fcount: -libc.Int32FromInt32(1),
  23442. },
  23443. Fnum: int32(2),
  23444. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(78)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23445. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(78)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23446. },
  23447. },
  23448. 79: {
  23449. Flang: [16]TFcChar8{'h', 't'},
  23450. Fcharset: TFcCharSet{
  23451. Fref: TFcRef{
  23452. Fcount: -libc.Int32FromInt32(1),
  23453. },
  23454. Fnum: int32(1),
  23455. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(79)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23456. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(79)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23457. },
  23458. },
  23459. 80: {
  23460. Flang: [16]TFcChar8{'h', 'u'},
  23461. Fcharset: TFcCharSet{
  23462. Fref: TFcRef{
  23463. Fcount: -libc.Int32FromInt32(1),
  23464. },
  23465. Fnum: int32(2),
  23466. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(80)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23467. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(80)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23468. },
  23469. },
  23470. 81: {
  23471. Flang: [16]TFcChar8{'h', 'y'},
  23472. Fcharset: TFcCharSet{
  23473. Fref: TFcRef{
  23474. Fcount: -libc.Int32FromInt32(1),
  23475. },
  23476. Fnum: int32(1),
  23477. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(81)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23478. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(81)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23479. },
  23480. },
  23481. 82: {
  23482. Flang: [16]TFcChar8{'h', 'z'},
  23483. Fcharset: TFcCharSet{
  23484. Fref: TFcRef{
  23485. Fcount: -libc.Int32FromInt32(1),
  23486. },
  23487. Fnum: int32(3),
  23488. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(82)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23489. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(82)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23490. },
  23491. },
  23492. 83: {
  23493. Flang: [16]TFcChar8{'i', 'a'},
  23494. Fcharset: TFcCharSet{
  23495. Fref: TFcRef{
  23496. Fcount: -libc.Int32FromInt32(1),
  23497. },
  23498. Fnum: int32(1),
  23499. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(83)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23500. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(83)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23501. },
  23502. },
  23503. 84: {
  23504. Flang: [16]TFcChar8{'i', 'd'},
  23505. Fcharset: TFcCharSet{
  23506. Fref: TFcRef{
  23507. Fcount: -libc.Int32FromInt32(1),
  23508. },
  23509. Fnum: int32(1),
  23510. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(84)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23511. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(84)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23512. },
  23513. },
  23514. 85: {
  23515. Flang: [16]TFcChar8{'i', 'e'},
  23516. Fcharset: TFcCharSet{
  23517. Fref: TFcRef{
  23518. Fcount: -libc.Int32FromInt32(1),
  23519. },
  23520. Fnum: int32(1),
  23521. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23522. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23523. },
  23524. },
  23525. 86: {
  23526. Flang: [16]TFcChar8{'i', 'g'},
  23527. Fcharset: TFcCharSet{
  23528. Fref: TFcRef{
  23529. Fcount: -libc.Int32FromInt32(1),
  23530. },
  23531. Fnum: int32(2),
  23532. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23533. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23534. },
  23535. },
  23536. 87: {
  23537. Flang: [16]TFcChar8{'i', 'i'},
  23538. Fcharset: TFcCharSet{
  23539. Fref: TFcRef{
  23540. Fcount: -libc.Int32FromInt32(1),
  23541. },
  23542. Fnum: int32(5),
  23543. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23544. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23545. },
  23546. },
  23547. 88: {
  23548. Flang: [16]TFcChar8{'i', 'k'},
  23549. Fcharset: TFcCharSet{
  23550. Fref: TFcRef{
  23551. Fcount: -libc.Int32FromInt32(1),
  23552. },
  23553. Fnum: int32(1),
  23554. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23555. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23556. },
  23557. },
  23558. 89: {
  23559. Flang: [16]TFcChar8{'i', 'o'},
  23560. Fcharset: TFcCharSet{
  23561. Fref: TFcRef{
  23562. Fcount: -libc.Int32FromInt32(1),
  23563. },
  23564. Fnum: int32(1),
  23565. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(89)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23566. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(89)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23567. },
  23568. },
  23569. 90: {
  23570. Flang: [16]TFcChar8{'i', 's'},
  23571. Fcharset: TFcCharSet{
  23572. Fref: TFcRef{
  23573. Fcount: -libc.Int32FromInt32(1),
  23574. },
  23575. Fnum: int32(1),
  23576. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23577. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23578. },
  23579. },
  23580. 91: {
  23581. Flang: [16]TFcChar8{'i', 't'},
  23582. Fcharset: TFcCharSet{
  23583. Fref: TFcRef{
  23584. Fcount: -libc.Int32FromInt32(1),
  23585. },
  23586. Fnum: int32(1),
  23587. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23588. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23589. },
  23590. },
  23591. 92: {
  23592. Flang: [16]TFcChar8{'i', 'u'},
  23593. Fcharset: TFcCharSet{
  23594. Fref: TFcRef{
  23595. Fcount: -libc.Int32FromInt32(1),
  23596. },
  23597. Fnum: int32(3),
  23598. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23599. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23600. },
  23601. },
  23602. 93: {
  23603. Flang: [16]TFcChar8{'j', 'a'},
  23604. Fcharset: TFcCharSet{
  23605. Fref: TFcRef{
  23606. Fcount: -libc.Int32FromInt32(1),
  23607. },
  23608. Fnum: int32(83),
  23609. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23610. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23611. },
  23612. },
  23613. 94: {
  23614. Flang: [16]TFcChar8{'j', 'v'},
  23615. Fcharset: TFcCharSet{
  23616. Fref: TFcRef{
  23617. Fcount: -libc.Int32FromInt32(1),
  23618. },
  23619. Fnum: int32(1),
  23620. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23621. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23622. },
  23623. },
  23624. 95: {
  23625. Flang: [16]TFcChar8{'k', 'a'},
  23626. Fcharset: TFcCharSet{
  23627. Fref: TFcRef{
  23628. Fcount: -libc.Int32FromInt32(1),
  23629. },
  23630. Fnum: int32(1),
  23631. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23632. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23633. },
  23634. },
  23635. 96: {
  23636. Flang: [16]TFcChar8{'k', 'a', 'a'},
  23637. Fcharset: TFcCharSet{
  23638. Fref: TFcRef{
  23639. Fcount: -libc.Int32FromInt32(1),
  23640. },
  23641. Fnum: int32(1),
  23642. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23643. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23644. },
  23645. },
  23646. 97: {
  23647. Flang: [16]TFcChar8{'k', 'a', 'b'},
  23648. Fcharset: TFcCharSet{
  23649. Fref: TFcRef{
  23650. Fcount: -libc.Int32FromInt32(1),
  23651. },
  23652. Fnum: int32(4),
  23653. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(97)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23654. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(97)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23655. },
  23656. },
  23657. 98: {
  23658. Flang: [16]TFcChar8{'k', 'i'},
  23659. Fcharset: TFcCharSet{
  23660. Fref: TFcRef{
  23661. Fcount: -libc.Int32FromInt32(1),
  23662. },
  23663. Fnum: int32(2),
  23664. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23665. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23666. },
  23667. },
  23668. 99: {
  23669. Flang: [16]TFcChar8{'k', 'j'},
  23670. Fcharset: TFcCharSet{
  23671. Fref: TFcRef{
  23672. Fcount: -libc.Int32FromInt32(1),
  23673. },
  23674. Fnum: int32(1),
  23675. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(99)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23676. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(99)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23677. },
  23678. },
  23679. 100: {
  23680. Flang: [16]TFcChar8{'k', 'k'},
  23681. Fcharset: TFcCharSet{
  23682. Fref: TFcRef{
  23683. Fcount: -libc.Int32FromInt32(1),
  23684. },
  23685. Fnum: int32(1),
  23686. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23687. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23688. },
  23689. },
  23690. 101: {
  23691. Flang: [16]TFcChar8{'k', 'l'},
  23692. Fcharset: TFcCharSet{
  23693. Fref: TFcRef{
  23694. Fcount: -libc.Int32FromInt32(1),
  23695. },
  23696. Fnum: int32(2),
  23697. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23698. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23699. },
  23700. },
  23701. 102: {
  23702. Flang: [16]TFcChar8{'k', 'm'},
  23703. Fcharset: TFcCharSet{
  23704. Fref: TFcRef{
  23705. Fcount: -libc.Int32FromInt32(1),
  23706. },
  23707. Fnum: int32(1),
  23708. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23709. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23710. },
  23711. },
  23712. 103: {
  23713. Flang: [16]TFcChar8{'k', 'n'},
  23714. Fcharset: TFcCharSet{
  23715. Fref: TFcRef{
  23716. Fcount: -libc.Int32FromInt32(1),
  23717. },
  23718. Fnum: int32(1),
  23719. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23720. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23721. },
  23722. },
  23723. 104: {
  23724. Flang: [16]TFcChar8{'k', 'o'},
  23725. Fcharset: TFcCharSet{
  23726. Fref: TFcRef{
  23727. Fcount: -libc.Int32FromInt32(1),
  23728. },
  23729. Fnum: int32(45),
  23730. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23731. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23732. },
  23733. },
  23734. 105: {
  23735. Flang: [16]TFcChar8{'k', 'o', 'k'},
  23736. Fcharset: TFcCharSet{
  23737. Fref: TFcRef{
  23738. Fcount: -libc.Int32FromInt32(1),
  23739. },
  23740. Fnum: int32(1),
  23741. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(105)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23742. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(105)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23743. },
  23744. },
  23745. 106: {
  23746. Flang: [16]TFcChar8{'k', 'r'},
  23747. Fcharset: TFcCharSet{
  23748. Fref: TFcRef{
  23749. Fcount: -libc.Int32FromInt32(1),
  23750. },
  23751. Fnum: int32(3),
  23752. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23753. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23754. },
  23755. },
  23756. 107: {
  23757. Flang: [16]TFcChar8{'k', 's'},
  23758. Fcharset: TFcCharSet{
  23759. Fref: TFcRef{
  23760. Fcount: -libc.Int32FromInt32(1),
  23761. },
  23762. Fnum: int32(1),
  23763. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23764. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23765. },
  23766. },
  23767. 108: {
  23768. Flang: [16]TFcChar8{'k', 'u', '-', 'a', 'm'},
  23769. Fcharset: TFcCharSet{
  23770. Fref: TFcRef{
  23771. Fcount: -libc.Int32FromInt32(1),
  23772. },
  23773. Fnum: int32(2),
  23774. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23775. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23776. },
  23777. },
  23778. 109: {
  23779. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'q'},
  23780. Fcharset: TFcCharSet{
  23781. Fref: TFcRef{
  23782. Fcount: -libc.Int32FromInt32(1),
  23783. },
  23784. Fnum: int32(1),
  23785. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23786. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23787. },
  23788. },
  23789. 110: {
  23790. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'r'},
  23791. Fcharset: TFcCharSet{
  23792. Fref: TFcRef{
  23793. Fcount: -libc.Int32FromInt32(1),
  23794. },
  23795. Fnum: int32(1),
  23796. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23797. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23798. },
  23799. },
  23800. 111: {
  23801. Flang: [16]TFcChar8{'k', 'u', '-', 't', 'r'},
  23802. Fcharset: TFcCharSet{
  23803. Fref: TFcRef{
  23804. Fcount: -libc.Int32FromInt32(1),
  23805. },
  23806. Fnum: int32(2),
  23807. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23808. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23809. },
  23810. },
  23811. 112: {
  23812. Flang: [16]TFcChar8{'k', 'u', 'm'},
  23813. Fcharset: TFcCharSet{
  23814. Fref: TFcRef{
  23815. Fcount: -libc.Int32FromInt32(1),
  23816. },
  23817. Fnum: int32(1),
  23818. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23819. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23820. },
  23821. },
  23822. 113: {
  23823. Flang: [16]TFcChar8{'k', 'v'},
  23824. Fcharset: TFcCharSet{
  23825. Fref: TFcRef{
  23826. Fcount: -libc.Int32FromInt32(1),
  23827. },
  23828. Fnum: int32(1),
  23829. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23830. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23831. },
  23832. },
  23833. 114: {
  23834. Flang: [16]TFcChar8{'k', 'w'},
  23835. Fcharset: TFcCharSet{
  23836. Fref: TFcRef{
  23837. Fcount: -libc.Int32FromInt32(1),
  23838. },
  23839. Fnum: int32(3),
  23840. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23841. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23842. },
  23843. },
  23844. 115: {
  23845. Flang: [16]TFcChar8{'k', 'w', 'm'},
  23846. Fcharset: TFcCharSet{
  23847. Fref: TFcRef{
  23848. Fcount: -libc.Int32FromInt32(1),
  23849. },
  23850. Fnum: int32(1),
  23851. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(115)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23852. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(115)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23853. },
  23854. },
  23855. 116: {
  23856. Flang: [16]TFcChar8{'k', 'y'},
  23857. Fcharset: TFcCharSet{
  23858. Fref: TFcRef{
  23859. Fcount: -libc.Int32FromInt32(1),
  23860. },
  23861. Fnum: int32(1),
  23862. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23863. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23864. },
  23865. },
  23866. 117: {
  23867. Flang: [16]TFcChar8{'l', 'a'},
  23868. Fcharset: TFcCharSet{
  23869. Fref: TFcRef{
  23870. Fcount: -libc.Int32FromInt32(1),
  23871. },
  23872. Fnum: int32(2),
  23873. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23874. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23875. },
  23876. },
  23877. 118: {
  23878. Flang: [16]TFcChar8{'l', 'a', 'h'},
  23879. Fcharset: TFcCharSet{
  23880. Fref: TFcRef{
  23881. Fcount: -libc.Int32FromInt32(1),
  23882. },
  23883. Fnum: int32(1),
  23884. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23885. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23886. },
  23887. },
  23888. 119: {
  23889. Flang: [16]TFcChar8{'l', 'b'},
  23890. Fcharset: TFcCharSet{
  23891. Fref: TFcRef{
  23892. Fcount: -libc.Int32FromInt32(1),
  23893. },
  23894. Fnum: int32(1),
  23895. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23896. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23897. },
  23898. },
  23899. 120: {
  23900. Flang: [16]TFcChar8{'l', 'e', 'z'},
  23901. Fcharset: TFcCharSet{
  23902. Fref: TFcRef{
  23903. Fcount: -libc.Int32FromInt32(1),
  23904. },
  23905. Fnum: int32(1),
  23906. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(120)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23907. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(120)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23908. },
  23909. },
  23910. 121: {
  23911. Flang: [16]TFcChar8{'l', 'g'},
  23912. Fcharset: TFcCharSet{
  23913. Fref: TFcRef{
  23914. Fcount: -libc.Int32FromInt32(1),
  23915. },
  23916. Fnum: int32(2),
  23917. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23918. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23919. },
  23920. },
  23921. 122: {
  23922. Flang: [16]TFcChar8{'l', 'i'},
  23923. Fcharset: TFcCharSet{
  23924. Fref: TFcRef{
  23925. Fcount: -libc.Int32FromInt32(1),
  23926. },
  23927. Fnum: int32(1),
  23928. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23929. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23930. },
  23931. },
  23932. 123: {
  23933. Flang: [16]TFcChar8{'l', 'n'},
  23934. Fcharset: TFcCharSet{
  23935. Fref: TFcRef{
  23936. Fcount: -libc.Int32FromInt32(1),
  23937. },
  23938. Fnum: int32(4),
  23939. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23940. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23941. },
  23942. },
  23943. 124: {
  23944. Flang: [16]TFcChar8{'l', 'o'},
  23945. Fcharset: TFcCharSet{
  23946. Fref: TFcRef{
  23947. Fcount: -libc.Int32FromInt32(1),
  23948. },
  23949. Fnum: int32(1),
  23950. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23951. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23952. },
  23953. },
  23954. 125: {
  23955. Flang: [16]TFcChar8{'l', 't'},
  23956. Fcharset: TFcCharSet{
  23957. Fref: TFcRef{
  23958. Fcount: -libc.Int32FromInt32(1),
  23959. },
  23960. Fnum: int32(2),
  23961. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23962. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23963. },
  23964. },
  23965. 126: {
  23966. Flang: [16]TFcChar8{'l', 'v'},
  23967. Fcharset: TFcCharSet{
  23968. Fref: TFcRef{
  23969. Fcount: -libc.Int32FromInt32(1),
  23970. },
  23971. Fnum: int32(2),
  23972. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23973. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23974. },
  23975. },
  23976. 127: {
  23977. Flang: [16]TFcChar8{'m', 'a', 'i'},
  23978. Fcharset: TFcCharSet{
  23979. Fref: TFcRef{
  23980. Fcount: -libc.Int32FromInt32(1),
  23981. },
  23982. Fnum: int32(1),
  23983. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(127)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23984. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(127)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23985. },
  23986. },
  23987. 128: {
  23988. Flang: [16]TFcChar8{'m', 'g'},
  23989. Fcharset: TFcCharSet{
  23990. Fref: TFcRef{
  23991. Fcount: -libc.Int32FromInt32(1),
  23992. },
  23993. Fnum: int32(1),
  23994. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23995. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23996. },
  23997. },
  23998. 129: {
  23999. Flang: [16]TFcChar8{'m', 'h'},
  24000. Fcharset: TFcCharSet{
  24001. Fref: TFcRef{
  24002. Fcount: -libc.Int32FromInt32(1),
  24003. },
  24004. Fnum: int32(2),
  24005. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24006. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24007. },
  24008. },
  24009. 130: {
  24010. Flang: [16]TFcChar8{'m', 'i'},
  24011. Fcharset: TFcCharSet{
  24012. Fref: TFcRef{
  24013. Fcount: -libc.Int32FromInt32(1),
  24014. },
  24015. Fnum: int32(3),
  24016. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24017. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24018. },
  24019. },
  24020. 131: {
  24021. Flang: [16]TFcChar8{'m', 'k'},
  24022. Fcharset: TFcCharSet{
  24023. Fref: TFcRef{
  24024. Fcount: -libc.Int32FromInt32(1),
  24025. },
  24026. Fnum: int32(1),
  24027. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24028. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24029. },
  24030. },
  24031. 132: {
  24032. Flang: [16]TFcChar8{'m', 'l'},
  24033. Fcharset: TFcCharSet{
  24034. Fref: TFcRef{
  24035. Fcount: -libc.Int32FromInt32(1),
  24036. },
  24037. Fnum: int32(1),
  24038. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24039. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24040. },
  24041. },
  24042. 133: {
  24043. Flang: [16]TFcChar8{'m', 'n', '-', 'c', 'n'},
  24044. Fcharset: TFcCharSet{
  24045. Fref: TFcRef{
  24046. Fcount: -libc.Int32FromInt32(1),
  24047. },
  24048. Fnum: int32(1),
  24049. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24050. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24051. },
  24052. },
  24053. 134: {
  24054. Flang: [16]TFcChar8{'m', 'n', '-', 'm', 'n'},
  24055. Fcharset: TFcCharSet{
  24056. Fref: TFcRef{
  24057. Fcount: -libc.Int32FromInt32(1),
  24058. },
  24059. Fnum: int32(1),
  24060. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24061. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24062. },
  24063. },
  24064. 135: {
  24065. Flang: [16]TFcChar8{'m', 'n', 'i'},
  24066. Fcharset: TFcCharSet{
  24067. Fref: TFcRef{
  24068. Fcount: -libc.Int32FromInt32(1),
  24069. },
  24070. Fnum: int32(1),
  24071. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24072. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24073. },
  24074. },
  24075. 136: {
  24076. Flang: [16]TFcChar8{'m', 'o'},
  24077. Fcharset: TFcCharSet{
  24078. Fref: TFcRef{
  24079. Fcount: -libc.Int32FromInt32(1),
  24080. },
  24081. Fnum: int32(4),
  24082. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24083. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24084. },
  24085. },
  24086. 137: {
  24087. Flang: [16]TFcChar8{'m', 'r'},
  24088. Fcharset: TFcCharSet{
  24089. Fref: TFcRef{
  24090. Fcount: -libc.Int32FromInt32(1),
  24091. },
  24092. Fnum: int32(1),
  24093. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(137)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24094. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(137)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24095. },
  24096. },
  24097. 138: {
  24098. Flang: [16]TFcChar8{'m', 's'},
  24099. Fcharset: TFcCharSet{
  24100. Fref: TFcRef{
  24101. Fcount: -libc.Int32FromInt32(1),
  24102. },
  24103. Fnum: int32(1),
  24104. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(138)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24105. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(138)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24106. },
  24107. },
  24108. 139: {
  24109. Flang: [16]TFcChar8{'m', 't'},
  24110. Fcharset: TFcCharSet{
  24111. Fref: TFcRef{
  24112. Fcount: -libc.Int32FromInt32(1),
  24113. },
  24114. Fnum: int32(2),
  24115. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24116. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24117. },
  24118. },
  24119. 140: {
  24120. Flang: [16]TFcChar8{'m', 'y'},
  24121. Fcharset: TFcCharSet{
  24122. Fref: TFcRef{
  24123. Fcount: -libc.Int32FromInt32(1),
  24124. },
  24125. Fnum: int32(1),
  24126. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24127. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24128. },
  24129. },
  24130. 141: {
  24131. Flang: [16]TFcChar8{'n', 'a'},
  24132. Fcharset: TFcCharSet{
  24133. Fref: TFcRef{
  24134. Fcount: -libc.Int32FromInt32(1),
  24135. },
  24136. Fnum: int32(2),
  24137. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24138. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24139. },
  24140. },
  24141. 142: {
  24142. Flang: [16]TFcChar8{'n', 'b'},
  24143. Fcharset: TFcCharSet{
  24144. Fref: TFcRef{
  24145. Fcount: -libc.Int32FromInt32(1),
  24146. },
  24147. Fnum: int32(1),
  24148. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24149. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24150. },
  24151. },
  24152. 143: {
  24153. Flang: [16]TFcChar8{'n', 'd', 's'},
  24154. Fcharset: TFcCharSet{
  24155. Fref: TFcRef{
  24156. Fcount: -libc.Int32FromInt32(1),
  24157. },
  24158. Fnum: int32(1),
  24159. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(143)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24160. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(143)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24161. },
  24162. },
  24163. 144: {
  24164. Flang: [16]TFcChar8{'n', 'e'},
  24165. Fcharset: TFcCharSet{
  24166. Fref: TFcRef{
  24167. Fcount: -libc.Int32FromInt32(1),
  24168. },
  24169. Fnum: int32(1),
  24170. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24171. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24172. },
  24173. },
  24174. 145: {
  24175. Flang: [16]TFcChar8{'n', 'g'},
  24176. Fcharset: TFcCharSet{
  24177. Fref: TFcRef{
  24178. Fcount: -libc.Int32FromInt32(1),
  24179. },
  24180. Fnum: int32(1),
  24181. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(145)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24182. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(145)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24183. },
  24184. },
  24185. 146: {
  24186. Flang: [16]TFcChar8{'n', 'l'},
  24187. Fcharset: TFcCharSet{
  24188. Fref: TFcRef{
  24189. Fcount: -libc.Int32FromInt32(1),
  24190. },
  24191. Fnum: int32(1),
  24192. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24193. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24194. },
  24195. },
  24196. 147: {
  24197. Flang: [16]TFcChar8{'n', 'n'},
  24198. Fcharset: TFcCharSet{
  24199. Fref: TFcRef{
  24200. Fcount: -libc.Int32FromInt32(1),
  24201. },
  24202. Fnum: int32(1),
  24203. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24204. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24205. },
  24206. },
  24207. 148: {
  24208. Flang: [16]TFcChar8{'n', 'o'},
  24209. Fcharset: TFcCharSet{
  24210. Fref: TFcRef{
  24211. Fcount: -libc.Int32FromInt32(1),
  24212. },
  24213. Fnum: int32(1),
  24214. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24215. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24216. },
  24217. },
  24218. 149: {
  24219. Flang: [16]TFcChar8{'n', 'q', 'o'},
  24220. Fcharset: TFcCharSet{
  24221. Fref: TFcRef{
  24222. Fcount: -libc.Int32FromInt32(1),
  24223. },
  24224. Fnum: int32(1),
  24225. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24226. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24227. },
  24228. },
  24229. 150: {
  24230. Flang: [16]TFcChar8{'n', 'r'},
  24231. Fcharset: TFcCharSet{
  24232. Fref: TFcRef{
  24233. Fcount: -libc.Int32FromInt32(1),
  24234. },
  24235. Fnum: int32(1),
  24236. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(150)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24237. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(150)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24238. },
  24239. },
  24240. 151: {
  24241. Flang: [16]TFcChar8{'n', 's', 'o'},
  24242. Fcharset: TFcCharSet{
  24243. Fref: TFcRef{
  24244. Fcount: -libc.Int32FromInt32(1),
  24245. },
  24246. Fnum: int32(2),
  24247. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24248. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24249. },
  24250. },
  24251. 152: {
  24252. Flang: [16]TFcChar8{'n', 'v'},
  24253. Fcharset: TFcCharSet{
  24254. Fref: TFcRef{
  24255. Fcount: -libc.Int32FromInt32(1),
  24256. },
  24257. Fnum: int32(4),
  24258. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24259. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24260. },
  24261. },
  24262. 153: {
  24263. Flang: [16]TFcChar8{'n', 'y'},
  24264. Fcharset: TFcCharSet{
  24265. Fref: TFcRef{
  24266. Fcount: -libc.Int32FromInt32(1),
  24267. },
  24268. Fnum: int32(2),
  24269. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24270. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24271. },
  24272. },
  24273. 154: {
  24274. Flang: [16]TFcChar8{'o', 'c'},
  24275. Fcharset: TFcCharSet{
  24276. Fref: TFcRef{
  24277. Fcount: -libc.Int32FromInt32(1),
  24278. },
  24279. Fnum: int32(1),
  24280. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24281. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24282. },
  24283. },
  24284. 155: {
  24285. Flang: [16]TFcChar8{'o', 'm'},
  24286. Fcharset: TFcCharSet{
  24287. Fref: TFcRef{
  24288. Fcount: -libc.Int32FromInt32(1),
  24289. },
  24290. Fnum: int32(1),
  24291. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(155)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24292. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(155)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24293. },
  24294. },
  24295. 156: {
  24296. Flang: [16]TFcChar8{'o', 'r'},
  24297. Fcharset: TFcCharSet{
  24298. Fref: TFcRef{
  24299. Fcount: -libc.Int32FromInt32(1),
  24300. },
  24301. Fnum: int32(1),
  24302. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24303. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24304. },
  24305. },
  24306. 157: {
  24307. Flang: [16]TFcChar8{'o', 's'},
  24308. Fcharset: TFcCharSet{
  24309. Fref: TFcRef{
  24310. Fcount: -libc.Int32FromInt32(1),
  24311. },
  24312. Fnum: int32(1),
  24313. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24314. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24315. },
  24316. },
  24317. 158: {
  24318. Flang: [16]TFcChar8{'o', 't', 'a'},
  24319. Fcharset: TFcCharSet{
  24320. Fref: TFcRef{
  24321. Fcount: -libc.Int32FromInt32(1),
  24322. },
  24323. Fnum: int32(1),
  24324. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24325. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24326. },
  24327. },
  24328. 159: {
  24329. Flang: [16]TFcChar8{'p', 'a'},
  24330. Fcharset: TFcCharSet{
  24331. Fref: TFcRef{
  24332. Fcount: -libc.Int32FromInt32(1),
  24333. },
  24334. Fnum: int32(1),
  24335. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24336. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24337. },
  24338. },
  24339. 160: {
  24340. Flang: [16]TFcChar8{'p', 'a', '-', 'p', 'k'},
  24341. Fcharset: TFcCharSet{
  24342. Fref: TFcRef{
  24343. Fcount: -libc.Int32FromInt32(1),
  24344. },
  24345. Fnum: int32(1),
  24346. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24347. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24348. },
  24349. },
  24350. 161: {
  24351. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'n'},
  24352. Fcharset: TFcCharSet{
  24353. Fref: TFcRef{
  24354. Fcount: -libc.Int32FromInt32(1),
  24355. },
  24356. Fnum: int32(1),
  24357. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24358. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24359. },
  24360. },
  24361. 162: {
  24362. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'w'},
  24363. Fcharset: TFcCharSet{
  24364. Fref: TFcRef{
  24365. Fcount: -libc.Int32FromInt32(1),
  24366. },
  24367. Fnum: int32(1),
  24368. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24369. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24370. },
  24371. },
  24372. 163: {
  24373. Flang: [16]TFcChar8{'p', 'l'},
  24374. Fcharset: TFcCharSet{
  24375. Fref: TFcRef{
  24376. Fcount: -libc.Int32FromInt32(1),
  24377. },
  24378. Fnum: int32(2),
  24379. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24380. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24381. },
  24382. },
  24383. 164: {
  24384. Flang: [16]TFcChar8{'p', 's', '-', 'a', 'f'},
  24385. Fcharset: TFcCharSet{
  24386. Fref: TFcRef{
  24387. Fcount: -libc.Int32FromInt32(1),
  24388. },
  24389. Fnum: int32(1),
  24390. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24391. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24392. },
  24393. },
  24394. 165: {
  24395. Flang: [16]TFcChar8{'p', 's', '-', 'p', 'k'},
  24396. Fcharset: TFcCharSet{
  24397. Fref: TFcRef{
  24398. Fcount: -libc.Int32FromInt32(1),
  24399. },
  24400. Fnum: int32(1),
  24401. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24402. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24403. },
  24404. },
  24405. 166: {
  24406. Flang: [16]TFcChar8{'p', 't'},
  24407. Fcharset: TFcCharSet{
  24408. Fref: TFcRef{
  24409. Fcount: -libc.Int32FromInt32(1),
  24410. },
  24411. Fnum: int32(1),
  24412. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24413. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24414. },
  24415. },
  24416. 167: {
  24417. Flang: [16]TFcChar8{'q', 'u'},
  24418. Fcharset: TFcCharSet{
  24419. Fref: TFcRef{
  24420. Fcount: -libc.Int32FromInt32(1),
  24421. },
  24422. Fnum: int32(2),
  24423. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24424. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24425. },
  24426. },
  24427. 168: {
  24428. Flang: [16]TFcChar8{'q', 'u', 'z'},
  24429. Fcharset: TFcCharSet{
  24430. Fref: TFcRef{
  24431. Fcount: -libc.Int32FromInt32(1),
  24432. },
  24433. Fnum: int32(2),
  24434. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24435. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24436. },
  24437. },
  24438. 169: {
  24439. Flang: [16]TFcChar8{'r', 'm'},
  24440. Fcharset: TFcCharSet{
  24441. Fref: TFcRef{
  24442. Fcount: -libc.Int32FromInt32(1),
  24443. },
  24444. Fnum: int32(1),
  24445. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24446. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24447. },
  24448. },
  24449. 170: {
  24450. Flang: [16]TFcChar8{'r', 'n'},
  24451. Fcharset: TFcCharSet{
  24452. Fref: TFcRef{
  24453. Fcount: -libc.Int32FromInt32(1),
  24454. },
  24455. Fnum: int32(1),
  24456. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(170)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24457. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(170)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24458. },
  24459. },
  24460. 171: {
  24461. Flang: [16]TFcChar8{'r', 'o'},
  24462. Fcharset: TFcCharSet{
  24463. Fref: TFcRef{
  24464. Fcount: -libc.Int32FromInt32(1),
  24465. },
  24466. Fnum: int32(3),
  24467. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24468. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24469. },
  24470. },
  24471. 172: {
  24472. Flang: [16]TFcChar8{'r', 'u'},
  24473. Fcharset: TFcCharSet{
  24474. Fref: TFcRef{
  24475. Fcount: -libc.Int32FromInt32(1),
  24476. },
  24477. Fnum: int32(1),
  24478. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24479. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24480. },
  24481. },
  24482. 173: {
  24483. Flang: [16]TFcChar8{'r', 'w'},
  24484. Fcharset: TFcCharSet{
  24485. Fref: TFcRef{
  24486. Fcount: -libc.Int32FromInt32(1),
  24487. },
  24488. Fnum: int32(1),
  24489. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(173)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24490. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(173)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24491. },
  24492. },
  24493. 174: {
  24494. Flang: [16]TFcChar8{'s', 'a'},
  24495. Fcharset: TFcCharSet{
  24496. Fref: TFcRef{
  24497. Fcount: -libc.Int32FromInt32(1),
  24498. },
  24499. Fnum: int32(1),
  24500. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(174)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24501. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(174)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24502. },
  24503. },
  24504. 175: {
  24505. Flang: [16]TFcChar8{'s', 'a', 'h'},
  24506. Fcharset: TFcCharSet{
  24507. Fref: TFcRef{
  24508. Fcount: -libc.Int32FromInt32(1),
  24509. },
  24510. Fnum: int32(1),
  24511. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24512. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24513. },
  24514. },
  24515. 176: {
  24516. Flang: [16]TFcChar8{'s', 'a', 't'},
  24517. Fcharset: TFcCharSet{
  24518. Fref: TFcRef{
  24519. Fcount: -libc.Int32FromInt32(1),
  24520. },
  24521. Fnum: int32(1),
  24522. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24523. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24524. },
  24525. },
  24526. 177: {
  24527. Flang: [16]TFcChar8{'s', 'c'},
  24528. Fcharset: TFcCharSet{
  24529. Fref: TFcRef{
  24530. Fcount: -libc.Int32FromInt32(1),
  24531. },
  24532. Fnum: int32(1),
  24533. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24534. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24535. },
  24536. },
  24537. 178: {
  24538. Flang: [16]TFcChar8{'s', 'c', 'o'},
  24539. Fcharset: TFcCharSet{
  24540. Fref: TFcRef{
  24541. Fcount: -libc.Int32FromInt32(1),
  24542. },
  24543. Fnum: int32(3),
  24544. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24545. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24546. },
  24547. },
  24548. 179: {
  24549. Flang: [16]TFcChar8{'s', 'd'},
  24550. Fcharset: TFcCharSet{
  24551. Fref: TFcRef{
  24552. Fcount: -libc.Int32FromInt32(1),
  24553. },
  24554. Fnum: int32(1),
  24555. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24556. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24557. },
  24558. },
  24559. 180: {
  24560. Flang: [16]TFcChar8{'s', 'e'},
  24561. Fcharset: TFcCharSet{
  24562. Fref: TFcRef{
  24563. Fcount: -libc.Int32FromInt32(1),
  24564. },
  24565. Fnum: int32(2),
  24566. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24567. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24568. },
  24569. },
  24570. 181: {
  24571. Flang: [16]TFcChar8{'s', 'e', 'l'},
  24572. Fcharset: TFcCharSet{
  24573. Fref: TFcRef{
  24574. Fcount: -libc.Int32FromInt32(1),
  24575. },
  24576. Fnum: int32(1),
  24577. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24578. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24579. },
  24580. },
  24581. 182: {
  24582. Flang: [16]TFcChar8{'s', 'g'},
  24583. Fcharset: TFcCharSet{
  24584. Fref: TFcRef{
  24585. Fcount: -libc.Int32FromInt32(1),
  24586. },
  24587. Fnum: int32(1),
  24588. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24589. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24590. },
  24591. },
  24592. 183: {
  24593. Flang: [16]TFcChar8{'s', 'h'},
  24594. Fcharset: TFcCharSet{
  24595. Fref: TFcRef{
  24596. Fcount: -libc.Int32FromInt32(1),
  24597. },
  24598. Fnum: int32(3),
  24599. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24600. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24601. },
  24602. },
  24603. 184: {
  24604. Flang: [16]TFcChar8{'s', 'h', 's'},
  24605. Fcharset: TFcCharSet{
  24606. Fref: TFcRef{
  24607. Fcount: -libc.Int32FromInt32(1),
  24608. },
  24609. Fnum: int32(2),
  24610. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24611. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24612. },
  24613. },
  24614. 185: {
  24615. Flang: [16]TFcChar8{'s', 'i'},
  24616. Fcharset: TFcCharSet{
  24617. Fref: TFcRef{
  24618. Fcount: -libc.Int32FromInt32(1),
  24619. },
  24620. Fnum: int32(1),
  24621. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24622. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24623. },
  24624. },
  24625. 186: {
  24626. Flang: [16]TFcChar8{'s', 'i', 'd'},
  24627. Fcharset: TFcCharSet{
  24628. Fref: TFcRef{
  24629. Fcount: -libc.Int32FromInt32(1),
  24630. },
  24631. Fnum: int32(2),
  24632. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24633. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24634. },
  24635. },
  24636. 187: {
  24637. Flang: [16]TFcChar8{'s', 'k'},
  24638. Fcharset: TFcCharSet{
  24639. Fref: TFcRef{
  24640. Fcount: -libc.Int32FromInt32(1),
  24641. },
  24642. Fnum: int32(2),
  24643. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24644. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24645. },
  24646. },
  24647. 188: {
  24648. Flang: [16]TFcChar8{'s', 'l'},
  24649. Fcharset: TFcCharSet{
  24650. Fref: TFcRef{
  24651. Fcount: -libc.Int32FromInt32(1),
  24652. },
  24653. Fnum: int32(2),
  24654. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(188)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24655. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(188)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24656. },
  24657. },
  24658. 189: {
  24659. Flang: [16]TFcChar8{'s', 'm'},
  24660. Fcharset: TFcCharSet{
  24661. Fref: TFcRef{
  24662. Fcount: -libc.Int32FromInt32(1),
  24663. },
  24664. Fnum: int32(2),
  24665. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24666. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24667. },
  24668. },
  24669. 190: {
  24670. Flang: [16]TFcChar8{'s', 'm', 'a'},
  24671. Fcharset: TFcCharSet{
  24672. Fref: TFcRef{
  24673. Fcount: -libc.Int32FromInt32(1),
  24674. },
  24675. Fnum: int32(1),
  24676. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24677. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24678. },
  24679. },
  24680. 191: {
  24681. Flang: [16]TFcChar8{'s', 'm', 'j'},
  24682. Fcharset: TFcCharSet{
  24683. Fref: TFcRef{
  24684. Fcount: -libc.Int32FromInt32(1),
  24685. },
  24686. Fnum: int32(1),
  24687. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24688. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24689. },
  24690. },
  24691. 192: {
  24692. Flang: [16]TFcChar8{'s', 'm', 'n'},
  24693. Fcharset: TFcCharSet{
  24694. Fref: TFcRef{
  24695. Fcount: -libc.Int32FromInt32(1),
  24696. },
  24697. Fnum: int32(2),
  24698. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24699. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24700. },
  24701. },
  24702. 193: {
  24703. Flang: [16]TFcChar8{'s', 'm', 's'},
  24704. Fcharset: TFcCharSet{
  24705. Fref: TFcRef{
  24706. Fcount: -libc.Int32FromInt32(1),
  24707. },
  24708. Fnum: int32(3),
  24709. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24710. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24711. },
  24712. },
  24713. 194: {
  24714. Flang: [16]TFcChar8{'s', 'n'},
  24715. Fcharset: TFcCharSet{
  24716. Fref: TFcRef{
  24717. Fcount: -libc.Int32FromInt32(1),
  24718. },
  24719. Fnum: int32(1),
  24720. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(194)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24721. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(194)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24722. },
  24723. },
  24724. 195: {
  24725. Flang: [16]TFcChar8{'s', 'o'},
  24726. Fcharset: TFcCharSet{
  24727. Fref: TFcRef{
  24728. Fcount: -libc.Int32FromInt32(1),
  24729. },
  24730. Fnum: int32(1),
  24731. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(195)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24732. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(195)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24733. },
  24734. },
  24735. 196: {
  24736. Flang: [16]TFcChar8{'s', 'q'},
  24737. Fcharset: TFcCharSet{
  24738. Fref: TFcRef{
  24739. Fcount: -libc.Int32FromInt32(1),
  24740. },
  24741. Fnum: int32(1),
  24742. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24743. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24744. },
  24745. },
  24746. 197: {
  24747. Flang: [16]TFcChar8{'s', 'r'},
  24748. Fcharset: TFcCharSet{
  24749. Fref: TFcRef{
  24750. Fcount: -libc.Int32FromInt32(1),
  24751. },
  24752. Fnum: int32(1),
  24753. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24754. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24755. },
  24756. },
  24757. 198: {
  24758. Flang: [16]TFcChar8{'s', 's'},
  24759. Fcharset: TFcCharSet{
  24760. Fref: TFcRef{
  24761. Fcount: -libc.Int32FromInt32(1),
  24762. },
  24763. Fnum: int32(1),
  24764. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(198)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24765. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(198)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24766. },
  24767. },
  24768. 199: {
  24769. Flang: [16]TFcChar8{'s', 't'},
  24770. Fcharset: TFcCharSet{
  24771. Fref: TFcRef{
  24772. Fcount: -libc.Int32FromInt32(1),
  24773. },
  24774. Fnum: int32(1),
  24775. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(199)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24776. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(199)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24777. },
  24778. },
  24779. 200: {
  24780. Flang: [16]TFcChar8{'s', 'u'},
  24781. Fcharset: TFcCharSet{
  24782. Fref: TFcRef{
  24783. Fcount: -libc.Int32FromInt32(1),
  24784. },
  24785. Fnum: int32(1),
  24786. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(200)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24787. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(200)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24788. },
  24789. },
  24790. 201: {
  24791. Flang: [16]TFcChar8{'s', 'v'},
  24792. Fcharset: TFcCharSet{
  24793. Fref: TFcRef{
  24794. Fcount: -libc.Int32FromInt32(1),
  24795. },
  24796. Fnum: int32(1),
  24797. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24798. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24799. },
  24800. },
  24801. 202: {
  24802. Flang: [16]TFcChar8{'s', 'w'},
  24803. Fcharset: TFcCharSet{
  24804. Fref: TFcRef{
  24805. Fcount: -libc.Int32FromInt32(1),
  24806. },
  24807. Fnum: int32(1),
  24808. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(202)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24809. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(202)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24810. },
  24811. },
  24812. 203: {
  24813. Flang: [16]TFcChar8{'s', 'y', 'r'},
  24814. Fcharset: TFcCharSet{
  24815. Fref: TFcRef{
  24816. Fcount: -libc.Int32FromInt32(1),
  24817. },
  24818. Fnum: int32(1),
  24819. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24820. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24821. },
  24822. },
  24823. 204: {
  24824. Flang: [16]TFcChar8{'t', 'a'},
  24825. Fcharset: TFcCharSet{
  24826. Fref: TFcRef{
  24827. Fcount: -libc.Int32FromInt32(1),
  24828. },
  24829. Fnum: int32(1),
  24830. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24831. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24832. },
  24833. },
  24834. 205: {
  24835. Flang: [16]TFcChar8{'t', 'e'},
  24836. Fcharset: TFcCharSet{
  24837. Fref: TFcRef{
  24838. Fcount: -libc.Int32FromInt32(1),
  24839. },
  24840. Fnum: int32(1),
  24841. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24842. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24843. },
  24844. },
  24845. 206: {
  24846. Flang: [16]TFcChar8{'t', 'g'},
  24847. Fcharset: TFcCharSet{
  24848. Fref: TFcRef{
  24849. Fcount: -libc.Int32FromInt32(1),
  24850. },
  24851. Fnum: int32(1),
  24852. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24853. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24854. },
  24855. },
  24856. 207: {
  24857. Flang: [16]TFcChar8{'t', 'h'},
  24858. Fcharset: TFcCharSet{
  24859. Fref: TFcRef{
  24860. Fcount: -libc.Int32FromInt32(1),
  24861. },
  24862. Fnum: int32(1),
  24863. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24864. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24865. },
  24866. },
  24867. 208: {
  24868. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 'r'},
  24869. Fcharset: TFcCharSet{
  24870. Fref: TFcRef{
  24871. Fcount: -libc.Int32FromInt32(1),
  24872. },
  24873. Fnum: int32(2),
  24874. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(208)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24875. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(208)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24876. },
  24877. },
  24878. 209: {
  24879. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 't'},
  24880. Fcharset: TFcCharSet{
  24881. Fref: TFcRef{
  24882. Fcount: -libc.Int32FromInt32(1),
  24883. },
  24884. Fnum: int32(2),
  24885. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24886. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24887. },
  24888. },
  24889. 210: {
  24890. Flang: [16]TFcChar8{'t', 'i', 'g'},
  24891. Fcharset: TFcCharSet{
  24892. Fref: TFcRef{
  24893. Fcount: -libc.Int32FromInt32(1),
  24894. },
  24895. Fnum: int32(2),
  24896. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24897. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24898. },
  24899. },
  24900. 211: {
  24901. Flang: [16]TFcChar8{'t', 'k'},
  24902. Fcharset: TFcCharSet{
  24903. Fref: TFcRef{
  24904. Fcount: -libc.Int32FromInt32(1),
  24905. },
  24906. Fnum: int32(2),
  24907. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24908. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24909. },
  24910. },
  24911. 212: {
  24912. Flang: [16]TFcChar8{'t', 'l'},
  24913. Fcharset: TFcCharSet{
  24914. Fref: TFcRef{
  24915. Fcount: -libc.Int32FromInt32(1),
  24916. },
  24917. Fnum: int32(1),
  24918. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(212)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24919. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(212)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24920. },
  24921. },
  24922. 213: {
  24923. Flang: [16]TFcChar8{'t', 'n'},
  24924. Fcharset: TFcCharSet{
  24925. Fref: TFcRef{
  24926. Fcount: -libc.Int32FromInt32(1),
  24927. },
  24928. Fnum: int32(2),
  24929. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24930. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24931. },
  24932. },
  24933. 214: {
  24934. Flang: [16]TFcChar8{'t', 'o'},
  24935. Fcharset: TFcCharSet{
  24936. Fref: TFcRef{
  24937. Fcount: -libc.Int32FromInt32(1),
  24938. },
  24939. Fnum: int32(2),
  24940. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24941. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24942. },
  24943. },
  24944. 215: {
  24945. Flang: [16]TFcChar8{'t', 'r'},
  24946. Fcharset: TFcCharSet{
  24947. Fref: TFcRef{
  24948. Fcount: -libc.Int32FromInt32(1),
  24949. },
  24950. Fnum: int32(2),
  24951. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24952. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24953. },
  24954. },
  24955. 216: {
  24956. Flang: [16]TFcChar8{'t', 's'},
  24957. Fcharset: TFcCharSet{
  24958. Fref: TFcRef{
  24959. Fcount: -libc.Int32FromInt32(1),
  24960. },
  24961. Fnum: int32(1),
  24962. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(216)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24963. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(216)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24964. },
  24965. },
  24966. 217: {
  24967. Flang: [16]TFcChar8{'t', 't'},
  24968. Fcharset: TFcCharSet{
  24969. Fref: TFcRef{
  24970. Fcount: -libc.Int32FromInt32(1),
  24971. },
  24972. Fnum: int32(1),
  24973. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24974. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24975. },
  24976. },
  24977. 218: {
  24978. Flang: [16]TFcChar8{'t', 'w'},
  24979. Fcharset: TFcCharSet{
  24980. Fref: TFcRef{
  24981. Fcount: -libc.Int32FromInt32(1),
  24982. },
  24983. Fnum: int32(5),
  24984. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(218)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24985. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(218)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24986. },
  24987. },
  24988. 219: {
  24989. Flang: [16]TFcChar8{'t', 'y'},
  24990. Fcharset: TFcCharSet{
  24991. Fref: TFcRef{
  24992. Fcount: -libc.Int32FromInt32(1),
  24993. },
  24994. Fnum: int32(3),
  24995. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24996. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24997. },
  24998. },
  24999. 220: {
  25000. Flang: [16]TFcChar8{'t', 'y', 'v'},
  25001. Fcharset: TFcCharSet{
  25002. Fref: TFcRef{
  25003. Fcount: -libc.Int32FromInt32(1),
  25004. },
  25005. Fnum: int32(1),
  25006. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25007. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25008. },
  25009. },
  25010. 221: {
  25011. Flang: [16]TFcChar8{'u', 'g'},
  25012. Fcharset: TFcCharSet{
  25013. Fref: TFcRef{
  25014. Fcount: -libc.Int32FromInt32(1),
  25015. },
  25016. Fnum: int32(1),
  25017. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25018. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25019. },
  25020. },
  25021. 222: {
  25022. Flang: [16]TFcChar8{'u', 'k'},
  25023. Fcharset: TFcCharSet{
  25024. Fref: TFcRef{
  25025. Fcount: -libc.Int32FromInt32(1),
  25026. },
  25027. Fnum: int32(1),
  25028. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25029. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25030. },
  25031. },
  25032. 223: {
  25033. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 'm', 't', 'h'},
  25034. Fcharset: TFcCharSet{
  25035. Fref: TFcRef{
  25036. Fcount: -libc.Int32FromInt32(1),
  25037. },
  25038. Fnum: int32(12),
  25039. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25040. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25041. },
  25042. },
  25043. 224: {
  25044. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 's', 'y', 'e'},
  25045. Fcharset: TFcCharSet{
  25046. Fref: TFcRef{
  25047. Fcount: -libc.Int32FromInt32(1),
  25048. },
  25049. Fnum: int32(12),
  25050. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25051. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25052. },
  25053. },
  25054. 225: {
  25055. Flang: [16]TFcChar8{'u', 'r'},
  25056. Fcharset: TFcCharSet{
  25057. Fref: TFcRef{
  25058. Fcount: -libc.Int32FromInt32(1),
  25059. },
  25060. Fnum: int32(1),
  25061. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25062. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25063. },
  25064. },
  25065. 226: {
  25066. Flang: [16]TFcChar8{'u', 'z'},
  25067. Fcharset: TFcCharSet{
  25068. Fref: TFcRef{
  25069. Fcount: -libc.Int32FromInt32(1),
  25070. },
  25071. Fnum: int32(1),
  25072. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(226)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25073. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(226)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25074. },
  25075. },
  25076. 227: {
  25077. Flang: [16]TFcChar8{'v', 'e'},
  25078. Fcharset: TFcCharSet{
  25079. Fref: TFcRef{
  25080. Fcount: -libc.Int32FromInt32(1),
  25081. },
  25082. Fnum: int32(2),
  25083. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25084. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25085. },
  25086. },
  25087. 228: {
  25088. Flang: [16]TFcChar8{'v', 'i'},
  25089. Fcharset: TFcCharSet{
  25090. Fref: TFcRef{
  25091. Fcount: -libc.Int32FromInt32(1),
  25092. },
  25093. Fnum: int32(4),
  25094. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25095. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25096. },
  25097. },
  25098. 229: {
  25099. Flang: [16]TFcChar8{'v', 'o'},
  25100. Fcharset: TFcCharSet{
  25101. Fref: TFcRef{
  25102. Fcount: -libc.Int32FromInt32(1),
  25103. },
  25104. Fnum: int32(1),
  25105. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25106. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25107. },
  25108. },
  25109. 230: {
  25110. Flang: [16]TFcChar8{'v', 'o', 't'},
  25111. Fcharset: TFcCharSet{
  25112. Fref: TFcRef{
  25113. Fcount: -libc.Int32FromInt32(1),
  25114. },
  25115. Fnum: int32(2),
  25116. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25117. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25118. },
  25119. },
  25120. 231: {
  25121. Flang: [16]TFcChar8{'w', 'a'},
  25122. Fcharset: TFcCharSet{
  25123. Fref: TFcRef{
  25124. Fcount: -libc.Int32FromInt32(1),
  25125. },
  25126. Fnum: int32(1),
  25127. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25128. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25129. },
  25130. },
  25131. 232: {
  25132. Flang: [16]TFcChar8{'w', 'a', 'l'},
  25133. Fcharset: TFcCharSet{
  25134. Fref: TFcRef{
  25135. Fcount: -libc.Int32FromInt32(1),
  25136. },
  25137. Fnum: int32(2),
  25138. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25139. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25140. },
  25141. },
  25142. 233: {
  25143. Flang: [16]TFcChar8{'w', 'e', 'n'},
  25144. Fcharset: TFcCharSet{
  25145. Fref: TFcRef{
  25146. Fcount: -libc.Int32FromInt32(1),
  25147. },
  25148. Fnum: int32(2),
  25149. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25150. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25151. },
  25152. },
  25153. 234: {
  25154. Flang: [16]TFcChar8{'w', 'o'},
  25155. Fcharset: TFcCharSet{
  25156. Fref: TFcRef{
  25157. Fcount: -libc.Int32FromInt32(1),
  25158. },
  25159. Fnum: int32(2),
  25160. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25161. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25162. },
  25163. },
  25164. 235: {
  25165. Flang: [16]TFcChar8{'x', 'h'},
  25166. Fcharset: TFcCharSet{
  25167. Fref: TFcRef{
  25168. Fcount: -libc.Int32FromInt32(1),
  25169. },
  25170. Fnum: int32(1),
  25171. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(235)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25172. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(235)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25173. },
  25174. },
  25175. 236: {
  25176. Flang: [16]TFcChar8{'y', 'a', 'p'},
  25177. Fcharset: TFcCharSet{
  25178. Fref: TFcRef{
  25179. Fcount: -libc.Int32FromInt32(1),
  25180. },
  25181. Fnum: int32(1),
  25182. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25183. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25184. },
  25185. },
  25186. 237: {
  25187. Flang: [16]TFcChar8{'y', 'i'},
  25188. Fcharset: TFcCharSet{
  25189. Fref: TFcRef{
  25190. Fcount: -libc.Int32FromInt32(1),
  25191. },
  25192. Fnum: int32(1),
  25193. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(237)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25194. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(237)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25195. },
  25196. },
  25197. 238: {
  25198. Flang: [16]TFcChar8{'y', 'o'},
  25199. Fcharset: TFcCharSet{
  25200. Fref: TFcRef{
  25201. Fcount: -libc.Int32FromInt32(1),
  25202. },
  25203. Fnum: int32(4),
  25204. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25205. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25206. },
  25207. },
  25208. 239: {
  25209. Flang: [16]TFcChar8{'z', 'a'},
  25210. Fcharset: TFcCharSet{
  25211. Fref: TFcRef{
  25212. Fcount: -libc.Int32FromInt32(1),
  25213. },
  25214. Fnum: int32(1),
  25215. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(239)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25216. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(239)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25217. },
  25218. },
  25219. 240: {
  25220. Flang: [16]TFcChar8{'z', 'h', '-', 'c', 'n'},
  25221. Fcharset: TFcCharSet{
  25222. Fref: TFcRef{
  25223. Fcount: -libc.Int32FromInt32(1),
  25224. },
  25225. Fnum: int32(82),
  25226. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25227. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25228. },
  25229. },
  25230. 241: {
  25231. Flang: [16]TFcChar8{'z', 'h', '-', 'h', 'k'},
  25232. Fcharset: TFcCharSet{
  25233. Fref: TFcRef{
  25234. Fcount: -libc.Int32FromInt32(1),
  25235. },
  25236. Fnum: int32(171),
  25237. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25238. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25239. },
  25240. },
  25241. 242: {
  25242. Flang: [16]TFcChar8{'z', 'h', '-', 'm', 'o'},
  25243. Fcharset: TFcCharSet{
  25244. Fref: TFcRef{
  25245. Fcount: -libc.Int32FromInt32(1),
  25246. },
  25247. Fnum: int32(171),
  25248. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25249. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25250. },
  25251. },
  25252. 243: {
  25253. Flang: [16]TFcChar8{'z', 'h', '-', 's', 'g'},
  25254. Fcharset: TFcCharSet{
  25255. Fref: TFcRef{
  25256. Fcount: -libc.Int32FromInt32(1),
  25257. },
  25258. Fnum: int32(82),
  25259. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25260. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25261. },
  25262. },
  25263. 244: {
  25264. Flang: [16]TFcChar8{'z', 'h', '-', 't', 'w'},
  25265. Fcharset: TFcCharSet{
  25266. Fref: TFcRef{
  25267. Fcount: -libc.Int32FromInt32(1),
  25268. },
  25269. Fnum: int32(83),
  25270. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25271. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25272. },
  25273. },
  25274. 245: {
  25275. Flang: [16]TFcChar8{'z', 'u'},
  25276. Fcharset: TFcCharSet{
  25277. Fref: TFcRef{
  25278. Fcount: -libc.Int32FromInt32(1),
  25279. },
  25280. Fnum: int32(1),
  25281. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(245)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25282. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(245)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25283. },
  25284. },
  25285. },
  25286. Fleaves: [725]TFcCharLeaf{
  25287. 0: {
  25288. Fmap1: [8]TFcChar32{
  25289. 2: uint32(0x07fffffe),
  25290. 3: uint32(0x07fffffe),
  25291. 6: uint32(0x08104404),
  25292. 7: uint32(0x08104404),
  25293. },
  25294. },
  25295. 1: {
  25296. Fmap1: [8]TFcChar32{
  25297. 0: uint32(0xffff8002),
  25298. 1: uint32(0xffffffff),
  25299. 2: uint32(0x8002ffff),
  25300. 4: uint32(0xc0000000),
  25301. 5: uint32(0xf0fc33c0),
  25302. 6: uint32(0x03000000),
  25303. 7: uint32(0x00000003),
  25304. },
  25305. },
  25306. 2: {
  25307. Fmap1: [8]TFcChar32{
  25308. 2: uint32(0x07fffffe),
  25309. 3: uint32(0x07fffffe),
  25310. 6: uint32(0x0810cf00),
  25311. 7: uint32(0x0810cf00),
  25312. },
  25313. },
  25314. 3: {
  25315. Fmap1: [8]TFcChar32{
  25316. 2: uint32(0x00000200),
  25317. },
  25318. },
  25319. 4: {
  25320. Fmap1: [8]TFcChar32{
  25321. 2: uint32(0x07fffffe),
  25322. 3: uint32(0x07fffffe),
  25323. 6: uint32(0x00220008),
  25324. 7: uint32(0x00220008),
  25325. },
  25326. },
  25327. 5: {
  25328. Fmap1: [8]TFcChar32{
  25329. 1: uint32(0x00000300),
  25330. 3: uint32(0x00000300),
  25331. 4: uint32(0x00010040),
  25332. },
  25333. },
  25334. 6: {
  25335. Fmap1: [8]TFcChar32{
  25336. 2: uint32(0x08100000),
  25337. },
  25338. },
  25339. 7: {
  25340. Fmap1: [8]TFcChar32{
  25341. 0: uint32(0x00000048),
  25342. 1: uint32(0x00000200),
  25343. },
  25344. },
  25345. 8: {
  25346. Fmap1: [8]TFcChar32{
  25347. 5: uint32(0x30000000),
  25348. 7: uint32(0x03000000),
  25349. },
  25350. },
  25351. 9: {
  25352. Fmap1: [8]TFcChar32{
  25353. 0: uint32(0xff7fff7f),
  25354. 1: uint32(0xff01ff7f),
  25355. 2: uint32(0x00003d7f),
  25356. 3: uint32(0xffff7fff),
  25357. 4: uint32(0xffff3d7f),
  25358. 5: uint32(0x003d7fff),
  25359. 6: uint32(0xff7f7f00),
  25360. 7: uint32(0x00ff7fff),
  25361. },
  25362. },
  25363. 10: {
  25364. Fmap1: [8]TFcChar32{
  25365. 0: uint32(0x003d7fff),
  25366. 1: uint32(0xffffffff),
  25367. 2: uint32(0x007fff7f),
  25368. },
  25369. },
  25370. 11: {
  25371. Fmap1: [8]TFcChar32{
  25372. 2: uint32(0x07fffffe),
  25373. 3: uint32(0x07fffffe),
  25374. 6: uint32(0x140a2202),
  25375. 7: uint32(0x140a2202),
  25376. },
  25377. },
  25378. 12: {
  25379. Fmap1: [8]TFcChar32{
  25380. 1: uint32(0x07fffffe),
  25381. 2: uint32(0x000007fe),
  25382. },
  25383. },
  25384. 13: {
  25385. Fmap1: [8]TFcChar32{
  25386. 4: uint32(0xfff99fee),
  25387. 5: uint32(0xd3c4fdff),
  25388. 6: uint32(0xb000399f),
  25389. 7: uint32(0x00030000),
  25390. },
  25391. },
  25392. 14: {
  25393. Fmap1: [8]TFcChar32{
  25394. 1: uint32(0x00c00030),
  25395. },
  25396. },
  25397. 15: {
  25398. Fmap1: [8]TFcChar32{
  25399. 0: uint32(0xffff0042),
  25400. 1: uint32(0xffffffff),
  25401. 2: uint32(0x0002ffff),
  25402. },
  25403. },
  25404. 16: {
  25405. Fmap1: [8]TFcChar32{
  25406. 2: uint32(0x07fffffe),
  25407. 3: uint32(0x07fffffe),
  25408. 6: uint32(0x10028010),
  25409. 7: uint32(0x10028010),
  25410. },
  25411. },
  25412. 17: {
  25413. Fmap1: [8]TFcChar32{
  25414. 2: uint32(0x07fffffe),
  25415. 3: uint32(0x07fffffe),
  25416. 6: uint32(0x10400080),
  25417. 7: uint32(0x10400080),
  25418. },
  25419. },
  25420. 18: {
  25421. Fmap1: [8]TFcChar32{
  25422. 0: uint32(0xc0000000),
  25423. 1: uint32(0x00030000),
  25424. 2: uint32(0xc0000000),
  25425. 4: uint32(0x00008000),
  25426. },
  25427. },
  25428. 19: {
  25429. Fmap1: [8]TFcChar32{
  25430. 2: uint32(0x02000000),
  25431. },
  25432. },
  25433. 20: {
  25434. Fmap1: [8]TFcChar32{
  25435. 1: uint32(0x07ffffde),
  25436. 2: uint32(0x001009f6),
  25437. 3: uint32(0x40000000),
  25438. 4: uint32(0x01000040),
  25439. 5: uint32(0x00008200),
  25440. 6: uint32(0x00001000),
  25441. },
  25442. },
  25443. 21: {
  25444. Fmap1: [8]TFcChar32{
  25445. 0: uint32(0xffff0000),
  25446. 1: uint32(0xffffffff),
  25447. 2: uint32(0x0000ffff),
  25448. 4: uint32(0x030c0000),
  25449. 5: uint32(0x0c00cc0f),
  25450. 6: uint32(0x03000000),
  25451. 7: uint32(0x00000300),
  25452. },
  25453. },
  25454. 22: {
  25455. Fmap1: [8]TFcChar32{
  25456. 0: uint32(0xffff4040),
  25457. 1: uint32(0xffffffff),
  25458. 2: uint32(0x4040ffff),
  25459. },
  25460. },
  25461. 23: {
  25462. Fmap1: [8]TFcChar32{
  25463. 2: uint32(0x07fffffe),
  25464. 3: uint32(0x07fffffe),
  25465. },
  25466. },
  25467. 24: {
  25468. Fmap1: [8]TFcChar32{
  25469. 0: uint32(0x00003000),
  25470. 4: uint32(0x00110000),
  25471. 7: uint32(0x000000c0),
  25472. },
  25473. },
  25474. 25: {
  25475. Fmap1: [8]TFcChar32{
  25476. 2: uint32(0x08000000),
  25477. 3: uint32(0x00000008),
  25478. },
  25479. },
  25480. 26: {
  25481. Fmap1: [8]TFcChar32{
  25482. 0: uint32(0x00003000),
  25483. 1: uint32(0x00000030),
  25484. 3: uint32(0x0000300c),
  25485. 4: uint32(0x000c0000),
  25486. },
  25487. },
  25488. 27: {
  25489. Fmap1: [8]TFcChar32{
  25490. 1: uint32(0x3a8b0000),
  25491. 2: uint32(0x9e78e6b9),
  25492. 3: uint32(0x0000802e),
  25493. },
  25494. },
  25495. 28: {
  25496. Fmap1: [8]TFcChar32{
  25497. 0: uint32(0xffff0000),
  25498. 1: uint32(0xffffd7ff),
  25499. 2: uint32(0x0000d7ff),
  25500. },
  25501. },
  25502. 29: {
  25503. Fmap1: [8]TFcChar32{
  25504. 0: uint32(0xffffffe0),
  25505. 1: uint32(0x83ffffff),
  25506. 2: uint32(0x00003fff),
  25507. },
  25508. },
  25509. 30: {
  25510. Fmap1: [8]TFcChar32{
  25511. 2: uint32(0x07fffffe),
  25512. 3: uint32(0x07fffffe),
  25513. 6: uint32(0x10008200),
  25514. 7: uint32(0x10008200),
  25515. },
  25516. },
  25517. 31: {
  25518. Fmap1: [8]TFcChar32{
  25519. 2: uint32(0x07fffffe),
  25520. 3: uint32(0x07fffffe),
  25521. 6: uint32(0x060c3303),
  25522. 7: uint32(0x060c3303),
  25523. },
  25524. },
  25525. 32: {
  25526. Fmap1: [8]TFcChar32{
  25527. 0: uint32(0x00000003),
  25528. },
  25529. },
  25530. 33: {
  25531. Fmap1: [8]TFcChar32{
  25532. 5: uint32(0x03000000),
  25533. 6: uint32(0x00003000),
  25534. },
  25535. },
  25536. 34: {
  25537. Fmap1: [8]TFcChar32{
  25538. 2: uint32(0x00000c00),
  25539. 4: uint32(0x20010040),
  25540. },
  25541. },
  25542. 35: {
  25543. Fmap1: [8]TFcChar32{
  25544. 2: uint32(0x08100000),
  25545. 3: uint32(0x00040000),
  25546. },
  25547. },
  25548. 36: {
  25549. Fmap1: [8]TFcChar32{
  25550. 4: uint32(0xfff99fee),
  25551. 5: uint32(0xd3c5fdff),
  25552. 6: uint32(0xb000399f),
  25553. },
  25554. },
  25555. 37: {
  25556. Fmap1: [8]TFcChar32{
  25557. 2: uint32(0xfffffeff),
  25558. 3: uint32(0x3d7e03ff),
  25559. 4: uint32(0xfeff0003),
  25560. 5: uint32(0x03ffffff),
  25561. },
  25562. },
  25563. 38: {
  25564. Fmap1: [8]TFcChar32{
  25565. 2: uint32(0x07fffffe),
  25566. 3: uint32(0x07fffffe),
  25567. 6: uint32(0x12120404),
  25568. 7: uint32(0x12120404),
  25569. },
  25570. },
  25571. 39: {
  25572. Fmap1: [8]TFcChar32{
  25573. 0: uint32(0xfff99fee),
  25574. 1: uint32(0xf3e5fdff),
  25575. 2: uint32(0x0007399f),
  25576. 3: uint32(0x0001ffff),
  25577. },
  25578. },
  25579. 40: {
  25580. Fmap1: [8]TFcChar32{
  25581. 0: uint32(0x000330c0),
  25582. 3: uint32(0x60000003),
  25583. },
  25584. },
  25585. 41: {
  25586. Fmap1: [8]TFcChar32{
  25587. 0: uint32(0xffff0002),
  25588. 1: uint32(0xffffffff),
  25589. 2: uint32(0x0002ffff),
  25590. 5: uint32(0x0c00c000),
  25591. },
  25592. },
  25593. 42: {
  25594. Fmap1: [8]TFcChar32{
  25595. 0: uint32(0xff7fff7f),
  25596. 1: uint32(0xff01ff00),
  25597. 2: uint32(0x3d7f3d7f),
  25598. 3: uint32(0xffff7fff),
  25599. 4: uint32(0xffff0000),
  25600. 5: uint32(0x003d7fff),
  25601. 6: uint32(0xff7f7f3d),
  25602. 7: uint32(0x00ff7fff),
  25603. },
  25604. },
  25605. 43: {
  25606. Fmap1: [8]TFcChar32{
  25607. 0: uint32(0x003d7fff),
  25608. 1: uint32(0xffffffff),
  25609. 2: uint32(0x007fff00),
  25610. },
  25611. },
  25612. 44: {
  25613. Fmap1: [8]TFcChar32{
  25614. 2: uint32(0x07fffffe),
  25615. 3: uint32(0x07fffffe),
  25616. 6: uint32(0x140ca381),
  25617. 7: uint32(0x140ca381),
  25618. },
  25619. },
  25620. 45: {
  25621. Fmap1: [8]TFcChar32{
  25622. 1: uint32(0x80000000),
  25623. 2: uint32(0x00000001),
  25624. },
  25625. },
  25626. 46: {
  25627. Fmap1: [8]TFcChar32{
  25628. 2: uint32(0x07fffffe),
  25629. 3: uint32(0x07fffffe),
  25630. 6: uint32(0x10020004),
  25631. 7: uint32(0x10020004),
  25632. },
  25633. },
  25634. 47: {
  25635. Fmap1: [8]TFcChar32{
  25636. 0: uint32(0xffff0002),
  25637. 1: uint32(0xffffffff),
  25638. 2: uint32(0x0002ffff),
  25639. 5: uint32(0x00000030),
  25640. 6: uint32(0x000c0000),
  25641. 7: uint32(0x030300c0),
  25642. },
  25643. },
  25644. 48: {
  25645. Fmap1: [8]TFcChar32{
  25646. 5: uint32(0xffffffff),
  25647. 6: uint32(0xffffffff),
  25648. 7: uint32(0x001fffff),
  25649. },
  25650. },
  25651. 49: {
  25652. Fmap1: [8]TFcChar32{
  25653. 2: uint32(0x07fffffe),
  25654. 3: uint32(0x07fffffe),
  25655. 6: uint32(0x1a10cfc5),
  25656. 7: uint32(0x9a10cfc5),
  25657. },
  25658. },
  25659. 50: {
  25660. Fmap1: [8]TFcChar32{
  25661. 2: uint32(0x000c0000),
  25662. 3: uint32(0x01000000),
  25663. },
  25664. },
  25665. 51: {
  25666. Fmap1: [8]TFcChar32{
  25667. 2: uint32(0x07fffffe),
  25668. 3: uint32(0x07fffffe),
  25669. 6: uint32(0x10420084),
  25670. 7: uint32(0x10420084),
  25671. },
  25672. },
  25673. 52: {
  25674. Fmap1: [8]TFcChar32{
  25675. 0: uint32(0xc0000000),
  25676. 1: uint32(0x00030000),
  25677. 2: uint32(0xc0000000),
  25678. },
  25679. },
  25680. 53: {
  25681. Fmap1: [8]TFcChar32{
  25682. 2: uint32(0x07fffffe),
  25683. 3: uint32(0x07fffffe),
  25684. 6: uint32(0x24082202),
  25685. 7: uint32(0x24082202),
  25686. },
  25687. },
  25688. 54: {
  25689. Fmap1: [8]TFcChar32{
  25690. 0: uint32(0x0c00f000),
  25691. 2: uint32(0x03000180),
  25692. 3: uint32(0x6000c033),
  25693. },
  25694. },
  25695. 55: {
  25696. Fmap1: [8]TFcChar32{
  25697. 2: uint32(0x07fffffe),
  25698. 3: uint32(0x07fffffe),
  25699. 6: uint32(0x021c0a08),
  25700. 7: uint32(0x021c0a08),
  25701. },
  25702. },
  25703. 56: {
  25704. Fmap1: [8]TFcChar32{
  25705. 0: uint32(0x00000030),
  25706. 2: uint32(0x0000001e),
  25707. 3: uint32(0x18000000),
  25708. },
  25709. },
  25710. 57: {
  25711. Fmap1: [8]TFcChar32{
  25712. 0: uint32(0xfdffa966),
  25713. 1: uint32(0xffffdfff),
  25714. 2: uint32(0xa965dfff),
  25715. 3: uint32(0x03ffffff),
  25716. },
  25717. },
  25718. 58: {
  25719. Fmap1: [8]TFcChar32{
  25720. 0: uint32(0x0000000c),
  25721. },
  25722. },
  25723. 59: {
  25724. Fmap1: [8]TFcChar32{
  25725. 0: uint32(0xffff0002),
  25726. 1: uint32(0xffffffff),
  25727. 2: uint32(0x0002ffff),
  25728. 5: uint32(0x00000c00),
  25729. 6: uint32(0x00c00000),
  25730. 7: uint32(0x000c0000),
  25731. },
  25732. },
  25733. 60: {
  25734. Fmap1: [8]TFcChar32{
  25735. 2: uint32(0x07fffffe),
  25736. 3: uint32(0x07fffffe),
  25737. 6: uint32(0x0010c604),
  25738. 7: uint32(0x8010c604),
  25739. },
  25740. },
  25741. 61: {
  25742. Fmap1: [8]TFcChar32{
  25743. 3: uint32(0x01f00000),
  25744. },
  25745. },
  25746. 62: {
  25747. Fmap1: [8]TFcChar32{
  25748. 4: uint32(0x0000003f),
  25749. 7: uint32(0x000c0000),
  25750. },
  25751. },
  25752. 63: {
  25753. Fmap1: [8]TFcChar32{
  25754. 2: uint32(0x07fffffe),
  25755. 3: uint32(0x07fffffe),
  25756. 6: uint32(0x25082262),
  25757. 7: uint32(0x25082262),
  25758. },
  25759. },
  25760. 64: {
  25761. Fmap1: [8]TFcChar32{
  25762. 2: uint32(0x07fffffe),
  25763. 3: uint32(0x07fffffe),
  25764. 6: uint32(0x90400010),
  25765. 7: uint32(0x10400010),
  25766. },
  25767. },
  25768. 65: {
  25769. Fmap1: [8]TFcChar32{
  25770. 0: uint32(0xfff99fec),
  25771. 1: uint32(0xf3e5fdff),
  25772. 2: uint32(0xf807399f),
  25773. 3: uint32(0x0000ffff),
  25774. },
  25775. },
  25776. 66: {
  25777. Fmap1: [8]TFcChar32{
  25778. 4: uint32(0xffffffff),
  25779. 5: uint32(0x0001ffff),
  25780. },
  25781. },
  25782. 67: {
  25783. Fmap1: [8]TFcChar32{
  25784. 0: uint32(0x0c000000),
  25785. 2: uint32(0x00000c00),
  25786. 4: uint32(0x00170240),
  25787. 5: uint32(0x00040000),
  25788. 6: uint32(0x001fe000),
  25789. },
  25790. },
  25791. 68: {
  25792. Fmap1: [8]TFcChar32{
  25793. 2: uint32(0x08500000),
  25794. 3: uint32(0x00000008),
  25795. 4: uint32(0x00000800),
  25796. },
  25797. },
  25798. 69: {
  25799. Fmap1: [8]TFcChar32{
  25800. 0: uint32(0x00001003),
  25801. },
  25802. },
  25803. 70: {
  25804. Fmap1: [8]TFcChar32{
  25805. 4: uint32(0xffffd740),
  25806. 5: uint32(0xfffffffb),
  25807. 6: uint32(0x00007fff),
  25808. },
  25809. },
  25810. 71: {
  25811. Fmap1: [8]TFcChar32{
  25812. 2: uint32(0x07fffffe),
  25813. 3: uint32(0x07fffffe),
  25814. 6: uint32(0x00528f81),
  25815. 7: uint32(0x00528f81),
  25816. },
  25817. },
  25818. 72: {
  25819. Fmap1: [8]TFcChar32{
  25820. 0: uint32(0x30000300),
  25821. 1: uint32(0x00300030),
  25822. 2: uint32(0x30000000),
  25823. 3: uint32(0x00003000),
  25824. },
  25825. },
  25826. 73: {
  25827. Fmap1: [8]TFcChar32{
  25828. 2: uint32(0x07fffffe),
  25829. 3: uint32(0x07fffffe),
  25830. 6: uint32(0x10600010),
  25831. 7: uint32(0x10600010),
  25832. },
  25833. },
  25834. 74: {
  25835. Fmap1: [8]TFcChar32{
  25836. 3: uint32(0x60000003),
  25837. },
  25838. },
  25839. 75: {
  25840. Fmap1: [8]TFcChar32{
  25841. 2: uint32(0x07fffffe),
  25842. 3: uint32(0x07fffffe),
  25843. 6: uint32(0x10020000),
  25844. 7: uint32(0x10020000),
  25845. },
  25846. },
  25847. 76: {
  25848. Fmap1: [8]TFcChar32{
  25849. 2: uint32(0x00000c00),
  25850. 4: uint32(0x20000402),
  25851. 5: uint32(0x00180000),
  25852. },
  25853. },
  25854. 77: {
  25855. Fmap1: [8]TFcChar32{
  25856. 2: uint32(0x00880000),
  25857. 3: uint32(0x00040000),
  25858. },
  25859. },
  25860. 78: {
  25861. Fmap1: [8]TFcChar32{
  25862. 2: uint32(0x07fffffe),
  25863. 3: uint32(0x07fffffe),
  25864. 6: uint32(0x00400030),
  25865. 7: uint32(0x00400030),
  25866. },
  25867. },
  25868. 79: {
  25869. Fmap1: [8]TFcChar32{
  25870. 2: uint32(0x07fffffe),
  25871. 3: uint32(0x07fffffe),
  25872. 6: uint32(0x0e1e7707),
  25873. 7: uint32(0x0e1e7707),
  25874. },
  25875. },
  25876. 80: {
  25877. Fmap1: [8]TFcChar32{
  25878. 2: uint32(0x07fffffe),
  25879. 3: uint32(0x07fffffe),
  25880. 6: uint32(0x25092042),
  25881. 7: uint32(0x25092042),
  25882. },
  25883. },
  25884. 81: {
  25885. Fmap1: [8]TFcChar32{
  25886. 2: uint32(0x07fffffe),
  25887. 3: uint32(0x07fffffe),
  25888. 6: uint32(0x02041107),
  25889. 7: uint32(0x02041107),
  25890. },
  25891. },
  25892. 82: {
  25893. Fmap1: [8]TFcChar32{
  25894. 2: uint32(0x07fffffe),
  25895. 3: uint32(0x07fffffe),
  25896. 6: uint32(0x9c508e14),
  25897. 7: uint32(0x1c508e14),
  25898. },
  25899. },
  25900. 83: {
  25901. Fmap1: [8]TFcChar32{
  25902. 2: uint32(0x07fffffe),
  25903. 3: uint32(0x07fffffe),
  25904. 6: uint32(0x04082202),
  25905. 7: uint32(0x04082202),
  25906. },
  25907. },
  25908. 84: {
  25909. Fmap1: [8]TFcChar32{
  25910. 0: uint32(0x00000c00),
  25911. 1: uint32(0x00000003),
  25912. },
  25913. },
  25914. 85: {
  25915. Fmap1: [8]TFcChar32{
  25916. 0: uint32(0xc0000c0c),
  25917. 2: uint32(0x00c00003),
  25918. 3: uint32(0x00000c03),
  25919. },
  25920. },
  25921. 86: {
  25922. Fmap1: [8]TFcChar32{
  25923. 2: uint32(0x07fffffe),
  25924. 3: uint32(0x07fffffe),
  25925. 6: uint32(0x020c1383),
  25926. 7: uint32(0x020c1383),
  25927. },
  25928. },
  25929. 87: {
  25930. Fmap1: [8]TFcChar32{
  25931. 0: uint32(0xff7fff7f),
  25932. 1: uint32(0xff01ff7f),
  25933. 2: uint32(0x00003d7f),
  25934. 3: uint32(0x00ff00ff),
  25935. 4: uint32(0x00ff3d7f),
  25936. 5: uint32(0x003d7fff),
  25937. 6: uint32(0xff7f7f00),
  25938. 7: uint32(0x00ff7f00),
  25939. },
  25940. },
  25941. 88: {
  25942. Fmap1: [8]TFcChar32{
  25943. 0: uint32(0x003d7f00),
  25944. 1: uint32(0xffff01ff),
  25945. 2: uint32(0x007fff7f),
  25946. },
  25947. },
  25948. 89: {
  25949. Fmap1: [8]TFcChar32{
  25950. 2: uint32(0x07fffffe),
  25951. 3: uint32(0x07fffffe),
  25952. 6: uint32(0x040a2202),
  25953. 7: uint32(0x042a220a),
  25954. },
  25955. },
  25956. 90: {
  25957. Fmap1: [8]TFcChar32{
  25958. 1: uint32(0x00000200),
  25959. 3: uint32(0x00000200),
  25960. },
  25961. },
  25962. 91: {
  25963. Fmap1: [8]TFcChar32{
  25964. 5: uint32(0x20000000),
  25965. 7: uint32(0x02000000),
  25966. },
  25967. },
  25968. 92: {
  25969. Fmap1: [8]TFcChar32{
  25970. 4: uint32(0xfffbafee),
  25971. 5: uint32(0xf3edfdff),
  25972. 6: uint32(0x00013bbf),
  25973. 7: uint32(0x00000001),
  25974. },
  25975. },
  25976. 93: {
  25977. Fmap1: [8]TFcChar32{
  25978. 2: uint32(0x07fffffe),
  25979. 3: uint32(0x07fffffe),
  25980. 6: uint32(0x00000080),
  25981. 7: uint32(0x00000080),
  25982. },
  25983. },
  25984. 94: {
  25985. Fmap1: [8]TFcChar32{
  25986. 4: uint32(0x03000402),
  25987. 5: uint32(0x00180000),
  25988. },
  25989. },
  25990. 95: {
  25991. Fmap1: [8]TFcChar32{
  25992. 2: uint32(0x00880000),
  25993. },
  25994. },
  25995. 96: {
  25996. Fmap1: [8]TFcChar32{
  25997. 0: uint32(0x000c0003),
  25998. 1: uint32(0x00000c00),
  25999. 2: uint32(0x00003000),
  26000. 3: uint32(0x00000c00),
  26001. },
  26002. },
  26003. 97: {
  26004. Fmap1: [8]TFcChar32{
  26005. 5: uint32(0x08000000),
  26006. },
  26007. },
  26008. 98: {
  26009. Fmap1: [8]TFcChar32{
  26010. 6: uint32(0xffff0000),
  26011. 7: uint32(0x000007ff),
  26012. },
  26013. },
  26014. 99: {
  26015. Fmap1: [8]TFcChar32{
  26016. 2: uint32(0x07fffffe),
  26017. 3: uint32(0x07fffffe),
  26018. 6: uint32(0x00080000),
  26019. 7: uint32(0x00080000),
  26020. },
  26021. },
  26022. 100: {
  26023. Fmap1: [8]TFcChar32{
  26024. 0: uint32(0x0c0030c0),
  26025. 2: uint32(0x0300001e),
  26026. 3: uint32(0x66000003),
  26027. },
  26028. },
  26029. 101: {
  26030. Fmap1: [8]TFcChar32{
  26031. 2: uint32(0x07fffffe),
  26032. 3: uint32(0x07fffffe),
  26033. 6: uint32(0x00040100),
  26034. 7: uint32(0x00040100),
  26035. },
  26036. },
  26037. 102: {
  26038. Fmap1: [8]TFcChar32{
  26039. 2: uint32(0x07fffffe),
  26040. 3: uint32(0x07fffffe),
  26041. 6: uint32(0x14482202),
  26042. 7: uint32(0x14482202),
  26043. },
  26044. },
  26045. 103: {
  26046. Fmap1: [8]TFcChar32{
  26047. 2: uint32(0x00030000),
  26048. 3: uint32(0x00030000),
  26049. },
  26050. },
  26051. 104: {
  26052. Fmap1: [8]TFcChar32{
  26053. 1: uint32(0xfffe0000),
  26054. 2: uint32(0x007fffff),
  26055. 3: uint32(0xfffffffe),
  26056. 4: uint32(0x000000ff),
  26057. },
  26058. },
  26059. 105: {
  26060. Fmap1: [8]TFcChar32{
  26061. 1: uint32(0x00008000),
  26062. },
  26063. },
  26064. 106: {
  26065. Fmap1: [8]TFcChar32{
  26066. 0: uint32(0x000c0000),
  26067. 2: uint32(0x00000c00),
  26068. },
  26069. },
  26070. 107: {
  26071. Fmap1: [8]TFcChar32{
  26072. 2: uint32(0x07fffffe),
  26073. 3: uint32(0x07fffffe),
  26074. 6: uint32(0x00000200),
  26075. 7: uint32(0x00000200),
  26076. },
  26077. },
  26078. 108: {
  26079. Fmap1: [8]TFcChar32{
  26080. 6: uint32(0x00003c00),
  26081. 7: uint32(0x00000030),
  26082. },
  26083. },
  26084. 109: {
  26085. Fmap1: [8]TFcChar32{
  26086. 0: uint32(0xffffffff),
  26087. 1: uint32(0xffffffff),
  26088. 2: uint32(0xffffffff),
  26089. 3: uint32(0xffffffff),
  26090. 4: uint32(0xffffffff),
  26091. 5: uint32(0xffffffff),
  26092. 6: uint32(0xffffffff),
  26093. 7: uint32(0xffffffff),
  26094. },
  26095. },
  26096. 110: {
  26097. Fmap1: [8]TFcChar32{
  26098. 0: uint32(0xffffffff),
  26099. 1: uint32(0xffffffff),
  26100. 2: uint32(0xffffffff),
  26101. 3: uint32(0xffffffff),
  26102. 4: uint32(0x00001fff),
  26103. },
  26104. },
  26105. 111: {
  26106. Fmap1: [8]TFcChar32{
  26107. 0: uint32(0xffff4002),
  26108. 1: uint32(0xffffffff),
  26109. 2: uint32(0x4002ffff),
  26110. },
  26111. },
  26112. 112: {
  26113. Fmap1: [8]TFcChar32{
  26114. 2: uint32(0x07fffffe),
  26115. 3: uint32(0x07fffffe),
  26116. 6: uint32(0x64092242),
  26117. 7: uint32(0x64092242),
  26118. },
  26119. },
  26120. 113: {
  26121. Fmap1: [8]TFcChar32{
  26122. 2: uint32(0x07fffffe),
  26123. 3: uint32(0x07fffffe),
  26124. 6: uint32(0x060cb301),
  26125. 7: uint32(0x060cb301),
  26126. },
  26127. },
  26128. 114: {
  26129. Fmap1: [8]TFcChar32{
  26130. 0: uint32(0x00000c7e),
  26131. 1: uint32(0x031f8000),
  26132. 2: uint32(0x0063f200),
  26133. 3: uint32(0x000df840),
  26134. 4: uint32(0x00037e08),
  26135. 5: uint32(0x08000dfa),
  26136. 6: uint32(0x0df901bf),
  26137. 7: uint32(0x5437e400),
  26138. },
  26139. },
  26140. 115: {
  26141. Fmap1: [8]TFcChar32{
  26142. 0: uint32(0x00000025),
  26143. 1: uint32(0x40006fc0),
  26144. 2: uint32(0x27f91be4),
  26145. 3: uint32(0xdee00000),
  26146. 4: uint32(0x007ff83f),
  26147. 5: uint32(0x00007f7f),
  26148. },
  26149. },
  26150. 116: {
  26151. Fmap1: [8]TFcChar32{
  26152. 3: uint32(0x007f8000),
  26153. },
  26154. },
  26155. 117: {
  26156. Fmap1: [8]TFcChar32{
  26157. 0: uint32(0x000000a7),
  26158. 2: uint32(0xfffffffe),
  26159. 3: uint32(0xffffffff),
  26160. 4: uint32(0x780fffff),
  26161. 5: uint32(0xfffffffe),
  26162. 6: uint32(0xffffffff),
  26163. 7: uint32(0x787fffff),
  26164. },
  26165. },
  26166. 118: {
  26167. Fmap1: [8]TFcChar32{
  26168. 0: uint32(0x03506f8b),
  26169. 1: uint32(0x1b042042),
  26170. 2: uint32(0x62808020),
  26171. 3: uint32(0x400a0000),
  26172. 4: uint32(0x10341b41),
  26173. 5: uint32(0x04003812),
  26174. 6: uint32(0x03608c02),
  26175. 7: uint32(0x08454038),
  26176. },
  26177. },
  26178. 119: {
  26179. Fmap1: [8]TFcChar32{
  26180. 0: uint32(0x2403c002),
  26181. 1: uint32(0x15108000),
  26182. 2: uint32(0x1229e040),
  26183. 3: uint32(0x80280000),
  26184. 4: uint32(0x28002800),
  26185. 5: uint32(0x8060c002),
  26186. 6: uint32(0x2080040c),
  26187. 7: uint32(0x05284002),
  26188. },
  26189. },
  26190. 120: {
  26191. Fmap1: [8]TFcChar32{
  26192. 0: uint32(0x82042a00),
  26193. 1: uint32(0x02000818),
  26194. 2: uint32(0x10008200),
  26195. 3: uint32(0x20700020),
  26196. 4: uint32(0x03022000),
  26197. 5: uint32(0x40a41000),
  26198. 6: uint32(0x0420a020),
  26199. 7: uint32(0x00000080),
  26200. },
  26201. },
  26202. 121: {
  26203. Fmap1: [8]TFcChar32{
  26204. 0: uint32(0x80040011),
  26205. 1: uint32(0x00000400),
  26206. 2: uint32(0x04012b78),
  26207. 3: uint32(0x11a23920),
  26208. 4: uint32(0x02842460),
  26209. 5: uint32(0x00c01021),
  26210. 6: uint32(0x20002050),
  26211. 7: uint32(0x07400042),
  26212. },
  26213. },
  26214. 122: {
  26215. Fmap1: [8]TFcChar32{
  26216. 0: uint32(0x208205c9),
  26217. 1: uint32(0x0fc10230),
  26218. 2: uint32(0x08402480),
  26219. 3: uint32(0x00258018),
  26220. 4: uint32(0x88000080),
  26221. 5: uint32(0x42120609),
  26222. 6: uint32(0xa32002a8),
  26223. 7: uint32(0x40040094),
  26224. },
  26225. },
  26226. 123: {
  26227. Fmap1: [8]TFcChar32{
  26228. 0: uint32(0x00c00024),
  26229. 1: uint32(0x8e000001),
  26230. 2: uint32(0x059e058a),
  26231. 3: uint32(0x013b0001),
  26232. 4: uint32(0x85000010),
  26233. 5: uint32(0x08080000),
  26234. 6: uint32(0x02d07d04),
  26235. 7: uint32(0x018d9838),
  26236. },
  26237. },
  26238. 124: {
  26239. Fmap1: [8]TFcChar32{
  26240. 0: uint32(0x8803f310),
  26241. 1: uint32(0x03000840),
  26242. 2: uint32(0x00000704),
  26243. 3: uint32(0x30080500),
  26244. 4: uint32(0x00001000),
  26245. 5: uint32(0x20040000),
  26246. 6: uint32(0x00000003),
  26247. 7: uint32(0x04040002),
  26248. },
  26249. },
  26250. 125: {
  26251. Fmap1: [8]TFcChar32{
  26252. 0: uint32(0x000100d0),
  26253. 1: uint32(0x40028000),
  26254. 2: uint32(0x00088040),
  26255. 4: uint32(0x34000210),
  26256. 5: uint32(0x00400e00),
  26257. 6: uint32(0x00000020),
  26258. 7: uint32(0x00000008),
  26259. },
  26260. },
  26261. 126: {
  26262. Fmap1: [8]TFcChar32{
  26263. 0: uint32(0x00000040),
  26264. 1: uint32(0x00060000),
  26265. 3: uint32(0x00100100),
  26266. 4: uint32(0x00000080),
  26267. 6: uint32(0x4c000000),
  26268. 7: uint32(0x240d0009),
  26269. },
  26270. },
  26271. 127: {
  26272. Fmap1: [8]TFcChar32{
  26273. 0: uint32(0x80048000),
  26274. 1: uint32(0x00010180),
  26275. 2: uint32(0x00020484),
  26276. 3: uint32(0x00000400),
  26277. 4: uint32(0x00000804),
  26278. 5: uint32(0x00000008),
  26279. 6: uint32(0x80004800),
  26280. 7: uint32(0x16800000),
  26281. },
  26282. },
  26283. 128: {
  26284. Fmap1: [8]TFcChar32{
  26285. 0: uint32(0x00200065),
  26286. 1: uint32(0x00120410),
  26287. 2: uint32(0x44920403),
  26288. 3: uint32(0x40000200),
  26289. 4: uint32(0x10880008),
  26290. 5: uint32(0x40080100),
  26291. 6: uint32(0x00001482),
  26292. 7: uint32(0x00074800),
  26293. },
  26294. },
  26295. 129: {
  26296. Fmap1: [8]TFcChar32{
  26297. 0: uint32(0x14608200),
  26298. 1: uint32(0x00024e84),
  26299. 2: uint32(0x00128380),
  26300. 3: uint32(0x20184520),
  26301. 4: uint32(0x0240041c),
  26302. 5: uint32(0x0a001120),
  26303. 6: uint32(0x00180a00),
  26304. 7: uint32(0x88000800),
  26305. },
  26306. },
  26307. 130: {
  26308. Fmap1: [8]TFcChar32{
  26309. 0: uint32(0x01000002),
  26310. 1: uint32(0x00008001),
  26311. 2: uint32(0x04000040),
  26312. 3: uint32(0x80000040),
  26313. 4: uint32(0x08040000),
  26314. 6: uint32(0x00001202),
  26315. 7: uint32(0x00000002),
  26316. },
  26317. },
  26318. 131: {
  26319. Fmap1: [8]TFcChar32{
  26320. 1: uint32(0x00000004),
  26321. 2: uint32(0x21910000),
  26322. 3: uint32(0x00000858),
  26323. 4: uint32(0xbf8013a0),
  26324. 5: uint32(0x8279401c),
  26325. 6: uint32(0xa8041054),
  26326. 7: uint32(0xc5004282),
  26327. },
  26328. },
  26329. 132: {
  26330. Fmap1: [8]TFcChar32{
  26331. 0: uint32(0x0402ce56),
  26332. 1: uint32(0xfc020000),
  26333. 2: uint32(0x40200d21),
  26334. 3: uint32(0x00028030),
  26335. 4: uint32(0x00010000),
  26336. 5: uint32(0x01081202),
  26337. 7: uint32(0x00410003),
  26338. },
  26339. },
  26340. 133: {
  26341. Fmap1: [8]TFcChar32{
  26342. 0: uint32(0x00404080),
  26343. 1: uint32(0x00000200),
  26344. 2: uint32(0x00010000),
  26345. 6: uint32(0x60000000),
  26346. 7: uint32(0x480241ea),
  26347. },
  26348. },
  26349. 134: {
  26350. Fmap1: [8]TFcChar32{
  26351. 0: uint32(0x2000104c),
  26352. 1: uint32(0x2109a820),
  26353. 2: uint32(0x00200020),
  26354. 3: uint32(0x7b1c0008),
  26355. 4: uint32(0x10a0840a),
  26356. 5: uint32(0x01c028c0),
  26357. 6: uint32(0x00000608),
  26358. 7: uint32(0x04c00000),
  26359. },
  26360. },
  26361. 135: {
  26362. Fmap1: [8]TFcChar32{
  26363. 0: uint32(0x80398412),
  26364. 1: uint32(0x40a200e0),
  26365. 2: uint32(0x02080000),
  26366. 3: uint32(0x12030a04),
  26367. 4: uint32(0x008d1833),
  26368. 5: uint32(0x02184602),
  26369. 6: uint32(0x13803028),
  26370. 7: uint32(0x00200801),
  26371. },
  26372. },
  26373. 136: {
  26374. Fmap1: [8]TFcChar32{
  26375. 0: uint32(0x20440000),
  26376. 1: uint32(0x000005a1),
  26377. 2: uint32(0x00050800),
  26378. 3: uint32(0x0020a328),
  26379. 4: uint32(0x80100000),
  26380. 5: uint32(0x10040649),
  26381. 6: uint32(0x10020020),
  26382. 7: uint32(0x00090180),
  26383. },
  26384. },
  26385. 137: {
  26386. Fmap1: [8]TFcChar32{
  26387. 0: uint32(0x8c008202),
  26388. 2: uint32(0x00205910),
  26389. 3: uint32(0x0041410c),
  26390. 4: uint32(0x00004004),
  26391. 5: uint32(0x40441290),
  26392. 6: uint32(0x00010080),
  26393. 7: uint32(0x01040000),
  26394. },
  26395. },
  26396. 138: {
  26397. Fmap1: [8]TFcChar32{
  26398. 0: uint32(0x04070000),
  26399. 1: uint32(0x89108040),
  26400. 2: uint32(0x00282a81),
  26401. 3: uint32(0x82420000),
  26402. 4: uint32(0x51a20411),
  26403. 5: uint32(0x32220800),
  26404. 6: uint32(0x2b0d2220),
  26405. 7: uint32(0x40c83003),
  26406. },
  26407. },
  26408. 139: {
  26409. Fmap1: [8]TFcChar32{
  26410. 0: uint32(0x82020082),
  26411. 1: uint32(0x80008900),
  26412. 2: uint32(0x10a00200),
  26413. 3: uint32(0x08004100),
  26414. 4: uint32(0x09041108),
  26415. 5: uint32(0x000405a6),
  26416. 6: uint32(0x0c018000),
  26417. 7: uint32(0x04104002),
  26418. },
  26419. },
  26420. 140: {
  26421. Fmap1: [8]TFcChar32{
  26422. 0: uint32(0x00002000),
  26423. 1: uint32(0x44003000),
  26424. 2: uint32(0x01000004),
  26425. 3: uint32(0x00008200),
  26426. 4: uint32(0x00000008),
  26427. 5: uint32(0x00044010),
  26428. 6: uint32(0x00002002),
  26429. 7: uint32(0x00001040),
  26430. },
  26431. },
  26432. 141: {
  26433. Fmap1: [8]TFcChar32{
  26434. 1: uint32(0xca008000),
  26435. 2: uint32(0x02828020),
  26436. 3: uint32(0x00b1100c),
  26437. 4: uint32(0x12824280),
  26438. 5: uint32(0x22013030),
  26439. 6: uint32(0x00808820),
  26440. 7: uint32(0x040013e4),
  26441. },
  26442. },
  26443. 142: {
  26444. Fmap1: [8]TFcChar32{
  26445. 0: uint32(0x801840c0),
  26446. 1: uint32(0x1000a1a1),
  26447. 2: uint32(0x00000004),
  26448. 3: uint32(0x0050c200),
  26449. 4: uint32(0x00c20082),
  26450. 5: uint32(0x00104840),
  26451. 6: uint32(0x10400080),
  26452. 7: uint32(0xa3140000),
  26453. },
  26454. },
  26455. 143: {
  26456. Fmap1: [8]TFcChar32{
  26457. 0: uint32(0xa8a02301),
  26458. 1: uint32(0x24123d00),
  26459. 2: uint32(0x80030200),
  26460. 3: uint32(0xc0028022),
  26461. 4: uint32(0x34a10000),
  26462. 5: uint32(0x00408005),
  26463. 6: uint32(0x00190010),
  26464. 7: uint32(0x882a0000),
  26465. },
  26466. },
  26467. 144: {
  26468. Fmap1: [8]TFcChar32{
  26469. 0: uint32(0x00080018),
  26470. 1: uint32(0x33000402),
  26471. 2: uint32(0x9002010a),
  26472. 4: uint32(0x00800020),
  26473. 5: uint32(0x00010100),
  26474. 6: uint32(0x84040810),
  26475. 7: uint32(0x04004000),
  26476. },
  26477. },
  26478. 145: {
  26479. Fmap1: [8]TFcChar32{
  26480. 0: uint32(0x10006020),
  26481. 3: uint32(0x30a02000),
  26482. 4: uint32(0x00000004),
  26483. 6: uint32(0x01000800),
  26484. 7: uint32(0x20000000),
  26485. },
  26486. },
  26487. 146: {
  26488. Fmap1: [8]TFcChar32{
  26489. 0: uint32(0x02000000),
  26490. 1: uint32(0x02000602),
  26491. 2: uint32(0x80000800),
  26492. },
  26493. },
  26494. 147: {
  26495. Fmap1: [8]TFcChar32{
  26496. 0: uint32(0x00000010),
  26497. 1: uint32(0x44040083),
  26498. 2: uint32(0x00081000),
  26499. 3: uint32(0x0818824c),
  26500. 4: uint32(0x00400e00),
  26501. 5: uint32(0x8c300000),
  26502. 6: uint32(0x08146001),
  26503. },
  26504. },
  26505. 148: {
  26506. Fmap1: [8]TFcChar32{
  26507. 0: uint32(0x00828000),
  26508. 1: uint32(0x41900000),
  26509. 2: uint32(0x84804006),
  26510. 3: uint32(0x24010001),
  26511. 4: uint32(0x02400108),
  26512. 5: uint32(0x9b080006),
  26513. 6: uint32(0x00201602),
  26514. 7: uint32(0x0009012e),
  26515. },
  26516. },
  26517. 149: {
  26518. Fmap1: [8]TFcChar32{
  26519. 0: uint32(0x40800800),
  26520. 1: uint32(0x48000420),
  26521. 2: uint32(0x10000032),
  26522. 3: uint32(0x01904440),
  26523. 4: uint32(0x02000100),
  26524. 5: uint32(0x10048000),
  26525. 6: uint32(0x00020000),
  26526. 7: uint32(0x08820802),
  26527. },
  26528. },
  26529. 150: {
  26530. Fmap1: [8]TFcChar32{
  26531. 0: uint32(0x08080ba0),
  26532. 1: uint32(0x00009242),
  26533. 2: uint32(0x00400000),
  26534. 3: uint32(0xc0008080),
  26535. 4: uint32(0x20410001),
  26536. 5: uint32(0x04400000),
  26537. 6: uint32(0x60020820),
  26538. 7: uint32(0x00100000),
  26539. },
  26540. },
  26541. 151: {
  26542. Fmap1: [8]TFcChar32{
  26543. 0: uint32(0x00108046),
  26544. 1: uint32(0x01001805),
  26545. 2: uint32(0x90100000),
  26546. 3: uint32(0x00014010),
  26547. 4: uint32(0x00000010),
  26548. 6: uint32(0x0000000b),
  26549. 7: uint32(0x00008800),
  26550. },
  26551. },
  26552. 152: {
  26553. Fmap1: [8]TFcChar32{
  26554. 1: uint32(0x00001000),
  26555. 3: uint32(0x20018800),
  26556. 4: uint32(0x00004600),
  26557. 5: uint32(0x06002000),
  26558. 6: uint32(0x00000100),
  26559. },
  26560. },
  26561. 153: {
  26562. Fmap1: [8]TFcChar32{
  26563. 1: uint32(0x10400042),
  26564. 2: uint32(0x02004000),
  26565. 3: uint32(0x00004280),
  26566. 4: uint32(0x80000400),
  26567. 5: uint32(0x00020000),
  26568. 6: uint32(0x00000008),
  26569. 7: uint32(0x00000020),
  26570. },
  26571. },
  26572. 154: {
  26573. Fmap1: [8]TFcChar32{
  26574. 0: uint32(0x00000040),
  26575. 1: uint32(0x20600400),
  26576. 2: uint32(0x0a000180),
  26577. 3: uint32(0x02040280),
  26578. 5: uint32(0x00409001),
  26579. 6: uint32(0x02000004),
  26580. 7: uint32(0x00003200),
  26581. },
  26582. },
  26583. 155: {
  26584. Fmap1: [8]TFcChar32{
  26585. 0: uint32(0x88000000),
  26586. 1: uint32(0x80404800),
  26587. 2: uint32(0x00000010),
  26588. 3: uint32(0x00040008),
  26589. 4: uint32(0x00000a90),
  26590. 5: uint32(0x00000200),
  26591. 6: uint32(0x00002000),
  26592. 7: uint32(0x40002001),
  26593. },
  26594. },
  26595. 156: {
  26596. Fmap1: [8]TFcChar32{
  26597. 0: uint32(0x00000048),
  26598. 1: uint32(0x00100000),
  26599. 3: uint32(0x00000001),
  26600. 4: uint32(0x00000008),
  26601. 5: uint32(0x20010080),
  26602. 7: uint32(0x00400040),
  26603. },
  26604. },
  26605. 157: {
  26606. Fmap1: [8]TFcChar32{
  26607. 0: uint32(0x85000000),
  26608. 1: uint32(0x0c8f0108),
  26609. 2: uint32(0x32129000),
  26610. 3: uint32(0x80090420),
  26611. 4: uint32(0x00024000),
  26612. 5: uint32(0x40040800),
  26613. 6: uint32(0x092000a0),
  26614. 7: uint32(0x00100204),
  26615. },
  26616. },
  26617. 158: {
  26618. Fmap1: [8]TFcChar32{
  26619. 0: uint32(0x00002000),
  26620. 2: uint32(0x00440004),
  26621. 3: uint32(0x6c000000),
  26622. 4: uint32(0x000000d0),
  26623. 5: uint32(0x80004000),
  26624. 6: uint32(0x88800440),
  26625. 7: uint32(0x41144018),
  26626. },
  26627. },
  26628. 159: {
  26629. Fmap1: [8]TFcChar32{
  26630. 0: uint32(0x80001a02),
  26631. 1: uint32(0x14000001),
  26632. 2: uint32(0x00000001),
  26633. 3: uint32(0x0000004a),
  26634. 5: uint32(0x00083000),
  26635. 6: uint32(0x08000000),
  26636. 7: uint32(0x0008a024),
  26637. },
  26638. },
  26639. 160: {
  26640. Fmap1: [8]TFcChar32{
  26641. 0: uint32(0x00300004),
  26642. 1: uint32(0x00140000),
  26643. 2: uint32(0x20000000),
  26644. 3: uint32(0x00001800),
  26645. 4: uint32(0x00020002),
  26646. 5: uint32(0x04000000),
  26647. 6: uint32(0x00000002),
  26648. 7: uint32(0x00000100),
  26649. },
  26650. },
  26651. 161: {
  26652. Fmap1: [8]TFcChar32{
  26653. 0: uint32(0x00004002),
  26654. 1: uint32(0x54000000),
  26655. 2: uint32(0x60400300),
  26656. 3: uint32(0x00002120),
  26657. 4: uint32(0x0000a022),
  26658. 6: uint32(0x81060803),
  26659. 7: uint32(0x08010200),
  26660. },
  26661. },
  26662. 162: {
  26663. Fmap1: [8]TFcChar32{
  26664. 0: uint32(0x04004800),
  26665. 1: uint32(0xb0044000),
  26666. 2: uint32(0x0000a005),
  26667. 3: uint32(0x04500800),
  26668. 4: uint32(0x800c000a),
  26669. 5: uint32(0x0000c000),
  26670. 6: uint32(0x10000800),
  26671. 7: uint32(0x02408021),
  26672. },
  26673. },
  26674. 163: {
  26675. Fmap1: [8]TFcChar32{
  26676. 0: uint32(0x08020000),
  26677. 1: uint32(0x00001040),
  26678. 2: uint32(0x00540a40),
  26679. 4: uint32(0x00800880),
  26680. 5: uint32(0x01020002),
  26681. 6: uint32(0x00000211),
  26682. 7: uint32(0x00000010),
  26683. },
  26684. },
  26685. 164: {
  26686. Fmap1: [8]TFcChar32{
  26687. 1: uint32(0x80000002),
  26688. 2: uint32(0x00002000),
  26689. 3: uint32(0x00080001),
  26690. 4: uint32(0x09840a00),
  26691. 5: uint32(0x40000080),
  26692. 6: uint32(0x00400000),
  26693. 7: uint32(0x49000080),
  26694. },
  26695. },
  26696. 165: {
  26697. Fmap1: [8]TFcChar32{
  26698. 0: uint32(0x0e102831),
  26699. 1: uint32(0x06098807),
  26700. 2: uint32(0x40011014),
  26701. 3: uint32(0x02620042),
  26702. 4: uint32(0x06000000),
  26703. 5: uint32(0x88062000),
  26704. 6: uint32(0x04068400),
  26705. 7: uint32(0x08108301),
  26706. },
  26707. },
  26708. 166: {
  26709. Fmap1: [8]TFcChar32{
  26710. 0: uint32(0x08000012),
  26711. 1: uint32(0x40004840),
  26712. 2: uint32(0x00300402),
  26713. 3: uint32(0x00012000),
  26714. },
  26715. },
  26716. 167: {
  26717. Fmap1: [8]TFcChar32{
  26718. 1: uint32(0x00400000),
  26719. 3: uint32(0x00a54400),
  26720. 4: uint32(0x40004420),
  26721. 5: uint32(0x20000310),
  26722. 6: uint32(0x00041002),
  26723. 7: uint32(0x18000000),
  26724. },
  26725. },
  26726. 168: {
  26727. Fmap1: [8]TFcChar32{
  26728. 0: uint32(0x00a1002a),
  26729. 1: uint32(0x00080000),
  26730. 2: uint32(0x40400000),
  26731. 3: uint32(0x00900000),
  26732. 4: uint32(0x21401200),
  26733. 5: uint32(0x04048626),
  26734. 6: uint32(0x40005048),
  26735. 7: uint32(0x21100000),
  26736. },
  26737. },
  26738. 169: {
  26739. Fmap1: [8]TFcChar32{
  26740. 0: uint32(0x040005a4),
  26741. 1: uint32(0x000a0000),
  26742. 2: uint32(0x00214000),
  26743. 3: uint32(0x07010800),
  26744. 4: uint32(0x34000000),
  26745. 5: uint32(0x00080100),
  26746. 6: uint32(0x00080040),
  26747. 7: uint32(0x10182508),
  26748. },
  26749. },
  26750. 170: {
  26751. Fmap1: [8]TFcChar32{
  26752. 0: uint32(0xc0805100),
  26753. 1: uint32(0x02c01400),
  26754. 2: uint32(0x00000080),
  26755. 3: uint32(0x00448040),
  26756. 4: uint32(0x20000800),
  26757. 5: uint32(0x210a8000),
  26758. 6: uint32(0x08800000),
  26759. 7: uint32(0x00020060),
  26760. },
  26761. },
  26762. 171: {
  26763. Fmap1: [8]TFcChar32{
  26764. 0: uint32(0x00004004),
  26765. 1: uint32(0x00400100),
  26766. 2: uint32(0x01040200),
  26767. 3: uint32(0x00800000),
  26768. 6: uint32(0x10081400),
  26769. 7: uint32(0x00008000),
  26770. },
  26771. },
  26772. 172: {
  26773. Fmap1: [8]TFcChar32{
  26774. 0: uint32(0x00004000),
  26775. 1: uint32(0x20000000),
  26776. 2: uint32(0x08800200),
  26777. 3: uint32(0x00001000),
  26778. 5: uint32(0x01000000),
  26779. 6: uint32(0x00000810),
  26780. },
  26781. },
  26782. 173: {
  26783. Fmap1: [8]TFcChar32{
  26784. 0: uint32(0x00020000),
  26785. 1: uint32(0x20200000),
  26786. 4: uint32(0x00000010),
  26787. 5: uint32(0x00001c40),
  26788. 6: uint32(0x00002000),
  26789. 7: uint32(0x08000210),
  26790. },
  26791. },
  26792. 174: {
  26793. Fmap1: [8]TFcChar32{
  26794. 2: uint32(0x54014000),
  26795. 3: uint32(0x02000800),
  26796. 4: uint32(0x00200400),
  26797. 6: uint32(0x00002080),
  26798. 7: uint32(0x00004000),
  26799. },
  26800. },
  26801. 175: {
  26802. Fmap1: [8]TFcChar32{
  26803. 0: uint32(0x10000004),
  26804. 4: uint32(0x00002000),
  26805. },
  26806. },
  26807. 176: {
  26808. Fmap1: [8]TFcChar32{
  26809. 2: uint32(0x28881041),
  26810. 3: uint32(0x0081010a),
  26811. 4: uint32(0x00400800),
  26812. 5: uint32(0x00000800),
  26813. 6: uint32(0x10208026),
  26814. 7: uint32(0x61000000),
  26815. },
  26816. },
  26817. 177: {
  26818. Fmap1: [8]TFcChar32{
  26819. 0: uint32(0x00050080),
  26820. 2: uint32(0x80000000),
  26821. 3: uint32(0x80040000),
  26822. 4: uint32(0x044088c2),
  26823. 5: uint32(0x00080480),
  26824. 6: uint32(0x00040000),
  26825. 7: uint32(0x00000048),
  26826. },
  26827. },
  26828. 178: {
  26829. Fmap1: [8]TFcChar32{
  26830. 0: uint32(0x8188410d),
  26831. 1: uint32(0x141a2400),
  26832. 2: uint32(0x40310000),
  26833. 3: uint32(0x000f4249),
  26834. 4: uint32(0x41283280),
  26835. 5: uint32(0x80053011),
  26836. 6: uint32(0x00400880),
  26837. 7: uint32(0x410060c0),
  26838. },
  26839. },
  26840. 179: {
  26841. Fmap1: [8]TFcChar32{
  26842. 0: uint32(0x2a004013),
  26843. 1: uint32(0x02000002),
  26844. 2: uint32(0x11000000),
  26845. 3: uint32(0x00850040),
  26846. },
  26847. },
  26848. 180: {
  26849. Fmap1: [8]TFcChar32{
  26850. 1: uint32(0x00800000),
  26851. 2: uint32(0x04000440),
  26852. 3: uint32(0x00000402),
  26853. 4: uint32(0x60001000),
  26854. 5: uint32(0x99909f87),
  26855. 6: uint32(0x5808049d),
  26856. 7: uint32(0x10002445),
  26857. },
  26858. },
  26859. 181: {
  26860. Fmap1: [8]TFcChar32{
  26861. 0: uint32(0x00000100),
  26862. 3: uint32(0x00910050),
  26863. 4: uint32(0x00000420),
  26864. 5: uint32(0x00080008),
  26865. 6: uint32(0x20000000),
  26866. 7: uint32(0x00288002),
  26867. },
  26868. },
  26869. 182: {
  26870. Fmap1: [8]TFcChar32{
  26871. 0: uint32(0x00008400),
  26872. 1: uint32(0x00000400),
  26873. 3: uint32(0x00100000),
  26874. 4: uint32(0x00002000),
  26875. 5: uint32(0x00000800),
  26876. 6: uint32(0x80043400),
  26877. 7: uint32(0x21000004),
  26878. },
  26879. },
  26880. 183: {
  26881. Fmap1: [8]TFcChar32{
  26882. 0: uint32(0x20000208),
  26883. 1: uint32(0x01000600),
  26884. 2: uint32(0x00000010),
  26885. 4: uint32(0x48000000),
  26886. 5: uint32(0x14060008),
  26887. 6: uint32(0x00124020),
  26888. 7: uint32(0x20812800),
  26889. },
  26890. },
  26891. 184: {
  26892. Fmap1: [8]TFcChar32{
  26893. 0: uint32(0xa419804b),
  26894. 1: uint32(0x01064009),
  26895. 2: uint32(0x10386ca4),
  26896. 3: uint32(0x85a0620b),
  26897. 4: uint32(0x00000010),
  26898. 5: uint32(0x01000448),
  26899. 6: uint32(0x00004400),
  26900. 7: uint32(0x20a02102),
  26901. },
  26902. },
  26903. 185: {
  26904. Fmap1: [8]TFcChar32{
  26905. 2: uint32(0x00147000),
  26906. 3: uint32(0x01a01404),
  26907. 4: uint32(0x10040000),
  26908. 5: uint32(0x01000000),
  26909. 6: uint32(0x3002f180),
  26910. 7: uint32(0x00000008),
  26911. },
  26912. },
  26913. 186: {
  26914. Fmap1: [8]TFcChar32{
  26915. 0: uint32(0x00002000),
  26916. 1: uint32(0x00100000),
  26917. 2: uint32(0x08000010),
  26918. 3: uint32(0x00020004),
  26919. 4: uint32(0x01000029),
  26920. 5: uint32(0x00002000),
  26921. 7: uint32(0x10082000),
  26922. },
  26923. },
  26924. 187: {
  26925. Fmap1: [8]TFcChar32{
  26926. 1: uint32(0x0004d041),
  26927. 2: uint32(0x08000800),
  26928. 3: uint32(0x00200000),
  26929. 4: uint32(0x00401000),
  26930. 5: uint32(0x00004000),
  26931. 7: uint32(0x00000002),
  26932. },
  26933. },
  26934. 188: {
  26935. Fmap1: [8]TFcChar32{
  26936. 0: uint32(0x01000000),
  26937. 2: uint32(0x00020000),
  26938. },
  26939. },
  26940. 189: {
  26941. Fmap1: [8]TFcChar32{
  26942. 3: uint32(0x00800000),
  26943. 4: uint32(0x000a0a01),
  26944. 5: uint32(0x0004002c),
  26945. 6: uint32(0x01000080),
  26946. },
  26947. },
  26948. 190: {
  26949. Fmap1: [8]TFcChar32{
  26950. 0: uint32(0x10000000),
  26951. 1: uint32(0x08040400),
  26952. 2: uint32(0x08012010),
  26953. 3: uint32(0x2569043c),
  26954. 4: uint32(0x1a10c460),
  26955. 5: uint32(0x08800009),
  26956. 6: uint32(0x000210f0),
  26957. 7: uint32(0x08c5050c),
  26958. },
  26959. },
  26960. 191: {
  26961. Fmap1: [8]TFcChar32{
  26962. 0: uint32(0x10000481),
  26963. 1: uint32(0x00040080),
  26964. 2: uint32(0x42040000),
  26965. 3: uint32(0x00100204),
  26966. 6: uint32(0x00080000),
  26967. 7: uint32(0x88080000),
  26968. },
  26969. },
  26970. 192: {
  26971. Fmap1: [8]TFcChar32{
  26972. 0: uint32(0x010f016c),
  26973. 1: uint32(0x18002000),
  26974. 2: uint32(0x41307000),
  26975. 3: uint32(0x00000080),
  26976. 5: uint32(0x00000100),
  26977. 6: uint32(0x88000000),
  26978. 7: uint32(0x70048004),
  26979. },
  26980. },
  26981. 193: {
  26982. Fmap1: [8]TFcChar32{
  26983. 0: uint32(0x00081420),
  26984. 1: uint32(0x00000100),
  26985. 4: uint32(0x02400000),
  26986. 5: uint32(0x00001000),
  26987. 6: uint32(0x00050070),
  26988. },
  26989. },
  26990. 194: {
  26991. Fmap1: [8]TFcChar32{
  26992. 0: uint32(0x000c4000),
  26993. 1: uint32(0x00010000),
  26994. 2: uint32(0x04000000),
  26995. 5: uint32(0x01000100),
  26996. 6: uint32(0x01000010),
  26997. 7: uint32(0x00000400),
  26998. },
  26999. },
  27000. 195: {
  27001. Fmap1: [8]TFcChar32{
  27002. 1: uint32(0x10020000),
  27003. 2: uint32(0x04100024),
  27004. 5: uint32(0x00004000),
  27005. 7: uint32(0x00000100),
  27006. },
  27007. },
  27008. 196: {
  27009. Fmap1: [8]TFcChar32{
  27010. 7: uint32(0x00100020),
  27011. },
  27012. },
  27013. 197: {
  27014. Fmap1: [8]TFcChar32{
  27015. 4: uint32(0x00008000),
  27016. 5: uint32(0x00100000),
  27017. },
  27018. },
  27019. 198: {
  27020. Fmap1: [8]TFcChar32{
  27021. 3: uint32(0x80000000),
  27022. 4: uint32(0x00880000),
  27023. 5: uint32(0x0c000040),
  27024. 6: uint32(0x02040010),
  27025. },
  27026. },
  27027. 199: {
  27028. Fmap1: [8]TFcChar32{
  27029. 0: uint32(0x00080000),
  27030. 1: uint32(0x08000000),
  27031. 3: uint32(0x00000004),
  27032. },
  27033. },
  27034. 200: {
  27035. Fmap1: [8]TFcChar32{
  27036. 2: uint32(0x07fffffe),
  27037. 3: uint32(0x07fffffe),
  27038. 6: uint32(0x00000300),
  27039. 7: uint32(0x00000300),
  27040. },
  27041. },
  27042. 201: {
  27043. Fmap1: [8]TFcChar32{
  27044. 6: uint32(0xffff0000),
  27045. 7: uint32(0x0001ffff),
  27046. },
  27047. },
  27048. 202: {
  27049. Fmap1: [8]TFcChar32{
  27050. 0: uint32(0xffff0002),
  27051. 1: uint32(0xffffffff),
  27052. 2: uint32(0x0002ffff),
  27053. 4: uint32(0x0c0c0000),
  27054. 5: uint32(0x000cc00c),
  27055. 6: uint32(0x03000000),
  27056. },
  27057. },
  27058. 203: {
  27059. Fmap1: [8]TFcChar32{
  27060. 1: uint32(0x00000300),
  27061. 3: uint32(0x00000300),
  27062. },
  27063. },
  27064. 204: {
  27065. Fmap1: [8]TFcChar32{
  27066. 0: uint32(0xffff0000),
  27067. 1: uint32(0xffffffff),
  27068. 2: uint32(0x0040ffff),
  27069. 4: uint32(0x0c0c0000),
  27070. 5: uint32(0x0c00000c),
  27071. 6: uint32(0x03000000),
  27072. 7: uint32(0x00000300),
  27073. },
  27074. },
  27075. 205: {
  27076. Fmap1: [8]TFcChar32{
  27077. 2: uint32(0x07fffffe),
  27078. 3: uint32(0x07fffffe),
  27079. 6: uint32(0x0d10646e),
  27080. 7: uint32(0x0d10646e),
  27081. },
  27082. },
  27083. 206: {
  27084. Fmap1: [8]TFcChar32{
  27085. 1: uint32(0x01000300),
  27086. 3: uint32(0x00000300),
  27087. },
  27088. },
  27089. 207: {
  27090. Fmap1: [8]TFcChar32{
  27091. 4: uint32(0x9fffffff),
  27092. 5: uint32(0xffcffee7),
  27093. 6: uint32(0x0000003f),
  27094. },
  27095. },
  27096. 208: {
  27097. Fmap1: [8]TFcChar32{
  27098. 4: uint32(0xfffddfec),
  27099. 5: uint32(0xc3effdff),
  27100. 6: uint32(0x40603ddf),
  27101. 7: uint32(0x00000003),
  27102. },
  27103. },
  27104. 209: {
  27105. Fmap1: [8]TFcChar32{
  27106. 1: uint32(0xfffe0000),
  27107. 2: uint32(0xffffffff),
  27108. 3: uint32(0xffffffef),
  27109. 4: uint32(0x00007fff),
  27110. },
  27111. },
  27112. 210: {
  27113. Fmap1: [8]TFcChar32{
  27114. 0: uint32(0x3eff0793),
  27115. 1: uint32(0x1303b011),
  27116. 2: uint32(0x11102801),
  27117. 3: uint32(0x05930000),
  27118. 4: uint32(0xb0111e7b),
  27119. 5: uint32(0x3b019703),
  27120. 6: uint32(0x00a01112),
  27121. 7: uint32(0x306b9593),
  27122. },
  27123. },
  27124. 211: {
  27125. Fmap1: [8]TFcChar32{
  27126. 0: uint32(0x1102b051),
  27127. 1: uint32(0x11303201),
  27128. 2: uint32(0x011102b0),
  27129. 3: uint32(0xb879300a),
  27130. 4: uint32(0x30011306),
  27131. 5: uint32(0x00800010),
  27132. 6: uint32(0x100b0113),
  27133. 7: uint32(0x93000011),
  27134. },
  27135. },
  27136. 212: {
  27137. Fmap1: [8]TFcChar32{
  27138. 0: uint32(0x00102b03),
  27139. 1: uint32(0x05930000),
  27140. 2: uint32(0xb051746b),
  27141. 3: uint32(0x3b011323),
  27142. 4: uint32(0x00001030),
  27143. 5: uint32(0x70000000),
  27144. 6: uint32(0x1303b011),
  27145. 7: uint32(0x11102900),
  27146. },
  27147. },
  27148. 213: {
  27149. Fmap1: [8]TFcChar32{
  27150. 0: uint32(0x00012180),
  27151. 1: uint32(0xb0153000),
  27152. 2: uint32(0x3001030e),
  27153. 3: uint32(0x02000030),
  27154. 4: uint32(0x10230111),
  27155. 5: uint32(0x13000000),
  27156. 6: uint32(0x10106b81),
  27157. 7: uint32(0x01130300),
  27158. },
  27159. },
  27160. 214: {
  27161. Fmap1: [8]TFcChar32{
  27162. 0: uint32(0x30111013),
  27163. 1: uint32(0x00000100),
  27164. 2: uint32(0x22b85530),
  27165. 3: uint32(0x30000000),
  27166. 4: uint32(0x9702b011),
  27167. 5: uint32(0x113afb07),
  27168. 6: uint32(0x011303b0),
  27169. 7: uint32(0x00000021),
  27170. },
  27171. },
  27172. 215: {
  27173. Fmap1: [8]TFcChar32{
  27174. 0: uint32(0x3b0d1b00),
  27175. 1: uint32(0x03b01138),
  27176. 2: uint32(0x11330113),
  27177. 3: uint32(0x13000001),
  27178. 4: uint32(0x111c2b05),
  27179. 5: uint32(0x00000100),
  27180. 6: uint32(0xb0111000),
  27181. 7: uint32(0x2a011300),
  27182. },
  27183. },
  27184. 216: {
  27185. Fmap1: [8]TFcChar32{
  27186. 0: uint32(0x02b01930),
  27187. 1: uint32(0x10100001),
  27188. 2: uint32(0x11000000),
  27189. 3: uint32(0x10300301),
  27190. 4: uint32(0x07130230),
  27191. 5: uint32(0x0011146b),
  27192. 6: uint32(0x2b051300),
  27193. 7: uint32(0x8fb8f974),
  27194. },
  27195. },
  27196. 217: {
  27197. Fmap1: [8]TFcChar32{
  27198. 0: uint32(0x103b0113),
  27199. 2: uint32(0xd9700000),
  27200. 3: uint32(0x01134ab0),
  27201. 4: uint32(0x0011103b),
  27202. 5: uint32(0x00001103),
  27203. 6: uint32(0x2ab15930),
  27204. 7: uint32(0x10000111),
  27205. },
  27206. },
  27207. 218: {
  27208. Fmap1: [8]TFcChar32{
  27209. 0: uint32(0x11010000),
  27210. 1: uint32(0x00100b01),
  27211. 2: uint32(0x01130000),
  27212. 3: uint32(0x0000102b),
  27213. 4: uint32(0x20000101),
  27214. 5: uint32(0x02a01110),
  27215. 6: uint32(0x30210111),
  27216. 7: uint32(0x0102b059),
  27217. },
  27218. },
  27219. 219: {
  27220. Fmap1: [8]TFcChar32{
  27221. 0: uint32(0x19300000),
  27222. 1: uint32(0x011307b0),
  27223. 2: uint32(0xb011383b),
  27224. 3: uint32(0x00000003),
  27225. 5: uint32(0x383b0d13),
  27226. 6: uint32(0x0103b011),
  27227. 7: uint32(0x00001000),
  27228. },
  27229. },
  27230. 220: {
  27231. Fmap1: [8]TFcChar32{
  27232. 0: uint32(0x01130000),
  27233. 1: uint32(0x00101020),
  27234. 2: uint32(0x00000100),
  27235. 3: uint32(0x00000110),
  27236. 4: uint32(0x30000000),
  27237. 5: uint32(0x00021811),
  27238. 6: uint32(0x00100000),
  27239. 7: uint32(0x01110000),
  27240. },
  27241. },
  27242. 221: {
  27243. Fmap1: [8]TFcChar32{
  27244. 0: uint32(0x00000023),
  27245. 1: uint32(0x0b019300),
  27246. 2: uint32(0x00301110),
  27247. 3: uint32(0x302b0111),
  27248. 4: uint32(0x13c7b011),
  27249. 5: uint32(0x01303b01),
  27250. 6: uint32(0x00000280),
  27251. 7: uint32(0xb0113000),
  27252. },
  27253. },
  27254. 222: {
  27255. Fmap1: [8]TFcChar32{
  27256. 0: uint32(0x2b011383),
  27257. 1: uint32(0x03b01130),
  27258. 2: uint32(0x300a0011),
  27259. 3: uint32(0x1102b011),
  27260. 4: uint32(0x00002000),
  27261. 5: uint32(0x01110100),
  27262. 6: uint32(0xa011102b),
  27263. 7: uint32(0x2b011302),
  27264. },
  27265. },
  27266. 223: {
  27267. Fmap1: [8]TFcChar32{
  27268. 0: uint32(0x01000010),
  27269. 1: uint32(0x30000001),
  27270. 2: uint32(0x13029011),
  27271. 3: uint32(0x11302b01),
  27272. 4: uint32(0x000066b0),
  27273. 5: uint32(0xb0113000),
  27274. 6: uint32(0x6b07d302),
  27275. 7: uint32(0x07b0113a),
  27276. },
  27277. },
  27278. 224: {
  27279. Fmap1: [8]TFcChar32{
  27280. 0: uint32(0x00200103),
  27281. 1: uint32(0x13000000),
  27282. 2: uint32(0x11386b05),
  27283. 3: uint32(0x011303b0),
  27284. 4: uint32(0x000010b8),
  27285. 5: uint32(0x2b051b00),
  27286. 6: uint32(0x03000110),
  27287. 7: uint32(0x10000000),
  27288. },
  27289. },
  27290. 225: {
  27291. Fmap1: [8]TFcChar32{
  27292. 0: uint32(0x1102a011),
  27293. 1: uint32(0x79700a01),
  27294. 2: uint32(0x0111a2b0),
  27295. 3: uint32(0x0000100a),
  27296. 4: uint32(0x00011100),
  27297. 5: uint32(0x00901110),
  27298. 6: uint32(0x00090111),
  27299. 7: uint32(0x93000000),
  27300. },
  27301. },
  27302. 226: {
  27303. Fmap1: [8]TFcChar32{
  27304. 0: uint32(0xf9f2bb05),
  27305. 1: uint32(0x011322b0),
  27306. 2: uint32(0x2001323b),
  27307. 4: uint32(0x06b05930),
  27308. 5: uint32(0x303b0193),
  27309. 6: uint32(0x1123a011),
  27310. 7: uint32(0x11700000),
  27311. },
  27312. },
  27313. 227: {
  27314. Fmap1: [8]TFcChar32{
  27315. 0: uint32(0x001102b0),
  27316. 1: uint32(0x00001010),
  27317. 2: uint32(0x03011301),
  27318. 3: uint32(0x00000110),
  27319. 4: uint32(0x162b0793),
  27320. 5: uint32(0x01010010),
  27321. 6: uint32(0x11300000),
  27322. 7: uint32(0x01110200),
  27323. },
  27324. },
  27325. 228: {
  27326. Fmap1: [8]TFcChar32{
  27327. 0: uint32(0xb0113029),
  27328. 2: uint32(0x0eb05130),
  27329. 3: uint32(0x383b0513),
  27330. 4: uint32(0x0303b011),
  27331. 5: uint32(0x00000100),
  27332. 6: uint32(0x01930000),
  27333. 7: uint32(0x00001039),
  27334. },
  27335. },
  27336. 229: {
  27337. Fmap1: [8]TFcChar32{
  27338. 0: uint32(0x3b000302),
  27339. 2: uint32(0x00230113),
  27340. 4: uint32(0x00100000),
  27341. 5: uint32(0x00010000),
  27342. 6: uint32(0x90113020),
  27343. 7: uint32(0x00000002),
  27344. },
  27345. },
  27346. 230: {
  27347. Fmap1: [8]TFcChar32{
  27348. 1: uint32(0x10000000),
  27349. 2: uint32(0x11020000),
  27350. 3: uint32(0x00000301),
  27351. 4: uint32(0x01130000),
  27352. 5: uint32(0xb079b02b),
  27353. 6: uint32(0x3b011323),
  27354. 7: uint32(0x02b01130),
  27355. },
  27356. },
  27357. 231: {
  27358. Fmap1: [8]TFcChar32{
  27359. 0: uint32(0xf0210111),
  27360. 1: uint32(0x1343b0d9),
  27361. 2: uint32(0x11303b01),
  27362. 3: uint32(0x011103b0),
  27363. 4: uint32(0xb0517020),
  27364. 5: uint32(0x20011322),
  27365. 6: uint32(0x01901110),
  27366. 7: uint32(0x300b0111),
  27367. },
  27368. },
  27369. 232: {
  27370. Fmap1: [8]TFcChar32{
  27371. 0: uint32(0x9302b011),
  27372. 1: uint32(0x0016ab01),
  27373. 2: uint32(0x01130100),
  27374. 3: uint32(0xb0113021),
  27375. 4: uint32(0x29010302),
  27376. 5: uint32(0x02b03130),
  27377. 6: uint32(0x30000000),
  27378. 7: uint32(0x1b42b819),
  27379. },
  27380. },
  27381. 233: {
  27382. Fmap1: [8]TFcChar32{
  27383. 0: uint32(0x11383301),
  27384. 1: uint32(0x00000330),
  27385. 2: uint32(0x00000020),
  27386. 3: uint32(0x33051300),
  27387. 4: uint32(0x00001110),
  27388. 6: uint32(0x93000000),
  27389. 7: uint32(0x01302305),
  27390. },
  27391. },
  27392. 234: {
  27393. Fmap1: [8]TFcChar32{
  27394. 0: uint32(0x00010100),
  27395. 1: uint32(0x30111010),
  27396. 2: uint32(0x00000100),
  27397. 3: uint32(0x02301130),
  27398. 4: uint32(0x10100001),
  27399. 5: uint32(0x11000000),
  27400. 7: uint32(0x85130200),
  27401. },
  27402. },
  27403. 235: {
  27404. Fmap1: [8]TFcChar32{
  27405. 0: uint32(0x10111003),
  27406. 1: uint32(0x2b011300),
  27407. 2: uint32(0x63b87730),
  27408. 3: uint32(0x303b0113),
  27409. 4: uint32(0x11a2b091),
  27410. 5: uint32(0x7b300201),
  27411. 6: uint32(0x011357f0),
  27412. 7: uint32(0xf0d1702b),
  27413. },
  27414. },
  27415. 236: {
  27416. Fmap1: [8]TFcChar32{
  27417. 0: uint32(0x1b0111e3),
  27418. 1: uint32(0x0ab97130),
  27419. 2: uint32(0x303b0113),
  27420. 3: uint32(0x13029001),
  27421. 4: uint32(0x11302b01),
  27422. 5: uint32(0x071302b0),
  27423. 6: uint32(0x3011302b),
  27424. 7: uint32(0x23011303),
  27425. },
  27426. },
  27427. 237: {
  27428. Fmap1: [8]TFcChar32{
  27429. 0: uint32(0x02b01130),
  27430. 1: uint32(0x30ab0113),
  27431. 2: uint32(0x11feb411),
  27432. 3: uint32(0x71300901),
  27433. 4: uint32(0x05d347b8),
  27434. 5: uint32(0xb011307b),
  27435. 6: uint32(0x21015303),
  27436. 7: uint32(0x00001110),
  27437. },
  27438. },
  27439. 238: {
  27440. Fmap1: [8]TFcChar32{
  27441. 0: uint32(0x306b0513),
  27442. 1: uint32(0x1102b011),
  27443. 2: uint32(0x00103301),
  27444. 3: uint32(0x05130000),
  27445. 4: uint32(0xa01038eb),
  27446. 5: uint32(0x30000102),
  27447. 6: uint32(0x02b01110),
  27448. 7: uint32(0x30200013),
  27449. },
  27450. },
  27451. 239: {
  27452. Fmap1: [8]TFcChar32{
  27453. 0: uint32(0x0102b071),
  27454. 1: uint32(0x00101000),
  27455. 2: uint32(0x01130000),
  27456. 3: uint32(0x1011100b),
  27457. 4: uint32(0x2b011300),
  27458. 6: uint32(0x366b0593),
  27459. 7: uint32(0x1303b095),
  27460. },
  27461. },
  27462. 240: {
  27463. Fmap1: [8]TFcChar32{
  27464. 0: uint32(0x01103b01),
  27465. 1: uint32(0x00000200),
  27466. 2: uint32(0xb0113000),
  27467. 3: uint32(0x20000103),
  27468. 4: uint32(0x01000010),
  27469. 5: uint32(0x30000000),
  27470. 6: uint32(0x030ab011),
  27471. 7: uint32(0x00101001),
  27472. },
  27473. },
  27474. 241: {
  27475. Fmap1: [8]TFcChar32{
  27476. 0: uint32(0x01110100),
  27477. 1: uint32(0x00000003),
  27478. 2: uint32(0x23011302),
  27479. 3: uint32(0x03000010),
  27480. 4: uint32(0x10000000),
  27481. 5: uint32(0x01000000),
  27482. 6: uint32(0x00100000),
  27483. 7: uint32(0x00000290),
  27484. },
  27485. },
  27486. 242: {
  27487. Fmap1: [8]TFcChar32{
  27488. 0: uint32(0x30113000),
  27489. 1: uint32(0x7b015386),
  27490. 2: uint32(0x03b01130),
  27491. 3: uint32(0x00210151),
  27492. 4: uint32(0x13000000),
  27493. 5: uint32(0x11303b01),
  27494. 6: uint32(0x001102b0),
  27495. 7: uint32(0x00011010),
  27496. },
  27497. },
  27498. 243: {
  27499. Fmap1: [8]TFcChar32{
  27500. 0: uint32(0x2b011302),
  27501. 1: uint32(0x02001110),
  27502. 2: uint32(0x10000000),
  27503. 3: uint32(0x0102b011),
  27504. 4: uint32(0x11300100),
  27505. 5: uint32(0x000102b0),
  27506. 6: uint32(0x00011010),
  27507. 7: uint32(0x2b011100),
  27508. },
  27509. },
  27510. 244: {
  27511. Fmap1: [8]TFcChar32{
  27512. 0: uint32(0x02101110),
  27513. 1: uint32(0x002b0113),
  27514. 2: uint32(0x93000000),
  27515. 3: uint32(0x11302b03),
  27516. 4: uint32(0x011302b0),
  27517. 5: uint32(0x0000303b),
  27518. 6: uint32(0x00000002),
  27519. 7: uint32(0x03b01930),
  27520. },
  27521. },
  27522. 245: {
  27523. Fmap1: [8]TFcChar32{
  27524. 0: uint32(0x102b0113),
  27525. 1: uint32(0x0103b011),
  27526. 2: uint32(0x11300000),
  27527. 3: uint32(0x011302b0),
  27528. 4: uint32(0x00001021),
  27529. 5: uint32(0x00010102),
  27530. 6: uint32(0x00000010),
  27531. 7: uint32(0x102b0113),
  27532. },
  27533. },
  27534. 246: {
  27535. Fmap1: [8]TFcChar32{
  27536. 0: uint32(0x01020011),
  27537. 1: uint32(0x11302000),
  27538. 2: uint32(0x011102b0),
  27539. 3: uint32(0x30113001),
  27540. 4: uint32(0x00000002),
  27541. 5: uint32(0x02b01130),
  27542. 6: uint32(0x303b0313),
  27543. 7: uint32(0x0103b011),
  27544. },
  27545. },
  27546. 247: {
  27547. Fmap1: [8]TFcChar32{
  27548. 0: uint32(0x00002000),
  27549. 1: uint32(0x05130000),
  27550. 2: uint32(0xb011303b),
  27551. 3: uint32(0x10001102),
  27552. 4: uint32(0x00000110),
  27553. 5: uint32(0x142b0113),
  27554. 6: uint32(0x01000001),
  27555. 7: uint32(0x01100000),
  27556. },
  27557. },
  27558. 248: {
  27559. Fmap1: [8]TFcChar32{
  27560. 0: uint32(0x00010280),
  27561. 1: uint32(0xb0113000),
  27562. 2: uint32(0x10000102),
  27563. 3: uint32(0x00000010),
  27564. 4: uint32(0x10230113),
  27565. 5: uint32(0x93021011),
  27566. 6: uint32(0x11100b05),
  27567. 7: uint32(0x01130030),
  27568. },
  27569. },
  27570. 249: {
  27571. Fmap1: [8]TFcChar32{
  27572. 0: uint32(0xb051702b),
  27573. 1: uint32(0x3b011323),
  27574. 2: uint32(0x00000030),
  27575. 3: uint32(0x30000000),
  27576. 4: uint32(0x1303b011),
  27577. 5: uint32(0x11102b01),
  27578. 6: uint32(0x01010330),
  27579. 7: uint32(0xb011300a),
  27580. },
  27581. },
  27582. 250: {
  27583. Fmap1: [8]TFcChar32{
  27584. 0: uint32(0x20000102),
  27585. 2: uint32(0x10000011),
  27586. 3: uint32(0x9300a011),
  27587. 4: uint32(0x00102b05),
  27588. 5: uint32(0x00000200),
  27589. 6: uint32(0x90111000),
  27590. 7: uint32(0x29011100),
  27591. },
  27592. },
  27593. 251: {
  27594. Fmap1: [8]TFcChar32{
  27595. 0: uint32(0x00b01110),
  27596. 1: uint32(0x30000000),
  27597. 2: uint32(0x1302b011),
  27598. 3: uint32(0x11302b21),
  27599. 4: uint32(0x000103b0),
  27600. 5: uint32(0x00000020),
  27601. 6: uint32(0x2b051300),
  27602. 7: uint32(0x02b01130),
  27603. },
  27604. },
  27605. 252: {
  27606. Fmap1: [8]TFcChar32{
  27607. 0: uint32(0x103b0113),
  27608. 1: uint32(0x13002011),
  27609. 2: uint32(0x11322b21),
  27610. 3: uint32(0x00130280),
  27611. 4: uint32(0xa0113028),
  27612. 5: uint32(0x0a011102),
  27613. 6: uint32(0x02921130),
  27614. 7: uint32(0x30210111),
  27615. },
  27616. },
  27617. 253: {
  27618. Fmap1: [8]TFcChar32{
  27619. 0: uint32(0x13020011),
  27620. 1: uint32(0x11302b01),
  27621. 2: uint32(0x03d30290),
  27622. 3: uint32(0x3011122b),
  27623. 4: uint32(0x2b011302),
  27624. },
  27625. },
  27626. 254: {
  27627. Fmap1: [8]TFcChar32{
  27628. 4: uint32(0x00004000),
  27629. 6: uint32(0x20000000),
  27630. },
  27631. },
  27632. 255: {
  27633. Fmap1: [8]TFcChar32{
  27634. 2: uint32(0x00003000),
  27635. },
  27636. },
  27637. 256: {
  27638. Fmap1: [8]TFcChar32{
  27639. 1: uint32(0x040001df),
  27640. 2: uint32(0x80800176),
  27641. 3: uint32(0x420c0000),
  27642. 4: uint32(0x01020140),
  27643. 5: uint32(0x44008200),
  27644. 6: uint32(0x00041018),
  27645. },
  27646. },
  27647. 257: {
  27648. Fmap1: [8]TFcChar32{
  27649. 0: uint32(0xffff0000),
  27650. 1: uint32(0xffff27bf),
  27651. 2: uint32(0x000027bf),
  27652. 5: uint32(0x0c000000),
  27653. 6: uint32(0x03000000),
  27654. 7: uint32(0x000000c0),
  27655. },
  27656. },
  27657. 258: {
  27658. Fmap1: [8]TFcChar32{
  27659. 0: uint32(0x3c000000),
  27660. },
  27661. },
  27662. 259: {
  27663. Fmap1: [8]TFcChar32{
  27664. 1: uint32(0x061ef5c0),
  27665. 2: uint32(0x000001f6),
  27666. 3: uint32(0x40000000),
  27667. 4: uint32(0x01040040),
  27668. 5: uint32(0x00208210),
  27669. 6: uint32(0x00005040),
  27670. },
  27671. },
  27672. 260: {
  27673. Fmap1: [8]TFcChar32{
  27674. 2: uint32(0x07fffffe),
  27675. 3: uint32(0x07fffffe),
  27676. 6: uint32(0x08004480),
  27677. 7: uint32(0x08004480),
  27678. },
  27679. },
  27680. 261: {
  27681. Fmap1: [8]TFcChar32{
  27682. 2: uint32(0xc0000000),
  27683. },
  27684. },
  27685. 262: {
  27686. Fmap1: [8]TFcChar32{
  27687. 0: uint32(0xffff0002),
  27688. 1: uint32(0xffffffff),
  27689. 2: uint32(0x0002ffff),
  27690. },
  27691. },
  27692. 263: {
  27693. Fmap1: [8]TFcChar32{
  27694. 0: uint32(0xffff0042),
  27695. 1: uint32(0xffffffff),
  27696. 2: uint32(0x0042ffff),
  27697. 7: uint32(0x000000c0),
  27698. },
  27699. },
  27700. 264: {
  27701. Fmap1: [8]TFcChar32{
  27702. 1: uint32(0x000c0000),
  27703. },
  27704. },
  27705. 265: {
  27706. Fmap1: [8]TFcChar32{
  27707. 0: uint32(0xffff0002),
  27708. 1: uint32(0xffffffff),
  27709. 2: uint32(0x0002ffff),
  27710. 5: uint32(0x0000c00c),
  27711. },
  27712. },
  27713. 266: {
  27714. Fmap1: [8]TFcChar32{
  27715. 0: uint32(0x000c0003),
  27716. 1: uint32(0x00003c00),
  27717. 2: uint32(0x0000f000),
  27718. 3: uint32(0x00003c00),
  27719. },
  27720. },
  27721. 267: {
  27722. Fmap1: [8]TFcChar32{
  27723. 1: uint32(0x040001de),
  27724. 2: uint32(0x00000176),
  27725. 3: uint32(0x42000000),
  27726. 4: uint32(0x01020140),
  27727. 5: uint32(0x44008200),
  27728. 6: uint32(0x00041008),
  27729. },
  27730. },
  27731. 268: {
  27732. Fmap1: [8]TFcChar32{
  27733. 2: uint32(0x07fffffe),
  27734. 3: uint32(0x07fffffe),
  27735. 6: uint32(0x98504f14),
  27736. 7: uint32(0x18504f14),
  27737. },
  27738. },
  27739. 269: {
  27740. Fmap1: [8]TFcChar32{
  27741. 2: uint32(0x00000c00),
  27742. },
  27743. },
  27744. 270: {
  27745. Fmap1: [8]TFcChar32{
  27746. 2: uint32(0x07fffffe),
  27747. 3: uint32(0x07fffffe),
  27748. 6: uint32(0x00480910),
  27749. 7: uint32(0x00480910),
  27750. },
  27751. },
  27752. 271: {
  27753. Fmap1: [8]TFcChar32{
  27754. 2: uint32(0x07fffffe),
  27755. 3: uint32(0x07fffffe),
  27756. 6: uint32(0x0c186606),
  27757. 7: uint32(0x0c186606),
  27758. },
  27759. },
  27760. 272: {
  27761. Fmap1: [8]TFcChar32{
  27762. 0: uint32(0x0c000000),
  27763. 4: uint32(0x00010040),
  27764. },
  27765. },
  27766. 273: {
  27767. Fmap1: [8]TFcChar32{
  27768. 0: uint32(0x00001006),
  27769. },
  27770. },
  27771. 274: {
  27772. Fmap1: [8]TFcChar32{
  27773. 4: uint32(0xfef02596),
  27774. 5: uint32(0x3bffecae),
  27775. 6: uint32(0x30003f5f),
  27776. },
  27777. },
  27778. 275: {
  27779. Fmap1: [8]TFcChar32{
  27780. 0: uint32(0x03c03030),
  27781. 1: uint32(0x0000c000),
  27782. 3: uint32(0x600c0c03),
  27783. },
  27784. },
  27785. 276: {
  27786. Fmap1: [8]TFcChar32{
  27787. 0: uint32(0x000c3003),
  27788. 1: uint32(0x18c00c0c),
  27789. 2: uint32(0x00c03060),
  27790. 3: uint32(0x60000c03),
  27791. },
  27792. },
  27793. 277: {
  27794. Fmap1: [8]TFcChar32{
  27795. 2: uint32(0x07fffffe),
  27796. 3: uint32(0x07fffffe),
  27797. 6: uint32(0x00100002),
  27798. 7: uint32(0x00100002),
  27799. },
  27800. },
  27801. 278: {
  27802. Fmap1: [8]TFcChar32{
  27803. 0: uint32(0x00000003),
  27804. 1: uint32(0x18000000),
  27805. 2: uint32(0x00003060),
  27806. 3: uint32(0x00000c00),
  27807. },
  27808. },
  27809. 279: {
  27810. Fmap1: [8]TFcChar32{
  27811. 1: uint32(0x00300000),
  27812. },
  27813. },
  27814. 280: {
  27815. Fmap1: [8]TFcChar32{
  27816. 0: uint32(0xfdffb729),
  27817. 1: uint32(0x000001ff),
  27818. 2: uint32(0xb7290000),
  27819. },
  27820. },
  27821. 281: {
  27822. Fmap1: [8]TFcChar32{
  27823. 0: uint32(0xfffddfec),
  27824. 1: uint32(0xc3fffdff),
  27825. 2: uint32(0x00803dcf),
  27826. 3: uint32(0x00000003),
  27827. },
  27828. },
  27829. 282: {
  27830. Fmap1: [8]TFcChar32{
  27831. 1: uint32(0xffffffff),
  27832. 2: uint32(0xffffffff),
  27833. 3: uint32(0x00ffffff),
  27834. 4: uint32(0xffffffff),
  27835. 5: uint32(0x000003ff),
  27836. },
  27837. },
  27838. 283: {
  27839. Fmap1: [8]TFcChar32{
  27840. 0: uint32(0xffff0002),
  27841. 1: uint32(0xffffffff),
  27842. 2: uint32(0x0002ffff),
  27843. 5: uint32(0x0000c000),
  27844. 7: uint32(0x00000300),
  27845. },
  27846. },
  27847. 284: {
  27848. Fmap1: [8]TFcChar32{
  27849. 3: uint32(0x00000010),
  27850. 4: uint32(0xfff99fee),
  27851. 5: uint32(0xf3c5fdff),
  27852. 6: uint32(0xb000798f),
  27853. 7: uint32(0x0002ffc0),
  27854. },
  27855. },
  27856. 285: {
  27857. Fmap1: [8]TFcChar32{
  27858. 2: uint32(0x07fffffe),
  27859. 3: uint32(0x07fffffe),
  27860. 6: uint32(0x00004004),
  27861. 7: uint32(0x00004004),
  27862. },
  27863. },
  27864. 286: {
  27865. Fmap1: [8]TFcChar32{
  27866. 0: uint32(0x0f000000),
  27867. },
  27868. },
  27869. 287: {
  27870. Fmap1: [8]TFcChar32{
  27871. 2: uint32(0x07fffffe),
  27872. 3: uint32(0x07fffffe),
  27873. 6: uint32(0x02045101),
  27874. 7: uint32(0x02045101),
  27875. },
  27876. },
  27877. 288: {
  27878. Fmap1: [8]TFcChar32{
  27879. 0: uint32(0x00000c00),
  27880. 1: uint32(0x000000c3),
  27881. 3: uint32(0x18000000),
  27882. },
  27883. },
  27884. 289: {
  27885. Fmap1: [8]TFcChar32{
  27886. 0: uint32(0xffffffff),
  27887. 1: uint32(0x0007f6fb),
  27888. },
  27889. },
  27890. 290: {
  27891. Fmap1: [8]TFcChar32{
  27892. 3: uint32(0x00000300),
  27893. },
  27894. },
  27895. 291: {
  27896. Fmap1: [8]TFcChar32{
  27897. 2: uint32(0x07fffffe),
  27898. 3: uint32(0x07fffffe),
  27899. 6: uint32(0x011c0661),
  27900. 7: uint32(0x011c0661),
  27901. },
  27902. },
  27903. 292: {
  27904. Fmap1: [8]TFcChar32{
  27905. 0: uint32(0xfff98fee),
  27906. 1: uint32(0xc3e5fdff),
  27907. 2: uint32(0x0001398f),
  27908. 3: uint32(0x0001fff0),
  27909. },
  27910. },
  27911. 293: {
  27912. Fmap1: [8]TFcChar32{
  27913. 2: uint32(0x07fffffe),
  27914. 3: uint32(0x07fffffe),
  27915. 6: uint32(0x1c58af16),
  27916. 7: uint32(0x1c58af16),
  27917. },
  27918. },
  27919. 294: {
  27920. Fmap1: [8]TFcChar32{
  27921. 2: uint32(0x07fffffe),
  27922. 3: uint32(0x07fffffe),
  27923. 6: uint32(0x115c0671),
  27924. 7: uint32(0x115c0671),
  27925. },
  27926. },
  27927. 295: {
  27928. Fmap1: [8]TFcChar32{
  27929. 6: uint32(0xffffffff),
  27930. 7: uint32(0x07ffffff),
  27931. },
  27932. },
  27933. 296: {
  27934. Fmap1: [8]TFcChar32{
  27935. 2: uint32(0x07fffffe),
  27936. 3: uint32(0x07fffffe),
  27937. 6: uint32(0x00100400),
  27938. 7: uint32(0x00100400),
  27939. },
  27940. },
  27941. 297: {
  27942. Fmap1: [8]TFcChar32{
  27943. 3: uint32(0x00000003),
  27944. },
  27945. },
  27946. 298: {
  27947. Fmap1: [8]TFcChar32{
  27948. 2: uint32(0x07fffffe),
  27949. 3: uint32(0x07fffffe),
  27950. 6: uint32(0x00082202),
  27951. 7: uint32(0x00082202),
  27952. },
  27953. },
  27954. 299: {
  27955. Fmap1: [8]TFcChar32{
  27956. 0: uint32(0x03000030),
  27957. 1: uint32(0x0000c000),
  27958. 2: uint32(0x00000006),
  27959. 7: uint32(0x00000c00),
  27960. },
  27961. },
  27962. 300: {
  27963. Fmap1: [8]TFcChar32{
  27964. 5: uint32(0x10000000),
  27965. },
  27966. },
  27967. 301: {
  27968. Fmap1: [8]TFcChar32{
  27969. 0: uint32(0x00000002),
  27970. },
  27971. },
  27972. 302: {
  27973. Fmap1: [8]TFcChar32{
  27974. 3: uint32(0x00300000),
  27975. },
  27976. },
  27977. 303: {
  27978. Fmap1: [8]TFcChar32{
  27979. 2: uint32(0x07fffffe),
  27980. 3: uint32(0x07fffffe),
  27981. 6: uint32(0x040c2383),
  27982. 7: uint32(0x040c2383),
  27983. },
  27984. },
  27985. 304: {
  27986. Fmap1: [8]TFcChar32{
  27987. 0: uint32(0xfff99fee),
  27988. 1: uint32(0xf3cdfdff),
  27989. 2: uint32(0xb0c0398f),
  27990. 3: uint32(0x00000003),
  27991. },
  27992. },
  27993. 305: {
  27994. Fmap1: [8]TFcChar32{
  27995. 1: uint32(0x07ffffc6),
  27996. 2: uint32(0x000001fe),
  27997. 3: uint32(0x40000000),
  27998. 4: uint32(0x01000040),
  27999. 5: uint32(0x0000a000),
  28000. 6: uint32(0x00001000),
  28001. },
  28002. },
  28003. 306: {
  28004. Fmap1: [8]TFcChar32{
  28005. 0: uint32(0xfff987e0),
  28006. 1: uint32(0xd36dfdff),
  28007. 2: uint32(0x1e003987),
  28008. 3: uint32(0x001f0000),
  28009. },
  28010. },
  28011. 307: {
  28012. Fmap1: [8]TFcChar32{
  28013. 2: uint32(0x07fffffe),
  28014. 3: uint32(0x07fffffe),
  28015. 6: uint32(0x160e2302),
  28016. 7: uint32(0x160e2302),
  28017. },
  28018. },
  28019. 308: {
  28020. Fmap1: [8]TFcChar32{
  28021. 2: uint32(0x07fffffe),
  28022. 3: uint32(0x07fffffe),
  28023. 6: uint32(0x00020000),
  28024. 7: uint32(0x00020000),
  28025. },
  28026. },
  28027. 309: {
  28028. Fmap1: [8]TFcChar32{
  28029. 0: uint32(0x030000f0),
  28030. 2: uint32(0x0c00001e),
  28031. 3: uint32(0x1e000000),
  28032. },
  28033. },
  28034. 310: {
  28035. Fmap1: [8]TFcChar32{
  28036. 1: uint32(0x07ffffde),
  28037. 2: uint32(0x000005f6),
  28038. 3: uint32(0x50000000),
  28039. 4: uint32(0x05480262),
  28040. 5: uint32(0x10000a00),
  28041. 6: uint32(0x00013000),
  28042. },
  28043. },
  28044. 311: {
  28045. Fmap1: [8]TFcChar32{
  28046. 1: uint32(0x07ffffde),
  28047. 2: uint32(0x000005f6),
  28048. 3: uint32(0x50000000),
  28049. 4: uint32(0x05480262),
  28050. 5: uint32(0x10000a00),
  28051. 6: uint32(0x00052000),
  28052. },
  28053. },
  28054. 312: {
  28055. Fmap1: [8]TFcChar32{
  28056. 2: uint32(0x07fffffe),
  28057. 3: uint32(0x07fffffe),
  28058. 6: uint32(0x143c278f),
  28059. 7: uint32(0x143c278f),
  28060. },
  28061. },
  28062. 313: {
  28063. Fmap1: [8]TFcChar32{
  28064. 6: uint32(0x00000100),
  28065. },
  28066. },
  28067. 314: {
  28068. Fmap1: [8]TFcChar32{
  28069. 2: uint32(0x07fffffe),
  28070. 3: uint32(0x07fffffe),
  28071. 6: uint32(0x02045301),
  28072. 7: uint32(0x02045301),
  28073. },
  28074. },
  28075. 315: {
  28076. Fmap1: [8]TFcChar32{
  28077. 0: uint32(0xffff0002),
  28078. 1: uint32(0xffffffff),
  28079. 2: uint32(0x0002ffff),
  28080. 4: uint32(0x00300000),
  28081. 5: uint32(0x0c00c030),
  28082. 6: uint32(0x03000000),
  28083. },
  28084. },
  28085. 316: {
  28086. Fmap1: [8]TFcChar32{
  28087. 0: uint32(0xfff987ee),
  28088. 1: uint32(0xf325fdff),
  28089. 2: uint32(0x00013987),
  28090. 3: uint32(0x0001fff0),
  28091. },
  28092. },
  28093. 317: {
  28094. Fmap1: [8]TFcChar32{
  28095. 2: uint32(0x07fffffe),
  28096. 3: uint32(0x07fffffe),
  28097. 6: uint32(0x02041101),
  28098. 7: uint32(0x02041101),
  28099. },
  28100. },
  28101. 318: {
  28102. Fmap1: [8]TFcChar32{
  28103. 5: uint32(0x00800000),
  28104. },
  28105. },
  28106. 319: {
  28107. Fmap1: [8]TFcChar32{
  28108. 0: uint32(0x30000000),
  28109. 4: uint32(0x00040000),
  28110. },
  28111. },
  28112. 320: {
  28113. Fmap1: [8]TFcChar32{
  28114. 1: uint32(0x07fffdd6),
  28115. 2: uint32(0x000005f6),
  28116. 3: uint32(0xec000000),
  28117. 4: uint32(0x0200b4d9),
  28118. 5: uint32(0x480a8640),
  28119. },
  28120. },
  28121. 321: {
  28122. Fmap1: [8]TFcChar32{
  28123. 2: uint32(0x07fffffe),
  28124. 3: uint32(0x07fffffe),
  28125. 6: uint32(0x00000002),
  28126. 7: uint32(0x00000002),
  28127. },
  28128. },
  28129. 322: {
  28130. Fmap1: [8]TFcChar32{
  28131. 0: uint32(0x00033000),
  28132. 2: uint32(0x00000c00),
  28133. 3: uint32(0x600000c3),
  28134. },
  28135. },
  28136. 323: {
  28137. Fmap1: [8]TFcChar32{
  28138. 2: uint32(0x07fffffe),
  28139. 3: uint32(0x07fffffe),
  28140. 6: uint32(0x1850cc14),
  28141. 7: uint32(0x1850cc14),
  28142. },
  28143. },
  28144. 324: {
  28145. Fmap1: [8]TFcChar32{
  28146. 0: uint32(0xffff8f04),
  28147. 1: uint32(0xffffffff),
  28148. 2: uint32(0x8f04ffff),
  28149. 4: uint32(0x030c0000),
  28150. 5: uint32(0x0c00cc0f),
  28151. 6: uint32(0x03000000),
  28152. 7: uint32(0x00000300),
  28153. },
  28154. },
  28155. 325: {
  28156. Fmap1: [8]TFcChar32{
  28157. 1: uint32(0x00800000),
  28158. 2: uint32(0x03bffbaa),
  28159. 3: uint32(0x03bffbaa),
  28160. 6: uint32(0x00002202),
  28161. 7: uint32(0x00002202),
  28162. },
  28163. },
  28164. 326: {
  28165. Fmap1: [8]TFcChar32{
  28166. 0: uint32(0x00080000),
  28167. },
  28168. },
  28169. 327: {
  28170. Fmap1: [8]TFcChar32{
  28171. 4: uint32(0xfc7e3fec),
  28172. 5: uint32(0x2ffbffbf),
  28173. 6: uint32(0x7f5f847f),
  28174. 7: uint32(0x00040000),
  28175. },
  28176. },
  28177. 328: {
  28178. Fmap1: [8]TFcChar32{
  28179. 0: uint32(0xff7fff7f),
  28180. 1: uint32(0xff01ff7f),
  28181. 2: uint32(0x3d7f3d7f),
  28182. 3: uint32(0xffff7fff),
  28183. 4: uint32(0xffff3d7f),
  28184. 5: uint32(0x003d7fff),
  28185. 6: uint32(0xff7f7f3d),
  28186. 7: uint32(0x00ff7fff),
  28187. },
  28188. },
  28189. 329: {
  28190. Fmap1: [8]TFcChar32{
  28191. 2: uint32(0x07fffffe),
  28192. 3: uint32(0x07fffffe),
  28193. 6: uint32(0x24182212),
  28194. 7: uint32(0x24182212),
  28195. },
  28196. },
  28197. 330: {
  28198. Fmap1: [8]TFcChar32{
  28199. 0: uint32(0x0000f000),
  28200. 1: uint32(0x66000000),
  28201. 2: uint32(0x00300180),
  28202. 3: uint32(0x60000033),
  28203. },
  28204. },
  28205. 331: {
  28206. Fmap1: [8]TFcChar32{
  28207. 2: uint32(0x07fffffe),
  28208. 3: uint32(0x07fffffe),
  28209. 6: uint32(0x00408030),
  28210. 7: uint32(0x00408030),
  28211. },
  28212. },
  28213. 332: {
  28214. Fmap1: [8]TFcChar32{
  28215. 2: uint32(0x07fffffe),
  28216. 3: uint32(0x07fffffe),
  28217. 6: uint32(0x00020032),
  28218. 7: uint32(0x00020032),
  28219. },
  28220. },
  28221. 333: {
  28222. Fmap1: [8]TFcChar32{
  28223. 2: uint32(0x07fffffe),
  28224. 3: uint32(0x07fffffe),
  28225. 6: uint32(0x00000016),
  28226. 7: uint32(0x00000016),
  28227. },
  28228. },
  28229. 334: {
  28230. Fmap1: [8]TFcChar32{
  28231. 0: uint32(0x00033000),
  28232. 2: uint32(0x00000c00),
  28233. 3: uint32(0x60000003),
  28234. },
  28235. },
  28236. 335: {
  28237. Fmap1: [8]TFcChar32{
  28238. 2: uint32(0x07fffffe),
  28239. 3: uint32(0x07fffffe),
  28240. 6: uint32(0x00200034),
  28241. 7: uint32(0x00200034),
  28242. },
  28243. },
  28244. 336: {
  28245. Fmap1: [8]TFcChar32{
  28246. 0: uint32(0x00033000),
  28247. 2: uint32(0x00000c00),
  28248. 3: uint32(0x60000003),
  28249. 5: uint32(0x00800000),
  28250. 7: uint32(0x0000c3f0),
  28251. },
  28252. },
  28253. 337: {
  28254. Fmap1: [8]TFcChar32{
  28255. 4: uint32(0x00040000),
  28256. },
  28257. },
  28258. 338: {
  28259. Fmap1: [8]TFcChar32{
  28260. 2: uint32(0x07fffffe),
  28261. 3: uint32(0x07fffffe),
  28262. 6: uint32(0x00000880),
  28263. 7: uint32(0x00000880),
  28264. },
  28265. },
  28266. 339: {
  28267. Fmap1: [8]TFcChar32{
  28268. 0: uint32(0xfdff8f04),
  28269. 1: uint32(0xfdff01ff),
  28270. 2: uint32(0x8f0401ff),
  28271. },
  28272. },
  28273. 340: {
  28274. Fmap1: [8]TFcChar32{
  28275. 2: uint32(0x07fffffe),
  28276. 3: uint32(0x07fffffe),
  28277. 6: uint32(0x10400a33),
  28278. 7: uint32(0x10400a33),
  28279. },
  28280. },
  28281. 341: {
  28282. Fmap1: [8]TFcChar32{
  28283. 0: uint32(0xffff0000),
  28284. 1: uint32(0xffff1fff),
  28285. },
  28286. },
  28287. 342: {
  28288. Fmap1: [8]TFcChar32{
  28289. 4: uint32(0xd63dc7e8),
  28290. 5: uint32(0xc3bfc718),
  28291. 6: uint32(0x00803dc7),
  28292. },
  28293. },
  28294. 343: {
  28295. Fmap1: [8]TFcChar32{
  28296. 0: uint32(0xfffddfee),
  28297. 1: uint32(0xc3effdff),
  28298. 2: uint32(0x00603ddf),
  28299. 3: uint32(0x00000003),
  28300. },
  28301. },
  28302. 344: {
  28303. Fmap1: [8]TFcChar32{
  28304. 0: uint32(0xffff0002),
  28305. 1: uint32(0xffffffff),
  28306. 2: uint32(0x0002ffff),
  28307. 4: uint32(0x0c0c0000),
  28308. 5: uint32(0x00cc0000),
  28309. 7: uint32(0x0000c00c),
  28310. },
  28311. },
  28312. 345: {
  28313. Fmap1: [8]TFcChar32{
  28314. 0: uint32(0xfffffffe),
  28315. 1: uint32(0x87ffffff),
  28316. 2: uint32(0x00007fff),
  28317. },
  28318. },
  28319. 346: {
  28320. Fmap1: [8]TFcChar32{
  28321. 0: uint32(0xff7fff7f),
  28322. 1: uint32(0xff01ff00),
  28323. 2: uint32(0x00003d7f),
  28324. 3: uint32(0xffff7fff),
  28325. 4: uint32(0x00ff0000),
  28326. 5: uint32(0x003d7f7f),
  28327. 6: uint32(0xff7f7f00),
  28328. 7: uint32(0x00ff7f00),
  28329. },
  28330. },
  28331. 347: {
  28332. Fmap1: [8]TFcChar32{
  28333. 2: uint32(0x07fffffe),
  28334. 3: uint32(0x07fffffe),
  28335. 6: uint32(0x30400090),
  28336. 7: uint32(0x30400090),
  28337. },
  28338. },
  28339. 348: {
  28340. Fmap1: [8]TFcChar32{
  28341. 2: uint32(0xc0000180),
  28342. 3: uint32(0x60000000),
  28343. },
  28344. },
  28345. 349: {
  28346. Fmap1: [8]TFcChar32{
  28347. 2: uint32(0x07fffffe),
  28348. 3: uint32(0x07fffffe),
  28349. 6: uint32(0x18404084),
  28350. 7: uint32(0x18404084),
  28351. },
  28352. },
  28353. 350: {
  28354. Fmap1: [8]TFcChar32{
  28355. 0: uint32(0xffff0002),
  28356. 1: uint32(0xffffffff),
  28357. 2: uint32(0x0002ffff),
  28358. 4: uint32(0x00c00000),
  28359. 5: uint32(0x0c00c00c),
  28360. 6: uint32(0x03000000),
  28361. },
  28362. },
  28363. 351: {
  28364. Fmap1: [8]TFcChar32{
  28365. 2: uint32(0x07fffffe),
  28366. 3: uint32(0x07fffffe),
  28367. 6: uint32(0x00008000),
  28368. 7: uint32(0x00008000),
  28369. },
  28370. },
  28371. 352: {
  28372. Fmap1: [8]TFcChar32{
  28373. 1: uint32(0x041ed5c0),
  28374. 2: uint32(0x0000077e),
  28375. 3: uint32(0x40000000),
  28376. 4: uint32(0x01000040),
  28377. 5: uint32(0x4000a000),
  28378. 6: uint32(0x002109c0),
  28379. },
  28380. },
  28381. 353: {
  28382. Fmap1: [8]TFcChar32{
  28383. 0: uint32(0xffff00d0),
  28384. 1: uint32(0xffffffff),
  28385. 2: uint32(0x00d0ffff),
  28386. 4: uint32(0x00030000),
  28387. },
  28388. },
  28389. 354: {
  28390. Fmap1: [8]TFcChar32{
  28391. 1: uint32(0xffffff7b),
  28392. 2: uint32(0x7fffffff),
  28393. 3: uint32(0x7ffffffe),
  28394. 5: uint32(0x80e310fe),
  28395. 6: uint32(0x00800000),
  28396. 7: uint32(0x00800000),
  28397. },
  28398. },
  28399. 355: {
  28400. Fmap1: [8]TFcChar32{
  28401. 1: uint32(0x00020000),
  28402. },
  28403. },
  28404. 356: {
  28405. Fmap1: [8]TFcChar32{
  28406. 0: uint32(0x00001500),
  28407. 1: uint32(0x01000000),
  28408. 4: uint32(0xfffe0000),
  28409. 5: uint32(0xfffe03db),
  28410. 6: uint32(0x006003fb),
  28411. 7: uint32(0x00030000),
  28412. },
  28413. },
  28414. 357: {
  28415. Fmap1: [8]TFcChar32{
  28416. 0: uint32(0x00400000),
  28417. 1: uint32(0x00000047),
  28418. 2: uint32(0x00800010),
  28419. 7: uint32(0x00000002),
  28420. },
  28421. },
  28422. 358: {
  28423. Fmap1: [8]TFcChar32{
  28424. 0: uint32(0x3f2fc004),
  28425. 1: uint32(0x00000010),
  28426. },
  28427. },
  28428. 359: {
  28429. Fmap1: [8]TFcChar32{
  28430. 0: uint32(0xe3ffbfff),
  28431. 1: uint32(0xfff007ff),
  28432. 2: uint32(0x00000001),
  28433. 4: uint32(0xfffff000),
  28434. 5: uint32(0x0000003f),
  28435. 6: uint32(0x0000e10f),
  28436. },
  28437. },
  28438. 360: {
  28439. Fmap1: [8]TFcChar32{
  28440. 0: uint32(0x00000f00),
  28441. 1: uint32(0x0000000c),
  28442. },
  28443. },
  28444. 361: {
  28445. Fmap1: [8]TFcChar32{
  28446. 5: uint32(0x00000003),
  28447. },
  28448. },
  28449. 362: {
  28450. Fmap1: [8]TFcChar32{
  28451. 7: uint32(0x000003c0),
  28452. },
  28453. },
  28454. 363: {
  28455. Fmap1: [8]TFcChar32{
  28456. 0: uint32(0xffffffff),
  28457. 1: uint32(0xffffffff),
  28458. 2: uint32(0xffdfffff),
  28459. 3: uint32(0xffffffff),
  28460. 4: uint32(0xdfffffff),
  28461. 5: uint32(0x00001e64),
  28462. },
  28463. },
  28464. 364: {
  28465. Fmap1: [8]TFcChar32{
  28466. 1: uint32(0x78000000),
  28467. 2: uint32(0x0001fc5f),
  28468. },
  28469. },
  28470. 365: {
  28471. Fmap1: [8]TFcChar32{
  28472. 5: uint32(0x00000030),
  28473. },
  28474. },
  28475. 366: {
  28476. Fmap1: [8]TFcChar32{
  28477. 0: uint32(0x0c000000),
  28478. 7: uint32(0x00091e00),
  28479. },
  28480. },
  28481. 367: {
  28482. Fmap1: [8]TFcChar32{
  28483. 7: uint32(0x60000000),
  28484. },
  28485. },
  28486. 368: {
  28487. Fmap1: [8]TFcChar32{
  28488. 0: uint32(0x00300000),
  28489. 2: uint32(0x000fff00),
  28490. 3: uint32(0x80000000),
  28491. 4: uint32(0x00080000),
  28492. 5: uint32(0x60000c02),
  28493. 6: uint32(0x00104030),
  28494. 7: uint32(0x242c0400),
  28495. },
  28496. },
  28497. 369: {
  28498. Fmap1: [8]TFcChar32{
  28499. 0: uint32(0x00000c20),
  28500. 1: uint32(0x00000100),
  28501. 2: uint32(0x00b85000),
  28502. 4: uint32(0x00e00000),
  28503. 5: uint32(0x80010000),
  28504. },
  28505. },
  28506. 370: {
  28507. Fmap1: [8]TFcChar32{
  28508. 0: uint32(0x18000000),
  28509. 2: uint32(0x00210000),
  28510. },
  28511. },
  28512. 371: {
  28513. Fmap1: [8]TFcChar32{
  28514. 0: uint32(0x00000010),
  28515. 6: uint32(0x00008000),
  28516. },
  28517. },
  28518. 372: {
  28519. Fmap1: [8]TFcChar32{
  28520. 4: uint32(0x07fe4000),
  28521. 7: uint32(0xffffffc0),
  28522. },
  28523. },
  28524. 373: {
  28525. Fmap1: [8]TFcChar32{
  28526. 0: uint32(0x04000002),
  28527. 1: uint32(0x077c8000),
  28528. 2: uint32(0x00030000),
  28529. },
  28530. },
  28531. 374: {
  28532. Fmap1: [8]TFcChar32{
  28533. 0: uint32(0xffffffff),
  28534. 1: uint32(0xffbf0001),
  28535. 2: uint32(0xffffffff),
  28536. 3: uint32(0x1fffffff),
  28537. 4: uint32(0x000fffff),
  28538. 5: uint32(0xffffffff),
  28539. 6: uint32(0x000007df),
  28540. 7: uint32(0x0001ffff),
  28541. },
  28542. },
  28543. 375: {
  28544. Fmap1: [8]TFcChar32{
  28545. 2: uint32(0xfffffffd),
  28546. 3: uint32(0xffffffff),
  28547. 4: uint32(0xffffffff),
  28548. 5: uint32(0xffffffff),
  28549. 6: uint32(0xffffffff),
  28550. 7: uint32(0x1effffff),
  28551. },
  28552. },
  28553. 376: {
  28554. Fmap1: [8]TFcChar32{
  28555. 0: uint32(0xffffffff),
  28556. 1: uint32(0x3fffffff),
  28557. 2: uint32(0xffff0000),
  28558. 3: uint32(0x000000ff),
  28559. 7: uint32(0xf8000000),
  28560. },
  28561. },
  28562. 377: {
  28563. Fmap1: [8]TFcChar32{
  28564. 0: uint32(0x755dfffe),
  28565. 1: uint32(0xffef2f3f),
  28566. 2: uint32(0x0000ffe1),
  28567. },
  28568. },
  28569. 378: {
  28570. Fmap1: [8]TFcChar32{
  28571. 0: uint32(0x000c0000),
  28572. 1: uint32(0x30000000),
  28573. 2: uint32(0x00000c30),
  28574. 3: uint32(0x00030000),
  28575. },
  28576. },
  28577. 379: {
  28578. Fmap1: [8]TFcChar32{
  28579. 2: uint32(0x07fffffe),
  28580. 3: uint32(0x07fffffe),
  28581. 6: uint32(0x263c370f),
  28582. 7: uint32(0x263c370f),
  28583. },
  28584. },
  28585. 380: {
  28586. Fmap1: [8]TFcChar32{
  28587. 0: uint32(0x0003000c),
  28588. 1: uint32(0x00000300),
  28589. 3: uint32(0x00000300),
  28590. 5: uint32(0x00018003),
  28591. },
  28592. },
  28593. 381: {
  28594. Fmap1: [8]TFcChar32{
  28595. 0: uint32(0x0800024f),
  28596. 1: uint32(0x00000008),
  28597. },
  28598. },
  28599. 382: {
  28600. Fmap1: [8]TFcChar32{
  28601. 5: uint32(0xffffffff),
  28602. 6: uint32(0xffffffff),
  28603. 7: uint32(0x03ffffff),
  28604. },
  28605. },
  28606. 383: {
  28607. Fmap1: [8]TFcChar32{
  28608. 2: uint32(0x077dfffe),
  28609. 3: uint32(0x077dfffe),
  28610. 6: uint32(0x10400010),
  28611. 7: uint32(0x10400010),
  28612. },
  28613. },
  28614. 384: {
  28615. Fmap1: [8]TFcChar32{
  28616. 2: uint32(0x07fffffe),
  28617. 3: uint32(0x07fffffe),
  28618. 6: uint32(0x10400010),
  28619. 7: uint32(0x10400010),
  28620. },
  28621. },
  28622. 385: {
  28623. Fmap1: [8]TFcChar32{
  28624. 2: uint32(0x07fffffe),
  28625. 3: uint32(0x07fffffe),
  28626. 6: uint32(0x081047a4),
  28627. 7: uint32(0x081047a4),
  28628. },
  28629. },
  28630. 386: {
  28631. Fmap1: [8]TFcChar32{
  28632. 0: uint32(0x0c0030c0),
  28633. 2: uint32(0x0f30001e),
  28634. 3: uint32(0x66000003),
  28635. },
  28636. },
  28637. 387: {
  28638. Fmap1: [8]TFcChar32{
  28639. 2: uint32(0x07fffffe),
  28640. 3: uint32(0x07fffffe),
  28641. 6: uint32(0x000a0a09),
  28642. 7: uint32(0x000a0a09),
  28643. },
  28644. },
  28645. 388: {
  28646. Fmap1: [8]TFcChar32{
  28647. 2: uint32(0x07fffffe),
  28648. 3: uint32(0x07fffffe),
  28649. 6: uint32(0x00400810),
  28650. 7: uint32(0x00400810),
  28651. },
  28652. },
  28653. 389: {
  28654. Fmap1: [8]TFcChar32{
  28655. 2: uint32(0x07fffffe),
  28656. 3: uint32(0x07fffffe),
  28657. 6: uint32(0x0e3c770f),
  28658. 7: uint32(0x0e3c770f),
  28659. },
  28660. },
  28661. 390: {
  28662. Fmap1: [8]TFcChar32{
  28663. 0: uint32(0x0c000000),
  28664. 1: uint32(0x00000300),
  28665. 2: uint32(0x00000018),
  28666. 3: uint32(0x00000300),
  28667. 6: uint32(0x001fe000),
  28668. 7: uint32(0x03000000),
  28669. },
  28670. },
  28671. 391: {
  28672. Fmap1: [8]TFcChar32{
  28673. 0: uint32(0x0000100f),
  28674. },
  28675. },
  28676. 392: {
  28677. Fmap1: [8]TFcChar32{
  28678. 1: uint32(0xc0000000),
  28679. 3: uint32(0x0000000c),
  28680. 5: uint32(0x33000000),
  28681. 6: uint32(0x00003000),
  28682. },
  28683. },
  28684. 393: {
  28685. Fmap1: [8]TFcChar32{
  28686. 6: uint32(0x00000280),
  28687. },
  28688. },
  28689. 394: {
  28690. Fmap1: [8]TFcChar32{
  28691. 0: uint32(0x7f7b7f8b),
  28692. 1: uint32(0xef553db4),
  28693. 2: uint32(0xf35dfba8),
  28694. 3: uint32(0x400b0243),
  28695. 4: uint32(0x8d3efb40),
  28696. 5: uint32(0x8c2c7bf7),
  28697. 6: uint32(0xe3fa6eff),
  28698. 7: uint32(0xa8ed1d3a),
  28699. },
  28700. },
  28701. 395: {
  28702. Fmap1: [8]TFcChar32{
  28703. 0: uint32(0xcf83e602),
  28704. 1: uint32(0x35558cf5),
  28705. 2: uint32(0xffabe048),
  28706. 3: uint32(0xd85992b9),
  28707. 4: uint32(0x2892ab18),
  28708. 5: uint32(0x8020d7e9),
  28709. 6: uint32(0xf583c438),
  28710. 7: uint32(0x450ae74a),
  28711. },
  28712. },
  28713. 396: {
  28714. Fmap1: [8]TFcChar32{
  28715. 0: uint32(0x9714b000),
  28716. 1: uint32(0x54007762),
  28717. 2: uint32(0x1420d188),
  28718. 3: uint32(0xc8c01020),
  28719. 4: uint32(0x00002121),
  28720. 5: uint32(0x0c0413a8),
  28721. 6: uint32(0x04408000),
  28722. 7: uint32(0x082870c0),
  28723. },
  28724. },
  28725. 397: {
  28726. Fmap1: [8]TFcChar32{
  28727. 0: uint32(0x000408c0),
  28728. 1: uint32(0x80000002),
  28729. 2: uint32(0x14722b7b),
  28730. 3: uint32(0x3bfb7924),
  28731. 4: uint32(0x1ae43327),
  28732. 5: uint32(0x38ef9835),
  28733. 6: uint32(0x28029ad1),
  28734. 7: uint32(0xbf69a813),
  28735. },
  28736. },
  28737. 398: {
  28738. Fmap1: [8]TFcChar32{
  28739. 0: uint32(0x2fc665cf),
  28740. 1: uint32(0xafc96b11),
  28741. 2: uint32(0x5053340f),
  28742. 3: uint32(0xa00486a2),
  28743. 4: uint32(0xe8090106),
  28744. 5: uint32(0xc00e3f0f),
  28745. 6: uint32(0x81450a88),
  28746. 7: uint32(0xc6010010),
  28747. },
  28748. },
  28749. 399: {
  28750. Fmap1: [8]TFcChar32{
  28751. 0: uint32(0x26e1a161),
  28752. 1: uint32(0xce00444b),
  28753. 2: uint32(0xd4eec7aa),
  28754. 3: uint32(0x85bbcadf),
  28755. 4: uint32(0xa5203a74),
  28756. 5: uint32(0x8840436c),
  28757. 6: uint32(0x8bd23f06),
  28758. 7: uint32(0x3befff79),
  28759. },
  28760. },
  28761. 400: {
  28762. Fmap1: [8]TFcChar32{
  28763. 0: uint32(0xe8eff75a),
  28764. 1: uint32(0x5b36fbcb),
  28765. 2: uint32(0x1bfd0d49),
  28766. 3: uint32(0x39ee0154),
  28767. 4: uint32(0x2e75d855),
  28768. 5: uint32(0xa91abfd8),
  28769. 6: uint32(0xf6bff3d7),
  28770. 7: uint32(0xb40c67e0),
  28771. },
  28772. },
  28773. 401: {
  28774. Fmap1: [8]TFcChar32{
  28775. 0: uint32(0x081382c2),
  28776. 1: uint32(0xd08bd49d),
  28777. 2: uint32(0x1061065a),
  28778. 3: uint32(0x59e074f2),
  28779. 4: uint32(0xb3128f9f),
  28780. 5: uint32(0x6aaa0080),
  28781. 6: uint32(0xb05e3230),
  28782. 7: uint32(0x60ac9d7a),
  28783. },
  28784. },
  28785. 402: {
  28786. Fmap1: [8]TFcChar32{
  28787. 0: uint32(0xc900d303),
  28788. 1: uint32(0x8a563098),
  28789. 2: uint32(0x13907000),
  28790. 3: uint32(0x18421f14),
  28791. 4: uint32(0x0008c060),
  28792. 5: uint32(0x10808008),
  28793. 6: uint32(0xec900400),
  28794. 7: uint32(0xe6332817),
  28795. },
  28796. },
  28797. 403: {
  28798. Fmap1: [8]TFcChar32{
  28799. 0: uint32(0x90000758),
  28800. 1: uint32(0x4e09f708),
  28801. 2: uint32(0xfc83f485),
  28802. 3: uint32(0x18c8af53),
  28803. 4: uint32(0x080c187c),
  28804. 5: uint32(0x01146adf),
  28805. 6: uint32(0xa734c80c),
  28806. 7: uint32(0x2710a011),
  28807. },
  28808. },
  28809. 404: {
  28810. Fmap1: [8]TFcChar32{
  28811. 0: uint32(0x422228c5),
  28812. 1: uint32(0x00210413),
  28813. 2: uint32(0x41123010),
  28814. 3: uint32(0x40001820),
  28815. 4: uint32(0xc60c022b),
  28816. 5: uint32(0x10000300),
  28817. 6: uint32(0x00220022),
  28818. 7: uint32(0x02495810),
  28819. },
  28820. },
  28821. 405: {
  28822. Fmap1: [8]TFcChar32{
  28823. 0: uint32(0x9670a094),
  28824. 1: uint32(0x1792eeb0),
  28825. 2: uint32(0x05f2cb96),
  28826. 3: uint32(0x23580025),
  28827. 4: uint32(0x42cc25de),
  28828. 5: uint32(0x4a04cf38),
  28829. 6: uint32(0x359f0c40),
  28830. 7: uint32(0x8a001128),
  28831. },
  28832. },
  28833. 406: {
  28834. Fmap1: [8]TFcChar32{
  28835. 0: uint32(0x910a13fa),
  28836. 1: uint32(0x10560229),
  28837. 2: uint32(0x04200641),
  28838. 3: uint32(0x84f00484),
  28839. 4: uint32(0x0c040000),
  28840. 5: uint32(0x412c0400),
  28841. 6: uint32(0x11541206),
  28842. 7: uint32(0x00020a4b),
  28843. },
  28844. },
  28845. 407: {
  28846. Fmap1: [8]TFcChar32{
  28847. 0: uint32(0x00c00200),
  28848. 1: uint32(0x00940000),
  28849. 2: uint32(0xbfbb0001),
  28850. 3: uint32(0x242b167c),
  28851. 4: uint32(0x7fa89bbb),
  28852. 5: uint32(0xe3790c7f),
  28853. 6: uint32(0xe00d10f4),
  28854. 7: uint32(0x9f014132),
  28855. },
  28856. },
  28857. 408: {
  28858. Fmap1: [8]TFcChar32{
  28859. 0: uint32(0x35728652),
  28860. 1: uint32(0xff1210b4),
  28861. 2: uint32(0x4223cf27),
  28862. 3: uint32(0x8602c06b),
  28863. 4: uint32(0x1fd33106),
  28864. 5: uint32(0xa1aa3a0c),
  28865. 6: uint32(0x02040812),
  28866. 7: uint32(0x08012572),
  28867. },
  28868. },
  28869. 409: {
  28870. Fmap1: [8]TFcChar32{
  28871. 0: uint32(0x485040cc),
  28872. 1: uint32(0x601062d0),
  28873. 2: uint32(0x29001c80),
  28874. 3: uint32(0x00109a00),
  28875. 4: uint32(0x22000004),
  28876. 5: uint32(0x00800000),
  28877. 6: uint32(0x68002020),
  28878. 7: uint32(0x609ecbe6),
  28879. },
  28880. },
  28881. 410: {
  28882. Fmap1: [8]TFcChar32{
  28883. 0: uint32(0x3f73916e),
  28884. 1: uint32(0x398260c0),
  28885. 2: uint32(0x48301034),
  28886. 3: uint32(0xbd5c0006),
  28887. 4: uint32(0xd6fb8cd1),
  28888. 5: uint32(0x43e820e1),
  28889. 6: uint32(0x084e0600),
  28890. 7: uint32(0xc4d00500),
  28891. },
  28892. },
  28893. 411: {
  28894. Fmap1: [8]TFcChar32{
  28895. 0: uint32(0x89aa8d1f),
  28896. 1: uint32(0x1602a6e1),
  28897. 2: uint32(0x21ed0001),
  28898. 3: uint32(0x1a8b3656),
  28899. 4: uint32(0x13a51fb7),
  28900. 5: uint32(0x30a06502),
  28901. 6: uint32(0x23c7b278),
  28902. 7: uint32(0xe9226c93),
  28903. },
  28904. },
  28905. 412: {
  28906. Fmap1: [8]TFcChar32{
  28907. 0: uint32(0x3a74e47f),
  28908. 1: uint32(0x98208fe3),
  28909. 2: uint32(0x2625280e),
  28910. 3: uint32(0xbf49bf9c),
  28911. 4: uint32(0xac543218),
  28912. 5: uint32(0x1916b949),
  28913. 6: uint32(0xb5220c60),
  28914. 7: uint32(0x0659fbc1),
  28915. },
  28916. },
  28917. 413: {
  28918. Fmap1: [8]TFcChar32{
  28919. 0: uint32(0x8420e343),
  28920. 1: uint32(0x800008d9),
  28921. 2: uint32(0x20225500),
  28922. 3: uint32(0x00a10184),
  28923. 4: uint32(0x20104800),
  28924. 5: uint32(0x40801380),
  28925. 6: uint32(0x00160d04),
  28926. 7: uint32(0x80200040),
  28927. },
  28928. },
  28929. 414: {
  28930. Fmap1: [8]TFcChar32{
  28931. 0: uint32(0x8de7fd40),
  28932. 1: uint32(0xe0985436),
  28933. 2: uint32(0x091e7b8b),
  28934. 3: uint32(0xd249fec8),
  28935. 4: uint32(0x8dee0611),
  28936. 5: uint32(0xba221937),
  28937. 6: uint32(0x9fdd77f4),
  28938. 7: uint32(0xf0daf3ec),
  28939. },
  28940. },
  28941. 415: {
  28942. Fmap1: [8]TFcChar32{
  28943. 0: uint32(0xec424386),
  28944. 1: uint32(0x26048d3f),
  28945. 2: uint32(0xc021fa6c),
  28946. 3: uint32(0x0cc2628e),
  28947. 4: uint32(0x0145d785),
  28948. 5: uint32(0x559977ad),
  28949. 6: uint32(0x4045e250),
  28950. 7: uint32(0xa154260b),
  28951. },
  28952. },
  28953. 416: {
  28954. Fmap1: [8]TFcChar32{
  28955. 0: uint32(0x58199827),
  28956. 1: uint32(0xa4103443),
  28957. 2: uint32(0x411405f2),
  28958. 3: uint32(0x07002280),
  28959. 4: uint32(0x426600b4),
  28960. 5: uint32(0x15a17210),
  28961. 6: uint32(0x41856025),
  28962. 7: uint32(0x00000054),
  28963. },
  28964. },
  28965. 417: {
  28966. Fmap1: [8]TFcChar32{
  28967. 0: uint32(0x01040201),
  28968. 1: uint32(0xcb70c820),
  28969. 2: uint32(0x6a629320),
  28970. 3: uint32(0x0095184c),
  28971. 4: uint32(0x9a8b1880),
  28972. 5: uint32(0x3201aab2),
  28973. 6: uint32(0x00c4d87a),
  28974. 7: uint32(0x04c3f3e5),
  28975. },
  28976. },
  28977. 418: {
  28978. Fmap1: [8]TFcChar32{
  28979. 0: uint32(0xa238d44d),
  28980. 1: uint32(0x5072a1a1),
  28981. 2: uint32(0x84fc980a),
  28982. 3: uint32(0x44d1c152),
  28983. 4: uint32(0x20c21094),
  28984. 5: uint32(0x42104180),
  28985. 6: uint32(0x3a000000),
  28986. 7: uint32(0xd29d0240),
  28987. },
  28988. },
  28989. 419: {
  28990. Fmap1: [8]TFcChar32{
  28991. 0: uint32(0xa8b12f01),
  28992. 1: uint32(0x2432bd40),
  28993. 2: uint32(0xd04bd34d),
  28994. 3: uint32(0xd0ada723),
  28995. 4: uint32(0x75a10a92),
  28996. 5: uint32(0x01e9adac),
  28997. 6: uint32(0x771f801a),
  28998. 7: uint32(0xa01b9225),
  28999. },
  29000. },
  29001. 420: {
  29002. Fmap1: [8]TFcChar32{
  29003. 0: uint32(0x20cadfa1),
  29004. 1: uint32(0x738c0602),
  29005. 2: uint32(0x003b577f),
  29006. 3: uint32(0x00d00bff),
  29007. 4: uint32(0x0088806a),
  29008. 5: uint32(0x0029a1c4),
  29009. 6: uint32(0x05242a05),
  29010. 7: uint32(0x16234009),
  29011. },
  29012. },
  29013. 421: {
  29014. Fmap1: [8]TFcChar32{
  29015. 0: uint32(0x80056822),
  29016. 1: uint32(0xa2112011),
  29017. 2: uint32(0x64900004),
  29018. 3: uint32(0x13824849),
  29019. 4: uint32(0x193023d5),
  29020. 5: uint32(0x08922980),
  29021. 6: uint32(0x88115402),
  29022. 7: uint32(0xa0042001),
  29023. },
  29024. },
  29025. 422: {
  29026. Fmap1: [8]TFcChar32{
  29027. 0: uint32(0x81800400),
  29028. 1: uint32(0x60228502),
  29029. 2: uint32(0x0b010090),
  29030. 3: uint32(0x12020022),
  29031. 4: uint32(0x00834011),
  29032. 5: uint32(0x00001a01),
  29033. },
  29034. },
  29035. 423: {
  29036. Fmap1: [8]TFcChar32{
  29037. 1: uint32(0x4684009f),
  29038. 2: uint32(0x020012c8),
  29039. 3: uint32(0x1a0004fc),
  29040. 4: uint32(0x0c4c2ede),
  29041. 5: uint32(0x80b80402),
  29042. 6: uint32(0x0afca826),
  29043. 7: uint32(0x22288c02),
  29044. },
  29045. },
  29046. 424: {
  29047. Fmap1: [8]TFcChar32{
  29048. 0: uint32(0x8f7ba0e0),
  29049. 1: uint32(0x2135c7d6),
  29050. 2: uint32(0xf8b106c7),
  29051. 3: uint32(0x62550713),
  29052. 4: uint32(0x8a19936e),
  29053. 5: uint32(0xfb0e6efa),
  29054. 6: uint32(0x48f91630),
  29055. 7: uint32(0x7debcd2f),
  29056. },
  29057. },
  29058. 425: {
  29059. Fmap1: [8]TFcChar32{
  29060. 0: uint32(0x4e845892),
  29061. 1: uint32(0x7a2e4ca0),
  29062. 2: uint32(0x561eedea),
  29063. 3: uint32(0x1190c649),
  29064. 4: uint32(0xe83a5324),
  29065. 5: uint32(0x8124cfdb),
  29066. 6: uint32(0x634218f1),
  29067. 7: uint32(0x1a8a5853),
  29068. },
  29069. },
  29070. 426: {
  29071. Fmap1: [8]TFcChar32{
  29072. 0: uint32(0x24d37420),
  29073. 1: uint32(0x0514aa3b),
  29074. 2: uint32(0x89586018),
  29075. 3: uint32(0xc0004800),
  29076. 4: uint32(0x91018268),
  29077. 5: uint32(0x2cd684a4),
  29078. 6: uint32(0xc4ba8886),
  29079. 7: uint32(0x02100377),
  29080. },
  29081. },
  29082. 427: {
  29083. Fmap1: [8]TFcChar32{
  29084. 0: uint32(0x00388244),
  29085. 1: uint32(0x404aae11),
  29086. 2: uint32(0x510028c0),
  29087. 3: uint32(0x15146044),
  29088. 4: uint32(0x10007310),
  29089. 5: uint32(0x02480082),
  29090. 6: uint32(0x40060205),
  29091. 7: uint32(0x0000c003),
  29092. },
  29093. },
  29094. 428: {
  29095. Fmap1: [8]TFcChar32{
  29096. 0: uint32(0x0c020000),
  29097. 1: uint32(0x02200008),
  29098. 2: uint32(0x40009000),
  29099. 3: uint32(0xd161b800),
  29100. 4: uint32(0x32744621),
  29101. 5: uint32(0x3b8af800),
  29102. 6: uint32(0x8b00050f),
  29103. 7: uint32(0x2280bbd0),
  29104. },
  29105. },
  29106. 429: {
  29107. Fmap1: [8]TFcChar32{
  29108. 0: uint32(0x07690600),
  29109. 1: uint32(0x00438040),
  29110. 2: uint32(0x50005420),
  29111. 3: uint32(0x250c41d0),
  29112. 4: uint32(0x83108410),
  29113. 5: uint32(0x02281101),
  29114. 6: uint32(0x00304008),
  29115. 7: uint32(0x020040a1),
  29116. },
  29117. },
  29118. 430: {
  29119. Fmap1: [8]TFcChar32{
  29120. 0: uint32(0x20000040),
  29121. 1: uint32(0xabe31500),
  29122. 2: uint32(0xaa443180),
  29123. 3: uint32(0xc624c2c6),
  29124. 4: uint32(0x8004ac13),
  29125. 5: uint32(0x03d1b000),
  29126. 6: uint32(0x4285611e),
  29127. 7: uint32(0x1d9ff303),
  29128. },
  29129. },
  29130. 431: {
  29131. Fmap1: [8]TFcChar32{
  29132. 0: uint32(0x78e8440a),
  29133. 1: uint32(0xc3925e26),
  29134. 2: uint32(0x00852000),
  29135. 3: uint32(0x4000b001),
  29136. 4: uint32(0x88424a90),
  29137. 5: uint32(0x0c8dca04),
  29138. 6: uint32(0x4203a705),
  29139. 7: uint32(0x000422a1),
  29140. },
  29141. },
  29142. 432: {
  29143. Fmap1: [8]TFcChar32{
  29144. 0: uint32(0x0c018668),
  29145. 1: uint32(0x10795564),
  29146. 2: uint32(0xdea00002),
  29147. 3: uint32(0x40c12000),
  29148. 4: uint32(0x5001488b),
  29149. 5: uint32(0x04000380),
  29150. 6: uint32(0x50040000),
  29151. 7: uint32(0x80d0c05d),
  29152. },
  29153. },
  29154. 433: {
  29155. Fmap1: [8]TFcChar32{
  29156. 0: uint32(0x970aa010),
  29157. 1: uint32(0x4dafbb20),
  29158. 2: uint32(0x1e10d921),
  29159. 3: uint32(0x83140460),
  29160. 4: uint32(0xa6d68848),
  29161. 5: uint32(0x733fd83b),
  29162. 6: uint32(0x497427bc),
  29163. 7: uint32(0x92130ddc),
  29164. },
  29165. },
  29166. 434: {
  29167. Fmap1: [8]TFcChar32{
  29168. 0: uint32(0x8ba1142b),
  29169. 1: uint32(0xd1392e75),
  29170. 2: uint32(0x50503009),
  29171. 3: uint32(0x69008808),
  29172. 4: uint32(0x024a49d4),
  29173. 5: uint32(0x80164010),
  29174. 6: uint32(0x89d7e564),
  29175. 7: uint32(0x5316c020),
  29176. },
  29177. },
  29178. 435: {
  29179. Fmap1: [8]TFcChar32{
  29180. 0: uint32(0x86002b92),
  29181. 1: uint32(0x15e0a345),
  29182. 2: uint32(0x0c03008b),
  29183. 3: uint32(0xe200196e),
  29184. 4: uint32(0x80067031),
  29185. 5: uint32(0xa82916a5),
  29186. 6: uint32(0x18802000),
  29187. 7: uint32(0xe1487aac),
  29188. },
  29189. },
  29190. 436: {
  29191. Fmap1: [8]TFcChar32{
  29192. 0: uint32(0xb5d63207),
  29193. 1: uint32(0x5f9132e8),
  29194. 2: uint32(0x20e550a1),
  29195. 3: uint32(0x10807c00),
  29196. 4: uint32(0x9d8a7280),
  29197. 5: uint32(0x421f00aa),
  29198. 6: uint32(0x02310e22),
  29199. 7: uint32(0x04941100),
  29200. },
  29201. },
  29202. 437: {
  29203. Fmap1: [8]TFcChar32{
  29204. 0: uint32(0x40080022),
  29205. 1: uint32(0x5c100010),
  29206. 2: uint32(0xfcc80343),
  29207. 3: uint32(0x0580a1a5),
  29208. 4: uint32(0x04008433),
  29209. 5: uint32(0x6e080080),
  29210. 6: uint32(0x81262a4b),
  29211. 7: uint32(0x2901aad8),
  29212. },
  29213. },
  29214. 438: {
  29215. Fmap1: [8]TFcChar32{
  29216. 0: uint32(0x4490684d),
  29217. 1: uint32(0xba880009),
  29218. 2: uint32(0x00820040),
  29219. 3: uint32(0x87d10000),
  29220. 4: uint32(0xb1e6215b),
  29221. 5: uint32(0x80083161),
  29222. 6: uint32(0xc2400800),
  29223. 7: uint32(0xa600a069),
  29224. },
  29225. },
  29226. 439: {
  29227. Fmap1: [8]TFcChar32{
  29228. 0: uint32(0x4a328d58),
  29229. 1: uint32(0x550a5d71),
  29230. 2: uint32(0x2d579aa0),
  29231. 3: uint32(0x4aa64005),
  29232. 4: uint32(0x30b12021),
  29233. 5: uint32(0x01123fc6),
  29234. 6: uint32(0x260a10c2),
  29235. 7: uint32(0x50824462),
  29236. },
  29237. },
  29238. 440: {
  29239. Fmap1: [8]TFcChar32{
  29240. 0: uint32(0x80409880),
  29241. 1: uint32(0x810004c0),
  29242. 2: uint32(0x00002003),
  29243. 3: uint32(0x38180000),
  29244. 4: uint32(0xf1a60200),
  29245. 5: uint32(0x720e4434),
  29246. 6: uint32(0x92e035a2),
  29247. 7: uint32(0x09008101),
  29248. },
  29249. },
  29250. 441: {
  29251. Fmap1: [8]TFcChar32{
  29252. 0: uint32(0x00000400),
  29253. 1: uint32(0x00008885),
  29254. 3: uint32(0x00804000),
  29255. 5: uint32(0x00004040),
  29256. },
  29257. },
  29258. 442: {
  29259. Fmap1: [8]TFcChar32{
  29260. 1: uint32(0x08000000),
  29261. 2: uint32(0x00000082),
  29262. 4: uint32(0x88000004),
  29263. 5: uint32(0xe7efbfff),
  29264. 6: uint32(0xffbfffff),
  29265. 7: uint32(0xfdffefef),
  29266. },
  29267. },
  29268. 443: {
  29269. Fmap1: [8]TFcChar32{
  29270. 0: uint32(0xbffefbff),
  29271. 1: uint32(0x057fffff),
  29272. 2: uint32(0x85b30034),
  29273. 3: uint32(0x42164706),
  29274. 4: uint32(0xe4105402),
  29275. 5: uint32(0xb3058092),
  29276. 6: uint32(0x81305422),
  29277. 7: uint32(0x180b4263),
  29278. },
  29279. },
  29280. 444: {
  29281. Fmap1: [8]TFcChar32{
  29282. 0: uint32(0x13f5387b),
  29283. 1: uint32(0xa9ea07e5),
  29284. 2: uint32(0x05143c4c),
  29285. 3: uint32(0x80020600),
  29286. 4: uint32(0xbd481ad9),
  29287. 5: uint32(0xf496ee37),
  29288. 6: uint32(0x7ec0705f),
  29289. 7: uint32(0x355fbfb2),
  29290. },
  29291. },
  29292. 445: {
  29293. Fmap1: [8]TFcChar32{
  29294. 0: uint32(0x455fe644),
  29295. 1: uint32(0x41469000),
  29296. 2: uint32(0x063b1d40),
  29297. 3: uint32(0xfe1362a1),
  29298. 4: uint32(0x39028505),
  29299. 5: uint32(0x0c080548),
  29300. 6: uint32(0x0000144f),
  29301. 7: uint32(0x58183488),
  29302. },
  29303. },
  29304. 446: {
  29305. Fmap1: [8]TFcChar32{
  29306. 0: uint32(0xd8153077),
  29307. 1: uint32(0x4bfbbd0e),
  29308. 2: uint32(0x85008a90),
  29309. 3: uint32(0xe61dc100),
  29310. 4: uint32(0xb386ed14),
  29311. 5: uint32(0x639bff72),
  29312. 6: uint32(0xd9befd92),
  29313. 7: uint32(0x0a92887b),
  29314. },
  29315. },
  29316. 447: {
  29317. Fmap1: [8]TFcChar32{
  29318. 0: uint32(0x1cb2d3fe),
  29319. 1: uint32(0x177ab980),
  29320. 2: uint32(0xdc1782c9),
  29321. 3: uint32(0x3980fffb),
  29322. 4: uint32(0x590c4260),
  29323. 5: uint32(0x37df0f01),
  29324. 6: uint32(0xb15094a3),
  29325. 7: uint32(0x23070623),
  29326. },
  29327. },
  29328. 448: {
  29329. Fmap1: [8]TFcChar32{
  29330. 0: uint32(0x3102f85a),
  29331. 1: uint32(0x310201f0),
  29332. 2: uint32(0x1e820040),
  29333. 3: uint32(0x056a3a0a),
  29334. 4: uint32(0x12805b84),
  29335. 5: uint32(0xa7148002),
  29336. 6: uint32(0xa04b2612),
  29337. 7: uint32(0x90011069),
  29338. },
  29339. },
  29340. 449: {
  29341. Fmap1: [8]TFcChar32{
  29342. 0: uint32(0x848a1000),
  29343. 1: uint32(0x3f801802),
  29344. 2: uint32(0x42400708),
  29345. 3: uint32(0x4e140110),
  29346. 4: uint32(0x180080b0),
  29347. 5: uint32(0x0281c510),
  29348. 6: uint32(0x10298202),
  29349. 7: uint32(0x88000210),
  29350. },
  29351. },
  29352. 450: {
  29353. Fmap1: [8]TFcChar32{
  29354. 0: uint32(0x00420020),
  29355. 1: uint32(0x11000280),
  29356. 2: uint32(0x4413e000),
  29357. 3: uint32(0xfe025804),
  29358. 4: uint32(0x30283c07),
  29359. 5: uint32(0x04739798),
  29360. 6: uint32(0xcb13ced1),
  29361. 7: uint32(0x431f6210),
  29362. },
  29363. },
  29364. 451: {
  29365. Fmap1: [8]TFcChar32{
  29366. 0: uint32(0x55ac278d),
  29367. 1: uint32(0xc892422e),
  29368. 2: uint32(0x02885380),
  29369. 3: uint32(0x78514039),
  29370. 4: uint32(0x8088292c),
  29371. 5: uint32(0x2428b900),
  29372. 6: uint32(0x080e0c41),
  29373. 7: uint32(0x42004421),
  29374. },
  29375. },
  29376. 452: {
  29377. Fmap1: [8]TFcChar32{
  29378. 0: uint32(0x08680408),
  29379. 1: uint32(0x12040006),
  29380. 2: uint32(0x02903031),
  29381. 3: uint32(0xe0855b3e),
  29382. 4: uint32(0x10442936),
  29383. 5: uint32(0x10822814),
  29384. 6: uint32(0x83344266),
  29385. 7: uint32(0x531b013c),
  29386. },
  29387. },
  29388. 453: {
  29389. Fmap1: [8]TFcChar32{
  29390. 0: uint32(0x0e0d0404),
  29391. 1: uint32(0x00510c22),
  29392. 2: uint32(0xc0000012),
  29393. 3: uint32(0x88000040),
  29394. 4: uint32(0x0000004a),
  29395. 6: uint32(0x5447dff6),
  29396. 7: uint32(0x00088868),
  29397. },
  29398. },
  29399. 454: {
  29400. Fmap1: [8]TFcChar32{
  29401. 0: uint32(0x00000081),
  29402. 1: uint32(0x40000000),
  29403. 2: uint32(0x00000100),
  29404. 3: uint32(0x02000000),
  29405. 4: uint32(0x00080600),
  29406. },
  29407. },
  29408. 455: {
  29409. Fmap1: [8]TFcChar32{
  29410. 0: uint32(0x00000080),
  29411. 1: uint32(0x00000040),
  29412. 3: uint32(0x00001040),
  29413. 5: uint32(0xf7fdefff),
  29414. 6: uint32(0xfffeff7f),
  29415. 7: uint32(0xfffffbff),
  29416. },
  29417. },
  29418. 456: {
  29419. Fmap1: [8]TFcChar32{
  29420. 0: uint32(0xbffffdff),
  29421. 1: uint32(0x00ffffff),
  29422. 2: uint32(0x042012c2),
  29423. 3: uint32(0x07080c06),
  29424. 4: uint32(0x01101624),
  29425. },
  29426. },
  29427. 457: {
  29428. Fmap1: [8]TFcChar32{
  29429. 0: uint32(0xe0000000),
  29430. 1: uint32(0xfffffffe),
  29431. 2: uint32(0x7f79ffff),
  29432. 3: uint32(0x00f928df),
  29433. 4: uint32(0x80120c32),
  29434. 5: uint32(0xd53a0008),
  29435. 6: uint32(0xecc2d858),
  29436. 7: uint32(0x2fa89d18),
  29437. },
  29438. },
  29439. 458: {
  29440. Fmap1: [8]TFcChar32{
  29441. 0: uint32(0xe0109620),
  29442. 1: uint32(0x2622d60c),
  29443. 2: uint32(0x02060f97),
  29444. 3: uint32(0x9055b240),
  29445. 4: uint32(0x501180a2),
  29446. 5: uint32(0x04049800),
  29447. 6: uint32(0x00004000),
  29448. },
  29449. },
  29450. 459: {
  29451. Fmap1: [8]TFcChar32{
  29452. 3: uint32(0xfffffbc0),
  29453. 4: uint32(0xdffbeffe),
  29454. 5: uint32(0x62430b08),
  29455. 6: uint32(0xfb3b41b6),
  29456. 7: uint32(0x23896f74),
  29457. },
  29458. },
  29459. 460: {
  29460. Fmap1: [8]TFcChar32{
  29461. 0: uint32(0xecd7ae7f),
  29462. 1: uint32(0x5960e047),
  29463. 2: uint32(0x098fa096),
  29464. 3: uint32(0xa030612c),
  29465. 4: uint32(0x2aaa090d),
  29466. 5: uint32(0x4f7bd44e),
  29467. 6: uint32(0x388bc4b2),
  29468. 7: uint32(0x6110a9c6),
  29469. },
  29470. },
  29471. 461: {
  29472. Fmap1: [8]TFcChar32{
  29473. 0: uint32(0x42000014),
  29474. 1: uint32(0x0202800c),
  29475. 2: uint32(0x6485fe48),
  29476. 3: uint32(0xe3f7d63e),
  29477. 4: uint32(0x0c073aa0),
  29478. 5: uint32(0x0430e40c),
  29479. 6: uint32(0x1002f680),
  29480. },
  29481. },
  29482. 462: {
  29483. Fmap1: [8]TFcChar32{
  29484. 3: uint32(0x00100000),
  29485. 4: uint32(0x00004000),
  29486. 5: uint32(0x00004000),
  29487. 6: uint32(0x00000100),
  29488. },
  29489. },
  29490. 463: {
  29491. Fmap1: [8]TFcChar32{
  29492. 1: uint32(0x40000000),
  29493. 3: uint32(0x00000400),
  29494. 4: uint32(0x00008000),
  29495. 6: uint32(0x00400400),
  29496. },
  29497. },
  29498. 464: {
  29499. Fmap1: [8]TFcChar32{
  29500. 1: uint32(0x40000000),
  29501. 3: uint32(0x00000800),
  29502. 4: uint32(0xfebdffe0),
  29503. 5: uint32(0xffffffff),
  29504. 6: uint32(0xfbe77f7f),
  29505. 7: uint32(0xf7ffffbf),
  29506. },
  29507. },
  29508. 465: {
  29509. Fmap1: [8]TFcChar32{
  29510. 0: uint32(0xefffffff),
  29511. 1: uint32(0xdff7ff7e),
  29512. 2: uint32(0xfbdff6f7),
  29513. 3: uint32(0x804fbffe),
  29514. 7: uint32(0x7fffef00),
  29515. },
  29516. },
  29517. 466: {
  29518. Fmap1: [8]TFcChar32{
  29519. 0: uint32(0xb6f7ff7f),
  29520. 1: uint32(0xb87e4406),
  29521. 2: uint32(0x88313bf5),
  29522. 3: uint32(0x00f41796),
  29523. 4: uint32(0x1391a960),
  29524. 5: uint32(0x72490080),
  29525. 6: uint32(0x0024f2f3),
  29526. 7: uint32(0x42c88701),
  29527. },
  29528. },
  29529. 467: {
  29530. Fmap1: [8]TFcChar32{
  29531. 0: uint32(0x5048e3d3),
  29532. 1: uint32(0x43052400),
  29533. 2: uint32(0x4a4c0000),
  29534. 3: uint32(0x10580227),
  29535. 4: uint32(0x01162820),
  29536. 5: uint32(0x0014a809),
  29537. 7: uint32(0x00683ec0),
  29538. },
  29539. },
  29540. 468: {
  29541. Fmap1: [8]TFcChar32{
  29542. 3: uint32(0xffe00000),
  29543. 4: uint32(0xfddbb7ff),
  29544. 5: uint32(0x000000f7),
  29545. 6: uint32(0xc72e4000),
  29546. 7: uint32(0x00000180),
  29547. },
  29548. },
  29549. 469: {
  29550. Fmap1: [8]TFcChar32{
  29551. 0: uint32(0x00012000),
  29552. 1: uint32(0x00004000),
  29553. 2: uint32(0x00300000),
  29554. 3: uint32(0xb4f7ffa8),
  29555. 4: uint32(0x03ffadf3),
  29556. 5: uint32(0x00000120),
  29557. },
  29558. },
  29559. 470: {
  29560. Fmap1: [8]TFcChar32{
  29561. 3: uint32(0xfffbf000),
  29562. 4: uint32(0xfdcf9df7),
  29563. 5: uint32(0x15c301bf),
  29564. 6: uint32(0x810a1827),
  29565. 7: uint32(0x0a00a842),
  29566. },
  29567. },
  29568. 471: {
  29569. Fmap1: [8]TFcChar32{
  29570. 0: uint32(0x80088108),
  29571. 1: uint32(0x18048008),
  29572. 2: uint32(0x0012a3be),
  29573. },
  29574. },
  29575. 472: {
  29576. Fmap1: [8]TFcChar32{
  29577. 3: uint32(0x90000000),
  29578. 4: uint32(0xdc3769e6),
  29579. 5: uint32(0x3dff6bff),
  29580. 6: uint32(0xf3f9fcf8),
  29581. 7: uint32(0x00000004),
  29582. },
  29583. },
  29584. 473: {
  29585. Fmap1: [8]TFcChar32{
  29586. 0: uint32(0x80000000),
  29587. 1: uint32(0xe7eebf6f),
  29588. 2: uint32(0x5da2dffe),
  29589. 3: uint32(0xc00b3fd8),
  29590. 4: uint32(0xa00c0984),
  29591. 5: uint32(0x69100040),
  29592. 6: uint32(0xb912e210),
  29593. 7: uint32(0x5a0086a5),
  29594. },
  29595. },
  29596. 474: {
  29597. Fmap1: [8]TFcChar32{
  29598. 0: uint32(0x02896800),
  29599. 1: uint32(0x6a809005),
  29600. 2: uint32(0x00030010),
  29601. 3: uint32(0x80000000),
  29602. 4: uint32(0x8e001ff9),
  29603. 5: uint32(0x00000001),
  29604. },
  29605. },
  29606. 475: {
  29607. Fmap1: [8]TFcChar32{
  29608. 0: uint32(0x00000080),
  29609. },
  29610. },
  29611. 476: {
  29612. Fmap1: [8]TFcChar32{
  29613. 2: uint32(0x00001000),
  29614. 3: uint32(0x64080010),
  29615. 4: uint32(0x00480000),
  29616. 5: uint32(0x10000020),
  29617. 6: uint32(0x80000102),
  29618. 7: uint32(0x08000010),
  29619. },
  29620. },
  29621. 477: {
  29622. Fmap1: [8]TFcChar32{
  29623. 0: uint32(0x00000040),
  29624. 1: uint32(0x40000000),
  29625. 2: uint32(0x00020000),
  29626. 3: uint32(0x01852002),
  29627. 4: uint32(0x00800010),
  29628. 5: uint32(0x80002022),
  29629. 6: uint32(0x084444a2),
  29630. 7: uint32(0x480e0000),
  29631. },
  29632. },
  29633. 478: {
  29634. Fmap1: [8]TFcChar32{
  29635. 0: uint32(0x04000200),
  29636. 1: uint32(0x02202008),
  29637. 2: uint32(0x80004380),
  29638. 3: uint32(0x04000000),
  29639. 4: uint32(0x00000002),
  29640. 5: uint32(0x12231420),
  29641. 6: uint32(0x2058003a),
  29642. 7: uint32(0x00200060),
  29643. },
  29644. },
  29645. 479: {
  29646. Fmap1: [8]TFcChar32{
  29647. 0: uint32(0x10002508),
  29648. 1: uint32(0x040d0028),
  29649. 2: uint32(0x00000009),
  29650. 3: uint32(0x00008004),
  29651. 4: uint32(0x00800000),
  29652. 5: uint32(0x42000001),
  29653. 7: uint32(0x09040000),
  29654. },
  29655. },
  29656. 480: {
  29657. Fmap1: [8]TFcChar32{
  29658. 0: uint32(0x02008000),
  29659. 1: uint32(0x01402001),
  29660. 3: uint32(0x00000008),
  29661. 5: uint32(0x00000001),
  29662. 6: uint32(0x00021008),
  29663. 7: uint32(0x04000000),
  29664. },
  29665. },
  29666. 481: {
  29667. Fmap1: [8]TFcChar32{
  29668. 0: uint32(0x00100100),
  29669. 1: uint32(0x80040080),
  29670. 2: uint32(0x00002000),
  29671. 3: uint32(0x00000008),
  29672. 4: uint32(0x08040601),
  29673. 5: uint32(0x01000012),
  29674. 6: uint32(0x10000000),
  29675. 7: uint32(0x49001024),
  29676. },
  29677. },
  29678. 482: {
  29679. Fmap1: [8]TFcChar32{
  29680. 0: uint32(0x0180004a),
  29681. 1: uint32(0x00100600),
  29682. 2: uint32(0x50840800),
  29683. 3: uint32(0x000000c0),
  29684. 4: uint32(0x00800000),
  29685. 5: uint32(0x20000800),
  29686. 6: uint32(0x40000000),
  29687. 7: uint32(0x08050000),
  29688. },
  29689. },
  29690. 483: {
  29691. Fmap1: [8]TFcChar32{
  29692. 0: uint32(0x02004000),
  29693. 1: uint32(0x02000804),
  29694. 2: uint32(0x01000004),
  29695. 3: uint32(0x18060001),
  29696. 4: uint32(0x02400001),
  29697. 5: uint32(0x40000002),
  29698. 6: uint32(0x20800014),
  29699. 7: uint32(0x000c1000),
  29700. },
  29701. },
  29702. 484: {
  29703. Fmap1: [8]TFcChar32{
  29704. 0: uint32(0x00222000),
  29705. 2: uint32(0x00100000),
  29706. 6: uint32(0x10422800),
  29707. 7: uint32(0x00000800),
  29708. },
  29709. },
  29710. 485: {
  29711. Fmap1: [8]TFcChar32{
  29712. 0: uint32(0x20080000),
  29713. 1: uint32(0x00040000),
  29714. 2: uint32(0x80025040),
  29715. 3: uint32(0x20208604),
  29716. 4: uint32(0x00028020),
  29717. 5: uint32(0x80102020),
  29718. 6: uint32(0x080820c0),
  29719. 7: uint32(0x10880800),
  29720. },
  29721. },
  29722. 486: {
  29723. Fmap1: [8]TFcChar32{
  29724. 2: uint32(0x00200109),
  29725. 3: uint32(0x00100000),
  29726. 5: uint32(0x81022700),
  29727. 6: uint32(0x40c21404),
  29728. 7: uint32(0x84010882),
  29729. },
  29730. },
  29731. 487: {
  29732. Fmap1: [8]TFcChar32{
  29733. 0: uint32(0x00004010),
  29734. 2: uint32(0x03000000),
  29735. 3: uint32(0x00000008),
  29736. 4: uint32(0x00080000),
  29737. 6: uint32(0x10800001),
  29738. 7: uint32(0x06002020),
  29739. },
  29740. },
  29741. 488: {
  29742. Fmap1: [8]TFcChar32{
  29743. 0: uint32(0x00000010),
  29744. 1: uint32(0x02000000),
  29745. 2: uint32(0x00880020),
  29746. 3: uint32(0x00008424),
  29747. 5: uint32(0x88000000),
  29748. 6: uint32(0x81000100),
  29749. 7: uint32(0x04000000),
  29750. },
  29751. },
  29752. 489: {
  29753. Fmap1: [8]TFcChar32{
  29754. 0: uint32(0x00004218),
  29755. 1: uint32(0x00040000),
  29756. 3: uint32(0x80005080),
  29757. 4: uint32(0x00010000),
  29758. 5: uint32(0x00040000),
  29759. 6: uint32(0x08008000),
  29760. 7: uint32(0x02008000),
  29761. },
  29762. },
  29763. 490: {
  29764. Fmap1: [8]TFcChar32{
  29765. 0: uint32(0x00020000),
  29766. 2: uint32(0x00000001),
  29767. 3: uint32(0x04000401),
  29768. 4: uint32(0x00100000),
  29769. 5: uint32(0x12200004),
  29770. 7: uint32(0x18100000),
  29771. },
  29772. },
  29773. 491: {
  29774. Fmap1: [8]TFcChar32{
  29775. 1: uint32(0x00000800),
  29776. 3: uint32(0x00004000),
  29777. 4: uint32(0x00800000),
  29778. 5: uint32(0x04000000),
  29779. 6: uint32(0x82000002),
  29780. 7: uint32(0x00042000),
  29781. },
  29782. },
  29783. 492: {
  29784. Fmap1: [8]TFcChar32{
  29785. 0: uint32(0x00080006),
  29786. 3: uint32(0x04000000),
  29787. 4: uint32(0x80008000),
  29788. 5: uint32(0x00810001),
  29789. 6: uint32(0xa0000000),
  29790. 7: uint32(0x00100410),
  29791. },
  29792. },
  29793. 493: {
  29794. Fmap1: [8]TFcChar32{
  29795. 0: uint32(0x00400218),
  29796. 1: uint32(0x88084080),
  29797. 2: uint32(0x00260008),
  29798. 3: uint32(0x00800404),
  29799. 4: uint32(0x00000020),
  29800. 7: uint32(0x00000200),
  29801. },
  29802. },
  29803. 494: {
  29804. Fmap1: [8]TFcChar32{
  29805. 0: uint32(0x00a08048),
  29806. 2: uint32(0x08000000),
  29807. 3: uint32(0x04000000),
  29808. 6: uint32(0x00018000),
  29809. 7: uint32(0x00200000),
  29810. },
  29811. },
  29812. 495: {
  29813. Fmap1: [8]TFcChar32{
  29814. 0: uint32(0x01000000),
  29815. 3: uint32(0x10000000),
  29816. 6: uint32(0x00200000),
  29817. 7: uint32(0x00102000),
  29818. },
  29819. },
  29820. 496: {
  29821. Fmap1: [8]TFcChar32{
  29822. 0: uint32(0x00000801),
  29823. 3: uint32(0x00020000),
  29824. 4: uint32(0x08000000),
  29825. 5: uint32(0x00002000),
  29826. 6: uint32(0x20010000),
  29827. 7: uint32(0x04002000),
  29828. },
  29829. },
  29830. 497: {
  29831. Fmap1: [8]TFcChar32{
  29832. 0: uint32(0x40000040),
  29833. 1: uint32(0x50202400),
  29834. 2: uint32(0x000a0020),
  29835. 3: uint32(0x00040420),
  29836. 4: uint32(0x00000200),
  29837. 5: uint32(0x00000080),
  29838. 6: uint32(0x80000000),
  29839. 7: uint32(0x00000020),
  29840. },
  29841. },
  29842. 498: {
  29843. Fmap1: [8]TFcChar32{
  29844. 0: uint32(0x20008000),
  29845. 1: uint32(0x00200010),
  29846. 4: uint32(0x00400000),
  29847. 5: uint32(0x01100000),
  29848. 6: uint32(0x00020000),
  29849. 7: uint32(0x80000010),
  29850. },
  29851. },
  29852. 499: {
  29853. Fmap1: [8]TFcChar32{
  29854. 0: uint32(0x02000000),
  29855. 1: uint32(0x00801000),
  29856. 3: uint32(0x48058000),
  29857. 4: uint32(0x20c94000),
  29858. 5: uint32(0x60000000),
  29859. 6: uint32(0x00000001),
  29860. },
  29861. },
  29862. 500: {
  29863. Fmap1: [8]TFcChar32{
  29864. 0: uint32(0x00004090),
  29865. 1: uint32(0x48000000),
  29866. 2: uint32(0x08000000),
  29867. 3: uint32(0x28802000),
  29868. 4: uint32(0x00000002),
  29869. 5: uint32(0x00014000),
  29870. 6: uint32(0x00002000),
  29871. 7: uint32(0x00002002),
  29872. },
  29873. },
  29874. 501: {
  29875. Fmap1: [8]TFcChar32{
  29876. 0: uint32(0x00010200),
  29877. 1: uint32(0x00100000),
  29878. 3: uint32(0x00800000),
  29879. 4: uint32(0x10020000),
  29880. },
  29881. },
  29882. 502: {
  29883. Fmap1: [8]TFcChar32{
  29884. 0: uint32(0x00000010),
  29885. 1: uint32(0x00000402),
  29886. 2: uint32(0x0c000000),
  29887. 3: uint32(0x01000400),
  29888. 4: uint32(0x01000021),
  29889. 6: uint32(0x00004000),
  29890. 7: uint32(0x00004000),
  29891. },
  29892. },
  29893. 503: {
  29894. Fmap1: [8]TFcChar32{
  29895. 1: uint32(0x00800000),
  29896. 7: uint32(0x02000020),
  29897. },
  29898. },
  29899. 504: {
  29900. Fmap1: [8]TFcChar32{
  29901. 0: uint32(0x00000100),
  29902. 1: uint32(0x08000000),
  29903. 6: uint32(0x00002000),
  29904. },
  29905. },
  29906. 505: {
  29907. Fmap1: [8]TFcChar32{
  29908. 0: uint32(0x00006000),
  29909. 3: uint32(0x00000400),
  29910. 4: uint32(0x04000040),
  29911. 5: uint32(0x003c0180),
  29912. 6: uint32(0x00000200),
  29913. 7: uint32(0x00102000),
  29914. },
  29915. },
  29916. 506: {
  29917. Fmap1: [8]TFcChar32{
  29918. 0: uint32(0x00000800),
  29919. 1: uint32(0x101000c0),
  29920. 2: uint32(0x00800000),
  29921. 4: uint32(0x00008000),
  29922. 5: uint32(0x02200000),
  29923. 6: uint32(0x00020020),
  29924. },
  29925. },
  29926. 507: {
  29927. Fmap1: [8]TFcChar32{
  29928. 1: uint32(0x01000000),
  29929. 3: uint32(0x20100000),
  29930. 4: uint32(0x00080000),
  29931. 5: uint32(0x00000141),
  29932. 6: uint32(0x02001002),
  29933. 7: uint32(0x40400001),
  29934. },
  29935. },
  29936. 508: {
  29937. Fmap1: [8]TFcChar32{
  29938. 0: uint32(0x00580000),
  29939. 1: uint32(0x00000002),
  29940. 2: uint32(0x00003000),
  29941. 3: uint32(0x00002400),
  29942. 4: uint32(0x00988000),
  29943. 5: uint32(0x00040010),
  29944. 6: uint32(0x00002800),
  29945. 7: uint32(0x00000008),
  29946. },
  29947. },
  29948. 509: {
  29949. Fmap1: [8]TFcChar32{
  29950. 0: uint32(0x40080004),
  29951. 1: uint32(0x00000020),
  29952. 2: uint32(0x20080000),
  29953. 3: uint32(0x02060a00),
  29954. 4: uint32(0x00010040),
  29955. 5: uint32(0x14010200),
  29956. 6: uint32(0x40800000),
  29957. 7: uint32(0x08031000),
  29958. },
  29959. },
  29960. 510: {
  29961. Fmap1: [8]TFcChar32{
  29962. 0: uint32(0x40020020),
  29963. 1: uint32(0x0000202c),
  29964. 2: uint32(0x2014a008),
  29965. 4: uint32(0x80040200),
  29966. 5: uint32(0x82020012),
  29967. 6: uint32(0x00400000),
  29968. 7: uint32(0x20000000),
  29969. },
  29970. },
  29971. 511: {
  29972. Fmap1: [8]TFcChar32{
  29973. 2: uint32(0x00000004),
  29974. 3: uint32(0x04000000),
  29975. 6: uint32(0x40800100),
  29976. },
  29977. },
  29978. 512: {
  29979. Fmap1: [8]TFcChar32{
  29980. 0: uint32(0x00000008),
  29981. 1: uint32(0x04000040),
  29982. 2: uint32(0x00000001),
  29983. 3: uint32(0x000c0200),
  29984. 5: uint32(0x08000400),
  29985. 7: uint32(0x080c0001),
  29986. },
  29987. },
  29988. 513: {
  29989. Fmap1: [8]TFcChar32{
  29990. 0: uint32(0x00000400),
  29991. 3: uint32(0x00200000),
  29992. 4: uint32(0x80000000),
  29993. 5: uint32(0x00001000),
  29994. 6: uint32(0x00000200),
  29995. 7: uint32(0x01000800),
  29996. },
  29997. },
  29998. 514: {
  29999. Fmap1: [8]TFcChar32{
  30000. 1: uint32(0x00000800),
  30001. 3: uint32(0x40000000),
  30002. 7: uint32(0x04040000),
  30003. },
  30004. },
  30005. 515: {
  30006. Fmap1: [8]TFcChar32{
  30007. 2: uint32(0x00000040),
  30008. 3: uint32(0x00002000),
  30009. 4: uint32(0xa0000000),
  30010. 6: uint32(0x08000008),
  30011. 7: uint32(0x00080000),
  30012. },
  30013. },
  30014. 516: {
  30015. Fmap1: [8]TFcChar32{
  30016. 0: uint32(0x00000020),
  30017. 2: uint32(0x40000400),
  30018. 7: uint32(0x00008000),
  30019. },
  30020. },
  30021. 517: {
  30022. Fmap1: [8]TFcChar32{
  30023. 4: uint32(0x00000800),
  30024. 7: uint32(0x00200000),
  30025. },
  30026. },
  30027. 518: {
  30028. Fmap1: [8]TFcChar32{
  30029. 3: uint32(0x04000000),
  30030. 4: uint32(0x00000008),
  30031. 6: uint32(0x00010000),
  30032. 7: uint32(0x1b000000),
  30033. },
  30034. },
  30035. 519: {
  30036. Fmap1: [8]TFcChar32{
  30037. 0: uint32(0x00007000),
  30038. 2: uint32(0x10000000),
  30039. 5: uint32(0x00000080),
  30040. 6: uint32(0x80000000),
  30041. },
  30042. },
  30043. 520: {
  30044. Fmap1: [8]TFcChar32{
  30045. 1: uint32(0x00020000),
  30046. 3: uint32(0x00200000),
  30047. 4: uint32(0x40000000),
  30048. 5: uint32(0x00000010),
  30049. 6: uint32(0x00800000),
  30050. 7: uint32(0x00000008),
  30051. },
  30052. },
  30053. 521: {
  30054. Fmap1: [8]TFcChar32{
  30055. 2: uint32(0x02000000),
  30056. 3: uint32(0x20000010),
  30057. 4: uint32(0x00000080),
  30058. 6: uint32(0x00010000),
  30059. },
  30060. },
  30061. 522: {
  30062. Fmap1: [8]TFcChar32{
  30063. 1: uint32(0x02000000),
  30064. 4: uint32(0x20000000),
  30065. 5: uint32(0x00000040),
  30066. 6: uint32(0x00200028),
  30067. },
  30068. },
  30069. 523: {
  30070. Fmap1: [8]TFcChar32{
  30071. 1: uint32(0x00020000),
  30072. 3: uint32(0x02000000),
  30073. 5: uint32(0x02000000),
  30074. 6: uint32(0x40020000),
  30075. 7: uint32(0x51000040),
  30076. },
  30077. },
  30078. 524: {
  30079. Fmap1: [8]TFcChar32{
  30080. 0: uint32(0x00000080),
  30081. 1: uint32(0x04040000),
  30082. 3: uint32(0x10000000),
  30083. 4: uint32(0x00022000),
  30084. 5: uint32(0x00100000),
  30085. 6: uint32(0x20000000),
  30086. 7: uint32(0x00000082),
  30087. },
  30088. },
  30089. 525: {
  30090. Fmap1: [8]TFcChar32{
  30091. 0: uint32(0x40000000),
  30092. 1: uint32(0x00010000),
  30093. 2: uint32(0x00002000),
  30094. 4: uint32(0x00000240),
  30095. 7: uint32(0x00000008),
  30096. },
  30097. },
  30098. 526: {
  30099. Fmap1: [8]TFcChar32{
  30100. 1: uint32(0x00010000),
  30101. 2: uint32(0x00000810),
  30102. 3: uint32(0x00080880),
  30103. 4: uint32(0x00004000),
  30104. 7: uint32(0x00020000),
  30105. },
  30106. },
  30107. 527: {
  30108. Fmap1: [8]TFcChar32{
  30109. 1: uint32(0x00400020),
  30110. 3: uint32(0x00000082),
  30111. 5: uint32(0x00020001),
  30112. },
  30113. },
  30114. 528: {
  30115. Fmap1: [8]TFcChar32{
  30116. 0: uint32(0x40000018),
  30117. 1: uint32(0x00000004),
  30118. 4: uint32(0x01000000),
  30119. 5: uint32(0x00400000),
  30120. },
  30121. },
  30122. 529: {
  30123. Fmap1: [8]TFcChar32{
  30124. 0: uint32(0x00000001),
  30125. 1: uint32(0x00400000),
  30126. 3: uint32(0x00080002),
  30127. 4: uint32(0x00000400),
  30128. 5: uint32(0x00040000),
  30129. },
  30130. },
  30131. 530: {
  30132. Fmap1: [8]TFcChar32{
  30133. 0: uint32(0x00000800),
  30134. 1: uint32(0x00000800),
  30135. 6: uint32(0x00000100),
  30136. },
  30137. },
  30138. 531: {
  30139. Fmap1: [8]TFcChar32{
  30140. 1: uint32(0x00200000),
  30141. 3: uint32(0x04108000),
  30142. 7: uint32(0x00000002),
  30143. },
  30144. },
  30145. 532: {
  30146. Fmap1: [8]TFcChar32{
  30147. 1: uint32(0x02800000),
  30148. 2: uint32(0x04000000),
  30149. 5: uint32(0x00000004),
  30150. 7: uint32(0x00000400),
  30151. },
  30152. },
  30153. 533: {
  30154. Fmap1: [8]TFcChar32{
  30155. 2: uint32(0x10000000),
  30156. 3: uint32(0x00040000),
  30157. 4: uint32(0x00400000),
  30158. },
  30159. },
  30160. 534: {
  30161. Fmap1: [8]TFcChar32{
  30162. 0: uint32(0x00200000),
  30163. 1: uint32(0x00000200),
  30164. 3: uint32(0x10000000),
  30165. 6: uint32(0x2a000000),
  30166. },
  30167. },
  30168. 535: {
  30169. Fmap1: [8]TFcChar32{
  30170. 0: uint32(0x00400000),
  30171. 2: uint32(0x00400000),
  30172. 4: uint32(0x00000002),
  30173. 5: uint32(0x40000000),
  30174. 7: uint32(0x00400000),
  30175. },
  30176. },
  30177. 536: {
  30178. Fmap1: [8]TFcChar32{
  30179. 0: uint32(0x40000000),
  30180. 1: uint32(0x00001000),
  30181. 4: uint32(0x00000202),
  30182. 5: uint32(0x02000000),
  30183. 6: uint32(0x80000000),
  30184. 7: uint32(0x00020000),
  30185. },
  30186. },
  30187. 537: {
  30188. Fmap1: [8]TFcChar32{
  30189. 0: uint32(0x00000020),
  30190. 1: uint32(0x00000800),
  30191. 2: uint32(0x00020421),
  30192. 3: uint32(0x00020000),
  30193. 7: uint32(0x00400000),
  30194. },
  30195. },
  30196. 538: {
  30197. Fmap1: [8]TFcChar32{
  30198. 0: uint32(0x00200000),
  30199. 2: uint32(0x00000001),
  30200. 4: uint32(0x00000084),
  30201. },
  30202. },
  30203. 539: {
  30204. Fmap1: [8]TFcChar32{
  30205. 1: uint32(0x00004400),
  30206. 2: uint32(0x00000002),
  30207. 3: uint32(0x00100000),
  30208. 6: uint32(0x00008200),
  30209. },
  30210. },
  30211. 540: {
  30212. Fmap1: [8]TFcChar32{
  30213. 1: uint32(0x12000000),
  30214. 2: uint32(0x00000100),
  30215. 3: uint32(0x00000001),
  30216. },
  30217. },
  30218. 541: {
  30219. Fmap1: [8]TFcChar32{
  30220. 0: uint32(0x00000020),
  30221. 1: uint32(0x08100000),
  30222. 2: uint32(0x000a0400),
  30223. 3: uint32(0x00000081),
  30224. 4: uint32(0x00006000),
  30225. 5: uint32(0x00120000),
  30226. },
  30227. },
  30228. 542: {
  30229. Fmap1: [8]TFcChar32{
  30230. 0: uint32(0x00000004),
  30231. 1: uint32(0x08000000),
  30232. 2: uint32(0x00004000),
  30233. 3: uint32(0x044000c0),
  30234. },
  30235. },
  30236. 543: {
  30237. Fmap1: [8]TFcChar32{
  30238. 0: uint32(0x40001000),
  30239. 2: uint32(0x01000001),
  30240. 3: uint32(0x05000000),
  30241. 4: uint32(0x00080000),
  30242. 5: uint32(0x02000000),
  30243. 6: uint32(0x00000800),
  30244. },
  30245. },
  30246. 544: {
  30247. Fmap1: [8]TFcChar32{
  30248. 0: uint32(0x00000100),
  30249. 4: uint32(0x00002002),
  30250. 5: uint32(0x01020000),
  30251. 6: uint32(0x00800000),
  30252. },
  30253. },
  30254. 545: {
  30255. Fmap1: [8]TFcChar32{
  30256. 0: uint32(0x00000040),
  30257. 1: uint32(0x00004000),
  30258. 2: uint32(0x01000000),
  30259. 3: uint32(0x00000004),
  30260. 4: uint32(0x00020000),
  30261. 6: uint32(0x00000010),
  30262. },
  30263. },
  30264. 546: {
  30265. Fmap1: [8]TFcChar32{
  30266. 4: uint32(0x00080000),
  30267. 5: uint32(0x00010000),
  30268. 6: uint32(0x30000300),
  30269. 7: uint32(0x00000400),
  30270. },
  30271. },
  30272. 547: {
  30273. Fmap1: [8]TFcChar32{
  30274. 0: uint32(0x00000800),
  30275. 1: uint32(0x02000000),
  30276. 3: uint32(0x00008000),
  30277. },
  30278. },
  30279. 548: {
  30280. Fmap1: [8]TFcChar32{
  30281. 0: uint32(0x00200000),
  30282. 5: uint32(0x000040c0),
  30283. 6: uint32(0x00002200),
  30284. 7: uint32(0x12002000),
  30285. },
  30286. },
  30287. 549: {
  30288. Fmap1: [8]TFcChar32{
  30289. 1: uint32(0x00000020),
  30290. 2: uint32(0x20000000),
  30291. 4: uint32(0x00000200),
  30292. 5: uint32(0x00080800),
  30293. 6: uint32(0x1000a000),
  30294. },
  30295. },
  30296. 550: {
  30297. Fmap1: [8]TFcChar32{
  30298. 3: uint32(0x00004000),
  30299. },
  30300. },
  30301. 551: {
  30302. Fmap1: [8]TFcChar32{
  30303. 2: uint32(0x00004280),
  30304. 3: uint32(0x01000000),
  30305. 4: uint32(0x00800000),
  30306. 5: uint32(0x00000008),
  30307. },
  30308. },
  30309. 552: {
  30310. Fmap1: [8]TFcChar32{
  30311. 3: uint32(0x00000002),
  30312. 5: uint32(0x20400000),
  30313. 6: uint32(0x00000040),
  30314. },
  30315. },
  30316. 553: {
  30317. Fmap1: [8]TFcChar32{
  30318. 0: uint32(0x00800080),
  30319. 1: uint32(0x00800000),
  30320. 5: uint32(0x00400020),
  30321. 7: uint32(0x00008000),
  30322. },
  30323. },
  30324. 554: {
  30325. Fmap1: [8]TFcChar32{
  30326. 0: uint32(0x01000000),
  30327. 1: uint32(0x00000040),
  30328. 3: uint32(0x00400000),
  30329. 5: uint32(0x00000440),
  30330. 7: uint32(0x00800000),
  30331. },
  30332. },
  30333. 555: {
  30334. Fmap1: [8]TFcChar32{
  30335. 0: uint32(0x01000000),
  30336. 6: uint32(0x00080000),
  30337. },
  30338. },
  30339. 556: {
  30340. Fmap1: [8]TFcChar32{
  30341. 0: uint32(0x01000000),
  30342. 1: uint32(0x00000001),
  30343. 3: uint32(0x00020000),
  30344. 5: uint32(0x20002000),
  30345. 7: uint32(0x00000004),
  30346. },
  30347. },
  30348. 557: {
  30349. Fmap1: [8]TFcChar32{
  30350. 0: uint32(0x00000008),
  30351. 1: uint32(0x00100000),
  30352. 3: uint32(0x00010000),
  30353. },
  30354. },
  30355. 558: {
  30356. Fmap1: [8]TFcChar32{
  30357. 0: uint32(0x00000004),
  30358. 1: uint32(0x00008000),
  30359. 7: uint32(0x00008000),
  30360. },
  30361. },
  30362. 559: {
  30363. Fmap1: [8]TFcChar32{
  30364. 4: uint32(0x00000040),
  30365. 6: uint32(0x00004000),
  30366. },
  30367. },
  30368. 560: {
  30369. Fmap1: [8]TFcChar32{
  30370. 0: uint32(0x00000010),
  30371. 1: uint32(0x00002000),
  30372. 2: uint32(0x40000040),
  30373. 4: uint32(0x10000000),
  30374. 6: uint32(0x00008080),
  30375. },
  30376. },
  30377. 561: {
  30378. Fmap1: [8]TFcChar32{
  30379. 2: uint32(0x00000080),
  30380. 4: uint32(0x00100080),
  30381. 5: uint32(0x000000a0),
  30382. },
  30383. },
  30384. 562: {
  30385. Fmap1: [8]TFcChar32{
  30386. 4: uint32(0x00100000),
  30387. },
  30388. },
  30389. 563: {
  30390. Fmap1: [8]TFcChar32{
  30391. 2: uint32(0x00001000),
  30392. 4: uint32(0x0001000a),
  30393. },
  30394. },
  30395. 564: {
  30396. Fmap1: [8]TFcChar32{
  30397. 6: uint32(0x08002000),
  30398. },
  30399. },
  30400. 565: {
  30401. Fmap1: [8]TFcChar32{
  30402. 0: uint32(0x00000808),
  30403. },
  30404. },
  30405. 566: {
  30406. Fmap1: [8]TFcChar32{
  30407. 0: uint32(0x00004000),
  30408. 1: uint32(0x00002400),
  30409. 2: uint32(0x00008000),
  30410. 3: uint32(0x40000000),
  30411. 4: uint32(0x00000001),
  30412. 5: uint32(0x00002000),
  30413. 6: uint32(0x04000000),
  30414. 7: uint32(0x00040004),
  30415. },
  30416. },
  30417. 567: {
  30418. Fmap1: [8]TFcChar32{
  30419. 1: uint32(0x00002000),
  30420. 5: uint32(0x1c200000),
  30421. 7: uint32(0x02000000),
  30422. },
  30423. },
  30424. 568: {
  30425. Fmap1: [8]TFcChar32{
  30426. 1: uint32(0x00080000),
  30427. 2: uint32(0x00400000),
  30428. 3: uint32(0x00000002),
  30429. 5: uint32(0x00000100),
  30430. },
  30431. },
  30432. 569: {
  30433. Fmap1: [8]TFcChar32{
  30434. 3: uint32(0x00400000),
  30435. },
  30436. },
  30437. 570: {
  30438. Fmap1: [8]TFcChar32{
  30439. 0: uint32(0x00004100),
  30440. 1: uint32(0x00000400),
  30441. 2: uint32(0x20200010),
  30442. 3: uint32(0x00004004),
  30443. 5: uint32(0x42000000),
  30444. },
  30445. },
  30446. 571: {
  30447. Fmap1: [8]TFcChar32{
  30448. 0: uint32(0x00000080),
  30449. 2: uint32(0x00000121),
  30450. 3: uint32(0x00000200),
  30451. 4: uint32(0x000000b0),
  30452. 5: uint32(0x80002000),
  30453. 7: uint32(0x00010000),
  30454. },
  30455. },
  30456. 572: {
  30457. Fmap1: [8]TFcChar32{
  30458. 0: uint32(0x00000010),
  30459. 1: uint32(0x000000c0),
  30460. 2: uint32(0x08100000),
  30461. 3: uint32(0x00000020),
  30462. },
  30463. },
  30464. 573: {
  30465. Fmap1: [8]TFcChar32{
  30466. 4: uint32(0x02000000),
  30467. 5: uint32(0x00000404),
  30468. },
  30469. },
  30470. 574: {
  30471. Fmap1: [8]TFcChar32{
  30472. 4: uint32(0x00400000),
  30473. 5: uint32(0x00000008),
  30474. },
  30475. },
  30476. 575: {
  30477. Fmap1: [8]TFcChar32{
  30478. 1: uint32(0x00000002),
  30479. 2: uint32(0x00020000),
  30480. 3: uint32(0x00002000),
  30481. 7: uint32(0x00204000),
  30482. },
  30483. },
  30484. 576: {
  30485. Fmap1: [8]TFcChar32{
  30486. 1: uint32(0x00100000),
  30487. 5: uint32(0x00800000),
  30488. 6: uint32(0x00000100),
  30489. 7: uint32(0x00000001),
  30490. },
  30491. },
  30492. 577: {
  30493. Fmap1: [8]TFcChar32{
  30494. 0: uint32(0x10000000),
  30495. 1: uint32(0x01000000),
  30496. 2: uint32(0x00002400),
  30497. 3: uint32(0x00000004),
  30498. 6: uint32(0x00000020),
  30499. 7: uint32(0x00000002),
  30500. },
  30501. },
  30502. 578: {
  30503. Fmap1: [8]TFcChar32{
  30504. 0: uint32(0x00010000),
  30505. },
  30506. },
  30507. 579: {
  30508. Fmap1: [8]TFcChar32{
  30509. 1: uint32(0x00002400),
  30510. 4: uint32(0x00004802),
  30511. 7: uint32(0x80022000),
  30512. },
  30513. },
  30514. 580: {
  30515. Fmap1: [8]TFcChar32{
  30516. 0: uint32(0x00001004),
  30517. 1: uint32(0x04208000),
  30518. 2: uint32(0x20000020),
  30519. 3: uint32(0x00040000),
  30520. },
  30521. },
  30522. 581: {
  30523. Fmap1: [8]TFcChar32{
  30524. 1: uint32(0x00100000),
  30525. 2: uint32(0x40010000),
  30526. 4: uint32(0x00080000),
  30527. 6: uint32(0x00100211),
  30528. },
  30529. },
  30530. 582: {
  30531. Fmap1: [8]TFcChar32{
  30532. 0: uint32(0x00001400),
  30533. 4: uint32(0x00610000),
  30534. 5: uint32(0x80008c00),
  30535. },
  30536. },
  30537. 583: {
  30538. Fmap1: [8]TFcChar32{
  30539. 0: uint32(0x00000100),
  30540. 1: uint32(0x00000040),
  30541. 3: uint32(0x00000004),
  30542. 4: uint32(0x00004000),
  30543. },
  30544. },
  30545. 584: {
  30546. Fmap1: [8]TFcChar32{
  30547. 6: uint32(0x00000400),
  30548. },
  30549. },
  30550. 585: {
  30551. Fmap1: [8]TFcChar32{
  30552. 5: uint32(0x00000210),
  30553. },
  30554. },
  30555. 586: {
  30556. Fmap1: [8]TFcChar32{
  30557. 1: uint32(0x00000020),
  30558. 2: uint32(0x00000002),
  30559. },
  30560. },
  30561. 587: {
  30562. Fmap1: [8]TFcChar32{
  30563. 0: uint32(0x00004000),
  30564. 3: uint32(0x02000000),
  30565. },
  30566. },
  30567. 588: {
  30568. Fmap1: [8]TFcChar32{
  30569. 2: uint32(0x00080002),
  30570. 3: uint32(0x01000020),
  30571. 4: uint32(0x00400000),
  30572. 5: uint32(0x00200000),
  30573. 6: uint32(0x00008000),
  30574. },
  30575. },
  30576. 589: {
  30577. Fmap1: [8]TFcChar32{
  30578. 1: uint32(0x00020000),
  30579. 3: uint32(0xc0020000),
  30580. 4: uint32(0x10000000),
  30581. 5: uint32(0x00000080),
  30582. },
  30583. },
  30584. 590: {
  30585. Fmap1: [8]TFcChar32{
  30586. 0: uint32(0x00000210),
  30587. 2: uint32(0x00001000),
  30588. 3: uint32(0x04480000),
  30589. 4: uint32(0x20000000),
  30590. 5: uint32(0x00000004),
  30591. 6: uint32(0x00800000),
  30592. 7: uint32(0x02000000),
  30593. },
  30594. },
  30595. 591: {
  30596. Fmap1: [8]TFcChar32{
  30597. 1: uint32(0x08006000),
  30598. 2: uint32(0x00001000),
  30599. 5: uint32(0x00100000),
  30600. 7: uint32(0x00000400),
  30601. },
  30602. },
  30603. 592: {
  30604. Fmap1: [8]TFcChar32{
  30605. 0: uint32(0x00100000),
  30606. 2: uint32(0x10000000),
  30607. 3: uint32(0x08608000),
  30608. 6: uint32(0x00080002),
  30609. },
  30610. },
  30611. 593: {
  30612. Fmap1: [8]TFcChar32{
  30613. 1: uint32(0x20000000),
  30614. 2: uint32(0x00008020),
  30615. },
  30616. },
  30617. 594: {
  30618. Fmap1: [8]TFcChar32{
  30619. 3: uint32(0x10000000),
  30620. },
  30621. },
  30622. 595: {
  30623. Fmap1: [8]TFcChar32{
  30624. 1: uint32(0x00100000),
  30625. },
  30626. },
  30627. 596: {
  30628. Fmap1: [8]TFcChar32{
  30629. 1: uint32(0x00000400),
  30630. },
  30631. },
  30632. 597: {
  30633. Fmap1: [8]TFcChar32{
  30634. 7: uint32(0x02000000),
  30635. },
  30636. },
  30637. 598: {
  30638. Fmap1: [8]TFcChar32{
  30639. 6: uint32(0x00000080),
  30640. },
  30641. },
  30642. 599: {
  30643. Fmap1: [8]TFcChar32{
  30644. 5: uint32(0x00000002),
  30645. },
  30646. },
  30647. 600: {
  30648. Fmap1: [8]TFcChar32{
  30649. 6: uint32(0x00008000),
  30650. },
  30651. },
  30652. 601: {
  30653. Fmap1: [8]TFcChar32{
  30654. 2: uint32(0x00000008),
  30655. 6: uint32(0x00000400),
  30656. },
  30657. },
  30658. 602: {
  30659. Fmap1: [8]TFcChar32{
  30660. 2: uint32(0x00220000),
  30661. 3: uint32(0x00000004),
  30662. 5: uint32(0x00040000),
  30663. 6: uint32(0x00000004),
  30664. },
  30665. },
  30666. 603: {
  30667. Fmap1: [8]TFcChar32{
  30668. 2: uint32(0x00001000),
  30669. 3: uint32(0x00000080),
  30670. 4: uint32(0x00002000),
  30671. 7: uint32(0x00004000),
  30672. },
  30673. },
  30674. 604: {
  30675. Fmap1: [8]TFcChar32{
  30676. 3: uint32(0x00100000),
  30677. },
  30678. },
  30679. 605: {
  30680. Fmap1: [8]TFcChar32{
  30681. 4: uint32(0x00200000),
  30682. },
  30683. },
  30684. 606: {
  30685. Fmap1: [8]TFcChar32{
  30686. 5: uint32(0x04000000),
  30687. },
  30688. },
  30689. 607: {
  30690. Fmap1: [8]TFcChar32{
  30691. 4: uint32(0x00000200),
  30692. },
  30693. },
  30694. 608: {
  30695. Fmap1: [8]TFcChar32{
  30696. 4: uint32(0x00000001),
  30697. },
  30698. },
  30699. 609: {
  30700. Fmap1: [8]TFcChar32{
  30701. 6: uint32(0x00080000),
  30702. },
  30703. },
  30704. 610: {
  30705. Fmap1: [8]TFcChar32{
  30706. 5: uint32(0x01000000),
  30707. 7: uint32(0x00000400),
  30708. },
  30709. },
  30710. 611: {
  30711. Fmap1: [8]TFcChar32{
  30712. 5: uint32(0x00000080),
  30713. },
  30714. },
  30715. 612: {
  30716. Fmap1: [8]TFcChar32{
  30717. 1: uint32(0x00000800),
  30718. 2: uint32(0x00000100),
  30719. 3: uint32(0x40000000),
  30720. },
  30721. },
  30722. 613: {
  30723. Fmap1: [8]TFcChar32{
  30724. 1: uint32(0x00200000),
  30725. },
  30726. },
  30727. 614: {
  30728. Fmap1: [8]TFcChar32{
  30729. 2: uint32(0x01000000),
  30730. },
  30731. },
  30732. 615: {
  30733. Fmap1: [8]TFcChar32{
  30734. 6: uint32(0x04000000),
  30735. },
  30736. },
  30737. 616: {
  30738. Fmap1: [8]TFcChar32{
  30739. 6: uint32(0x00001000),
  30740. },
  30741. },
  30742. 617: {
  30743. Fmap1: [8]TFcChar32{
  30744. 4: uint32(0x00000400),
  30745. },
  30746. },
  30747. 618: {
  30748. Fmap1: [8]TFcChar32{
  30749. 7: uint32(0x04040000),
  30750. },
  30751. },
  30752. 619: {
  30753. Fmap1: [8]TFcChar32{
  30754. 4: uint32(0x00000020),
  30755. },
  30756. },
  30757. 620: {
  30758. Fmap1: [8]TFcChar32{
  30759. 2: uint32(0x00800000),
  30760. },
  30761. },
  30762. 621: {
  30763. Fmap1: [8]TFcChar32{
  30764. 1: uint32(0x00200000),
  30765. 2: uint32(0x40000000),
  30766. },
  30767. },
  30768. 622: {
  30769. Fmap1: [8]TFcChar32{
  30770. 4: uint32(0x20000000),
  30771. },
  30772. },
  30773. 623: {
  30774. Fmap1: [8]TFcChar32{
  30775. 3: uint32(0x04000000),
  30776. 5: uint32(0x00000001),
  30777. },
  30778. },
  30779. 624: {
  30780. Fmap1: [8]TFcChar32{
  30781. 1: uint32(0x40000000),
  30782. 2: uint32(0x02000000),
  30783. },
  30784. },
  30785. 625: {
  30786. Fmap1: [8]TFcChar32{
  30787. 3: uint32(0x00080000),
  30788. },
  30789. },
  30790. 626: {
  30791. Fmap1: [8]TFcChar32{
  30792. 1: uint32(0x00000010),
  30793. 5: uint32(0x20000000),
  30794. },
  30795. },
  30796. 627: {
  30797. Fmap1: [8]TFcChar32{
  30798. 2: uint32(0x20000000),
  30799. },
  30800. },
  30801. 628: {
  30802. Fmap1: [8]TFcChar32{
  30803. 0: uint32(0x00000080),
  30804. 7: uint32(0x00000004),
  30805. },
  30806. },
  30807. 629: {
  30808. Fmap1: [8]TFcChar32{
  30809. 3: uint32(0x00002000),
  30810. },
  30811. },
  30812. 630: {
  30813. Fmap1: [8]TFcChar32{
  30814. 6: uint32(0x10000001),
  30815. },
  30816. },
  30817. 631: {
  30818. Fmap1: [8]TFcChar32{
  30819. 0: uint32(0x00008000),
  30820. },
  30821. },
  30822. 632: {
  30823. Fmap1: [8]TFcChar32{
  30824. 2: uint32(0x00004040),
  30825. },
  30826. },
  30827. 633: {
  30828. Fmap1: [8]TFcChar32{
  30829. 6: uint32(0x00042400),
  30830. },
  30831. },
  30832. 634: {
  30833. Fmap1: [8]TFcChar32{
  30834. 4: uint32(0x02000000),
  30835. },
  30836. },
  30837. 635: {
  30838. Fmap1: [8]TFcChar32{
  30839. 7: uint32(0x00000080),
  30840. },
  30841. },
  30842. 636: {
  30843. Fmap1: [8]TFcChar32{
  30844. 7: uint32(0x00000020),
  30845. },
  30846. },
  30847. 637: {
  30848. Fmap1: [8]TFcChar32{
  30849. 1: uint32(0x00000001),
  30850. },
  30851. },
  30852. 638: {
  30853. Fmap1: [8]TFcChar32{
  30854. 6: uint32(0x00020000),
  30855. },
  30856. },
  30857. 639: {
  30858. Fmap1: [8]TFcChar32{
  30859. 2: uint32(0x00002000),
  30860. },
  30861. },
  30862. 640: {
  30863. Fmap1: [8]TFcChar32{
  30864. 4: uint32(0x01000000),
  30865. },
  30866. },
  30867. 641: {
  30868. Fmap1: [8]TFcChar32{
  30869. 1: uint32(0x00040000),
  30870. 2: uint32(0x08000000),
  30871. },
  30872. },
  30873. 642: {
  30874. Fmap1: [8]TFcChar32{
  30875. 0: uint32(0xc373ff8b),
  30876. 1: uint32(0x1b0f6840),
  30877. 2: uint32(0xf34ce9ac),
  30878. 3: uint32(0xc0080200),
  30879. 4: uint32(0xca3e795c),
  30880. 5: uint32(0x06487976),
  30881. 6: uint32(0xf7f02fdf),
  30882. 7: uint32(0xa8ff033a),
  30883. },
  30884. },
  30885. 643: {
  30886. Fmap1: [8]TFcChar32{
  30887. 0: uint32(0x233fef37),
  30888. 1: uint32(0xfd59b004),
  30889. 2: uint32(0xfffff3ca),
  30890. 3: uint32(0xfff9de9f),
  30891. 4: uint32(0x7df7abff),
  30892. 5: uint32(0x8eecc000),
  30893. 6: uint32(0xffdbeebf),
  30894. 7: uint32(0x45fad003),
  30895. },
  30896. },
  30897. 644: {
  30898. Fmap1: [8]TFcChar32{
  30899. 0: uint32(0xdffefae1),
  30900. 1: uint32(0x10abbfef),
  30901. 2: uint32(0xfcaaffeb),
  30902. 3: uint32(0x24fdef3f),
  30903. 4: uint32(0x7f7678ad),
  30904. 5: uint32(0xedfff00c),
  30905. 6: uint32(0x2cfacff6),
  30906. 7: uint32(0xeb6bf7f9),
  30907. },
  30908. },
  30909. 645: {
  30910. Fmap1: [8]TFcChar32{
  30911. 0: uint32(0x95bf1ffd),
  30912. 1: uint32(0xbfbf6677),
  30913. 2: uint32(0xfeb43bfb),
  30914. 3: uint32(0x11e27bae),
  30915. 4: uint32(0x41bea681),
  30916. 5: uint32(0x72c31435),
  30917. 6: uint32(0x71917d70),
  30918. 7: uint32(0x276b0003),
  30919. },
  30920. },
  30921. 646: {
  30922. Fmap1: [8]TFcChar32{
  30923. 0: uint32(0x70cf57cb),
  30924. 1: uint32(0x0def4732),
  30925. 2: uint32(0xfc747eda),
  30926. 3: uint32(0xbdb4fe06),
  30927. 4: uint32(0x8bca3f9f),
  30928. 5: uint32(0x58007e49),
  30929. 6: uint32(0xebec228f),
  30930. 7: uint32(0xddbb8a5c),
  30931. },
  30932. },
  30933. 647: {
  30934. Fmap1: [8]TFcChar32{
  30935. 0: uint32(0xb6e7ef60),
  30936. 1: uint32(0xf293a40f),
  30937. 2: uint32(0x549e37bb),
  30938. 3: uint32(0x9bafd04b),
  30939. 4: uint32(0xf7d4c414),
  30940. 5: uint32(0x0a1430b0),
  30941. 6: uint32(0x88d02f08),
  30942. 7: uint32(0x192fff7e),
  30943. },
  30944. },
  30945. 648: {
  30946. Fmap1: [8]TFcChar32{
  30947. 0: uint32(0xfb07ffda),
  30948. 1: uint32(0x7beb7ff1),
  30949. 2: uint32(0x0010c5ef),
  30950. 3: uint32(0xfdff99ff),
  30951. 4: uint32(0x056779d7),
  30952. 5: uint32(0xfdcbffe7),
  30953. 6: uint32(0x4040c3ff),
  30954. 7: uint32(0xbd8e6ff7),
  30955. },
  30956. },
  30957. 649: {
  30958. Fmap1: [8]TFcChar32{
  30959. 0: uint32(0x0497dffa),
  30960. 1: uint32(0x5bfff4c0),
  30961. 2: uint32(0xd0e7ed7b),
  30962. 3: uint32(0xf8e0047e),
  30963. 4: uint32(0xb73eff9f),
  30964. 5: uint32(0x882e7dfe),
  30965. 6: uint32(0xbe7ffffd),
  30966. 7: uint32(0xf6c483fe),
  30967. },
  30968. },
  30969. 650: {
  30970. Fmap1: [8]TFcChar32{
  30971. 0: uint32(0xb8fdf357),
  30972. 1: uint32(0xef7dd680),
  30973. 2: uint32(0x47885767),
  30974. 3: uint32(0xc3dfff7d),
  30975. 4: uint32(0x37a9f0ff),
  30976. 5: uint32(0x70fc7de0),
  30977. 6: uint32(0xec9a3f6f),
  30978. 7: uint32(0x86814cb3),
  30979. },
  30980. },
  30981. 651: {
  30982. Fmap1: [8]TFcChar32{
  30983. 0: uint32(0xdd5c3f9e),
  30984. 1: uint32(0x4819f70d),
  30985. 2: uint32(0x0007fea3),
  30986. 3: uint32(0x38ffaf56),
  30987. 4: uint32(0xefb8980d),
  30988. 5: uint32(0xb760403d),
  30989. 6: uint32(0x9035d8ce),
  30990. 7: uint32(0x3fff72bf),
  30991. },
  30992. },
  30993. 652: {
  30994. Fmap1: [8]TFcChar32{
  30995. 0: uint32(0x7a117ff7),
  30996. 1: uint32(0xabfff7bb),
  30997. 2: uint32(0x6fbeff00),
  30998. 3: uint32(0xfe72a93c),
  30999. 4: uint32(0xf11bcfef),
  31000. 5: uint32(0xf40adb6b),
  31001. 6: uint32(0xef7ec3e6),
  31002. 7: uint32(0xf6109b9c),
  31003. },
  31004. },
  31005. 653: {
  31006. Fmap1: [8]TFcChar32{
  31007. 0: uint32(0x16f4f048),
  31008. 1: uint32(0x5182feb5),
  31009. 2: uint32(0x15bbc7b1),
  31010. 3: uint32(0xfbdf6e87),
  31011. 4: uint32(0x63cde43f),
  31012. 5: uint32(0x7e7ec1ff),
  31013. 6: uint32(0x7d5ffdeb),
  31014. 7: uint32(0xfcfe777b),
  31015. },
  31016. },
  31017. 654: {
  31018. Fmap1: [8]TFcChar32{
  31019. 0: uint32(0xdbea960b),
  31020. 1: uint32(0x53e86229),
  31021. 2: uint32(0xfdef37df),
  31022. 3: uint32(0xbd8136f5),
  31023. 4: uint32(0xfcbddc18),
  31024. 5: uint32(0xffffd2e4),
  31025. 6: uint32(0xffe03fd7),
  31026. 7: uint32(0xabf87f6f),
  31027. },
  31028. },
  31029. 655: {
  31030. Fmap1: [8]TFcChar32{
  31031. 0: uint32(0x6ed99bae),
  31032. 1: uint32(0xf115f5fb),
  31033. 2: uint32(0xbdfb79a9),
  31034. 3: uint32(0xadaf5a3c),
  31035. 4: uint32(0x1facdbba),
  31036. 5: uint32(0x837971fc),
  31037. 6: uint32(0xc35f7cf7),
  31038. 7: uint32(0x0567dfff),
  31039. },
  31040. },
  31041. 656: {
  31042. Fmap1: [8]TFcChar32{
  31043. 0: uint32(0x8467ff9a),
  31044. 1: uint32(0xdf8b1534),
  31045. 2: uint32(0x3373f9f3),
  31046. 3: uint32(0x5e1af7bd),
  31047. 4: uint32(0xa03fbf40),
  31048. 5: uint32(0x01ebffff),
  31049. 6: uint32(0xcfdddfc0),
  31050. 7: uint32(0xabd37500),
  31051. },
  31052. },
  31053. 657: {
  31054. Fmap1: [8]TFcChar32{
  31055. 0: uint32(0xeed6f8c3),
  31056. 1: uint32(0xb7ff43fd),
  31057. 2: uint32(0x42275eaf),
  31058. 3: uint32(0xf6869bac),
  31059. 4: uint32(0xf6bc27d7),
  31060. 5: uint32(0x35b7f787),
  31061. 6: uint32(0xe176aacd),
  31062. 7: uint32(0xe29f49e7),
  31063. },
  31064. },
  31065. 658: {
  31066. Fmap1: [8]TFcChar32{
  31067. 0: uint32(0xaff2545c),
  31068. 1: uint32(0x61d82b3f),
  31069. 2: uint32(0xbbb8fc3b),
  31070. 3: uint32(0x7b7dffcf),
  31071. 4: uint32(0x1ce0bf95),
  31072. 5: uint32(0x43ff7dfd),
  31073. 6: uint32(0xfffe5ff6),
  31074. 7: uint32(0xc4ced3ef),
  31075. },
  31076. },
  31077. 659: {
  31078. Fmap1: [8]TFcChar32{
  31079. 0: uint32(0xadbc8db6),
  31080. 1: uint32(0x11eb63dc),
  31081. 2: uint32(0x23d0df59),
  31082. 3: uint32(0xf3dbbeb4),
  31083. 4: uint32(0xdbc71fe7),
  31084. 5: uint32(0xfae4ff63),
  31085. 6: uint32(0x63f7b22b),
  31086. 7: uint32(0xadbaed3b),
  31087. },
  31088. },
  31089. 660: {
  31090. Fmap1: [8]TFcChar32{
  31091. 0: uint32(0x7efffe01),
  31092. 1: uint32(0x02bcfff7),
  31093. 2: uint32(0xef3932ff),
  31094. 3: uint32(0x8005fffc),
  31095. 4: uint32(0xbcf577fb),
  31096. 5: uint32(0xfff7010d),
  31097. 6: uint32(0xbf3afffb),
  31098. 7: uint32(0xdfff0057),
  31099. },
  31100. },
  31101. 661: {
  31102. Fmap1: [8]TFcChar32{
  31103. 0: uint32(0xbd7def7b),
  31104. 1: uint32(0xc8d4db88),
  31105. 2: uint32(0xed7cfff3),
  31106. 3: uint32(0x56ff5dee),
  31107. 4: uint32(0xac5f7e0d),
  31108. 5: uint32(0xd57fff96),
  31109. 6: uint32(0xc1403fee),
  31110. 7: uint32(0xffe76ff9),
  31111. },
  31112. },
  31113. 662: {
  31114. Fmap1: [8]TFcChar32{
  31115. 0: uint32(0x8e77779b),
  31116. 1: uint32(0xe45d6ebf),
  31117. 2: uint32(0x5f1f6fcf),
  31118. 3: uint32(0xfedfe07f),
  31119. 4: uint32(0x01fed7db),
  31120. 5: uint32(0xfb7bff00),
  31121. 6: uint32(0x1fdfffd4),
  31122. 7: uint32(0xfffff800),
  31123. },
  31124. },
  31125. 663: {
  31126. Fmap1: [8]TFcChar32{
  31127. 0: uint32(0x007bfb8f),
  31128. 1: uint32(0x7f5cbf00),
  31129. 2: uint32(0x07f3ffff),
  31130. 3: uint32(0x3de7eba0),
  31131. 4: uint32(0xfbd7f7bf),
  31132. 5: uint32(0x6003ffbf),
  31133. 6: uint32(0xbfedfffd),
  31134. 7: uint32(0x027fefbb),
  31135. },
  31136. },
  31137. 664: {
  31138. Fmap1: [8]TFcChar32{
  31139. 0: uint32(0xddfdfe40),
  31140. 1: uint32(0xe2f9fdff),
  31141. 2: uint32(0xfb1f680b),
  31142. 3: uint32(0xaffdfbe3),
  31143. 4: uint32(0xf7ed9fa4),
  31144. 5: uint32(0xf80f7a7d),
  31145. 6: uint32(0x0fd5eebe),
  31146. 7: uint32(0xfd9fbb5d),
  31147. },
  31148. },
  31149. 665: {
  31150. Fmap1: [8]TFcChar32{
  31151. 0: uint32(0x3bf9f2db),
  31152. 1: uint32(0xebccfe7f),
  31153. 2: uint32(0x73fa876a),
  31154. 3: uint32(0x9ffc95fc),
  31155. 4: uint32(0xfaf7109f),
  31156. 5: uint32(0xbbcdddb7),
  31157. 6: uint32(0xeccdf87e),
  31158. 7: uint32(0x3c3ff366),
  31159. },
  31160. },
  31161. 666: {
  31162. Fmap1: [8]TFcChar32{
  31163. 0: uint32(0xb03ffffd),
  31164. 1: uint32(0x067ee9f7),
  31165. 2: uint32(0xfe0696ae),
  31166. 3: uint32(0x5fd7d576),
  31167. 4: uint32(0xa3f33fd1),
  31168. 5: uint32(0x6fb7cf07),
  31169. 6: uint32(0x7f449fd1),
  31170. 7: uint32(0xd3dd7b59),
  31171. },
  31172. },
  31173. 667: {
  31174. Fmap1: [8]TFcChar32{
  31175. 0: uint32(0xa9bdaf3b),
  31176. 1: uint32(0xff3a7dcf),
  31177. 2: uint32(0xf6ebfbe0),
  31178. 3: uint32(0xffffb401),
  31179. 4: uint32(0xb7bf7afa),
  31180. 5: uint32(0x0ffdc000),
  31181. 6: uint32(0xff1fff7f),
  31182. 7: uint32(0x95fffefc),
  31183. },
  31184. },
  31185. 668: {
  31186. Fmap1: [8]TFcChar32{
  31187. 0: uint32(0xb5dc0000),
  31188. 1: uint32(0x3f3eef63),
  31189. 2: uint32(0x001bfb7f),
  31190. 3: uint32(0xfbf6e800),
  31191. 4: uint32(0xb8df9eef),
  31192. 5: uint32(0x003fff9f),
  31193. 6: uint32(0xf5ff7bd0),
  31194. 7: uint32(0x3fffdfdb),
  31195. },
  31196. },
  31197. 669: {
  31198. Fmap1: [8]TFcChar32{
  31199. 0: uint32(0x00bffdf0),
  31200. 1: uint32(0xbbbd8420),
  31201. 2: uint32(0xffdedf37),
  31202. 3: uint32(0x0ff3ff6d),
  31203. 4: uint32(0x5efb604c),
  31204. 5: uint32(0xfafbfffb),
  31205. 6: uint32(0x0219fe5e),
  31206. 7: uint32(0xf9de79f4),
  31207. },
  31208. },
  31209. 670: {
  31210. Fmap1: [8]TFcChar32{
  31211. 0: uint32(0xebfaa7f7),
  31212. 1: uint32(0xff3401eb),
  31213. 2: uint32(0xef73ebd3),
  31214. 3: uint32(0xc040afd7),
  31215. 4: uint32(0xdcff72bb),
  31216. 5: uint32(0x2fd8f17f),
  31217. 6: uint32(0xfe0bb8ec),
  31218. 7: uint32(0x1f0bdda3),
  31219. },
  31220. },
  31221. 671: {
  31222. Fmap1: [8]TFcChar32{
  31223. 0: uint32(0x47cf8f1d),
  31224. 1: uint32(0xffdeb12b),
  31225. 2: uint32(0xda737fee),
  31226. 3: uint32(0xcbc424ff),
  31227. 4: uint32(0xcbf2f75d),
  31228. 5: uint32(0xb4edecfd),
  31229. 6: uint32(0x4dddbff9),
  31230. 7: uint32(0xfb8d99dd),
  31231. },
  31232. },
  31233. 672: {
  31234. Fmap1: [8]TFcChar32{
  31235. 0: uint32(0xaf7bbb7f),
  31236. 1: uint32(0xc959ddfb),
  31237. 2: uint32(0xfab5fc4f),
  31238. 3: uint32(0x6d5fafe3),
  31239. 4: uint32(0x3f7dffff),
  31240. 5: uint32(0xffdb7800),
  31241. 6: uint32(0x7effb6ff),
  31242. 7: uint32(0x022ffbaf),
  31243. },
  31244. },
  31245. 673: {
  31246. Fmap1: [8]TFcChar32{
  31247. 0: uint32(0xefc7ff9b),
  31248. 1: uint32(0xffffffa5),
  31249. 2: uint32(0xc7000007),
  31250. 3: uint32(0xfff1f7ff),
  31251. 4: uint32(0x01bf7ffd),
  31252. 5: uint32(0xfdbcdc00),
  31253. 6: uint32(0xffffbff5),
  31254. 7: uint32(0x3effff7f),
  31255. },
  31256. },
  31257. 674: {
  31258. Fmap1: [8]TFcChar32{
  31259. 0: uint32(0xbe000029),
  31260. 1: uint32(0xff7ff9ff),
  31261. 2: uint32(0xfd7e6efb),
  31262. 3: uint32(0x039ecbff),
  31263. 4: uint32(0xfbdde300),
  31264. 5: uint32(0xf6dfccff),
  31265. 6: uint32(0x117fffff),
  31266. 7: uint32(0xfbf6f800),
  31267. },
  31268. },
  31269. 675: {
  31270. Fmap1: [8]TFcChar32{
  31271. 0: uint32(0xd73ce7ef),
  31272. 1: uint32(0xdfeffeef),
  31273. 2: uint32(0xedbfc00b),
  31274. 3: uint32(0xfdcdfedf),
  31275. 4: uint32(0x40fd7bf5),
  31276. 5: uint32(0xb75fffff),
  31277. 6: uint32(0xf930ffdf),
  31278. 7: uint32(0xdc97fbdf),
  31279. },
  31280. },
  31281. 676: {
  31282. Fmap1: [8]TFcChar32{
  31283. 0: uint32(0xbff2fef3),
  31284. 1: uint32(0xdfbf8fdf),
  31285. 2: uint32(0xede6177f),
  31286. 3: uint32(0x35530f7f),
  31287. 4: uint32(0x877e447c),
  31288. 5: uint32(0x45bbfa12),
  31289. 6: uint32(0x779eede0),
  31290. 7: uint32(0xbfd98017),
  31291. },
  31292. },
  31293. 677: {
  31294. Fmap1: [8]TFcChar32{
  31295. 0: uint32(0xde897e55),
  31296. 1: uint32(0x0447c16f),
  31297. 2: uint32(0xf75d7ade),
  31298. 3: uint32(0x290557ff),
  31299. 4: uint32(0xfe9586f7),
  31300. 5: uint32(0xf32f97b3),
  31301. 6: uint32(0x9f75cfff),
  31302. 7: uint32(0xfb1771f7),
  31303. },
  31304. },
  31305. 678: {
  31306. Fmap1: [8]TFcChar32{
  31307. 0: uint32(0xee1934ee),
  31308. 1: uint32(0xef6137cc),
  31309. 2: uint32(0xef4c9fd6),
  31310. 3: uint32(0xfbddd68f),
  31311. 4: uint32(0x6def7b73),
  31312. 5: uint32(0xa431d7fe),
  31313. 6: uint32(0x97d75e7f),
  31314. 7: uint32(0xffd80f5b),
  31315. },
  31316. },
  31317. 679: {
  31318. Fmap1: [8]TFcChar32{
  31319. 0: uint32(0x7bce9d83),
  31320. 1: uint32(0xdcff22ec),
  31321. 2: uint32(0xef87763d),
  31322. 3: uint32(0xfdeddfe7),
  31323. 4: uint32(0xa0fc4fff),
  31324. 5: uint32(0xdbfc3b77),
  31325. 6: uint32(0x7fdc3ded),
  31326. 7: uint32(0xf5706fa9),
  31327. },
  31328. },
  31329. 680: {
  31330. Fmap1: [8]TFcChar32{
  31331. 0: uint32(0x2c403ffb),
  31332. 1: uint32(0x847fff7f),
  31333. 2: uint32(0xdeb7ec57),
  31334. 3: uint32(0xf22fe69c),
  31335. 4: uint32(0xd5b50feb),
  31336. 5: uint32(0xede7afeb),
  31337. 6: uint32(0xfff08c2f),
  31338. 7: uint32(0xe8f0537f),
  31339. },
  31340. },
  31341. 681: {
  31342. Fmap1: [8]TFcChar32{
  31343. 0: uint32(0xb5ffb99d),
  31344. 1: uint32(0xe78fff66),
  31345. 2: uint32(0xbe10d981),
  31346. 3: uint32(0xe3c19c7c),
  31347. 4: uint32(0x27339cd1),
  31348. 5: uint32(0xff6d0cbc),
  31349. 6: uint32(0xefb7fcb7),
  31350. 7: uint32(0xffffa0df),
  31351. },
  31352. },
  31353. 682: {
  31354. Fmap1: [8]TFcChar32{
  31355. 0: uint32(0xfe7bbf0b),
  31356. 1: uint32(0x353fa3ff),
  31357. 2: uint32(0x97cd13cc),
  31358. 3: uint32(0xfb277637),
  31359. 4: uint32(0x7e6ccfd6),
  31360. 5: uint32(0xed31ec50),
  31361. 6: uint32(0xfc1c677c),
  31362. 7: uint32(0x5fbff6fa),
  31363. },
  31364. },
  31365. 683: {
  31366. Fmap1: [8]TFcChar32{
  31367. 0: uint32(0xae2f0fba),
  31368. 1: uint32(0x7ffea3ad),
  31369. 2: uint32(0xde74fcf0),
  31370. 3: uint32(0xf200ffef),
  31371. 4: uint32(0xfea2fbbf),
  31372. 5: uint32(0xbcff3daf),
  31373. 6: uint32(0x5fb9f694),
  31374. 7: uint32(0x3f8ff3ad),
  31375. },
  31376. },
  31377. 684: {
  31378. Fmap1: [8]TFcChar32{
  31379. 0: uint32(0xa01ff26c),
  31380. 1: uint32(0x01bfffef),
  31381. 2: uint32(0x70057728),
  31382. 3: uint32(0xda03ff35),
  31383. 4: uint32(0xc7fad2f9),
  31384. 5: uint32(0x5c1d3fbf),
  31385. 6: uint32(0xec33ff3a),
  31386. 7: uint32(0xfe9cb7af),
  31387. },
  31388. },
  31389. 685: {
  31390. Fmap1: [8]TFcChar32{
  31391. 0: uint32(0x7a9f5236),
  31392. 1: uint32(0xe722bffa),
  31393. 2: uint32(0xfcff9ff7),
  31394. 3: uint32(0xb61d2fbb),
  31395. 4: uint32(0x1dfded06),
  31396. 5: uint32(0xefdf7dd7),
  31397. 6: uint32(0xf166eb23),
  31398. 7: uint32(0x0dc07ed9),
  31399. },
  31400. },
  31401. 686: {
  31402. Fmap1: [8]TFcChar32{
  31403. 0: uint32(0xdfbf3d3d),
  31404. 1: uint32(0xba83c945),
  31405. 2: uint32(0x9dd07dd1),
  31406. 3: uint32(0xcf737b87),
  31407. 4: uint32(0xc3f59ff3),
  31408. 5: uint32(0xc5fedf0d),
  31409. 6: uint32(0x83020cb3),
  31410. 7: uint32(0xaec0e879),
  31411. },
  31412. },
  31413. 687: {
  31414. Fmap1: [8]TFcChar32{
  31415. 0: uint32(0x6f0fc773),
  31416. 1: uint32(0x093ffd7d),
  31417. 2: uint32(0x0157fff1),
  31418. 3: uint32(0x01ff62fb),
  31419. 4: uint32(0x3bf3fdb4),
  31420. 5: uint32(0x43b2b013),
  31421. 6: uint32(0xff305ed3),
  31422. 7: uint32(0xeb9f0fff),
  31423. },
  31424. },
  31425. 688: {
  31426. Fmap1: [8]TFcChar32{
  31427. 0: uint32(0xf203feef),
  31428. 1: uint32(0xfb893fef),
  31429. 2: uint32(0x9e9937a9),
  31430. 3: uint32(0xa72cdef9),
  31431. 4: uint32(0xc1f63733),
  31432. 5: uint32(0xfe3e812e),
  31433. 6: uint32(0xf2f75d20),
  31434. 7: uint32(0x69d7d585),
  31435. },
  31436. },
  31437. 689: {
  31438. Fmap1: [8]TFcChar32{
  31439. 0: uint32(0xffffffff),
  31440. 1: uint32(0xff6fdb07),
  31441. 2: uint32(0xd97fc4ff),
  31442. 3: uint32(0xbe0fefce),
  31443. 4: uint32(0xf05ef17b),
  31444. 5: uint32(0xffb7f6cf),
  31445. 6: uint32(0xef845ef7),
  31446. 7: uint32(0x0edfd7cb),
  31447. },
  31448. },
  31449. 690: {
  31450. Fmap1: [8]TFcChar32{
  31451. 0: uint32(0xfcffff08),
  31452. 1: uint32(0xffffee3f),
  31453. 2: uint32(0xd7ff13ff),
  31454. 3: uint32(0x7ffdaf0f),
  31455. 4: uint32(0x1ffabdc7),
  31456. },
  31457. },
  31458. 691: {
  31459. Fmap1: [8]TFcChar32{
  31460. 1: uint32(0xe7400000),
  31461. 2: uint32(0xf933bd38),
  31462. 3: uint32(0xfeed7feb),
  31463. 4: uint32(0x7c767fe8),
  31464. 5: uint32(0xffefb3f7),
  31465. 6: uint32(0xd8b7feaf),
  31466. 7: uint32(0xfbbfff6f),
  31467. },
  31468. },
  31469. 692: {
  31470. Fmap1: [8]TFcChar32{
  31471. 0: uint32(0xdbf7f8fb),
  31472. 1: uint32(0xe2f91752),
  31473. 2: uint32(0x754785c8),
  31474. 3: uint32(0xe3ef9090),
  31475. 4: uint32(0x3f6d9ef4),
  31476. 5: uint32(0x0536ee2e),
  31477. 6: uint32(0x7ff3f7bc),
  31478. 7: uint32(0x7f3fa07b),
  31479. },
  31480. },
  31481. 693: {
  31482. Fmap1: [8]TFcChar32{
  31483. 0: uint32(0xeb600567),
  31484. 1: uint32(0x6601babe),
  31485. 2: uint32(0x583ffcd8),
  31486. 3: uint32(0x87dfcaf7),
  31487. 4: uint32(0xffa0bfcd),
  31488. 5: uint32(0xfebf5bcd),
  31489. 6: uint32(0xefa7b6fd),
  31490. 7: uint32(0xdf9c77ef),
  31491. },
  31492. },
  31493. 694: {
  31494. Fmap1: [8]TFcChar32{
  31495. 0: uint32(0xf8773fb7),
  31496. 1: uint32(0xb7fc9d27),
  31497. 2: uint32(0xdfefcab5),
  31498. 3: uint32(0xf1b6fb5a),
  31499. 4: uint32(0xef1fec39),
  31500. 5: uint32(0x7ffbfbbf),
  31501. 6: uint32(0xdafe000d),
  31502. 7: uint32(0x4e7fbdfb),
  31503. },
  31504. },
  31505. 695: {
  31506. Fmap1: [8]TFcChar32{
  31507. 0: uint32(0x5ac033ff),
  31508. 1: uint32(0x9ffebff5),
  31509. 2: uint32(0x005fffbf),
  31510. 3: uint32(0xfdf80000),
  31511. 4: uint32(0x6ffdffca),
  31512. 5: uint32(0xa001cffd),
  31513. 6: uint32(0xfbf2dfff),
  31514. 7: uint32(0xff7fdfbf),
  31515. },
  31516. },
  31517. 696: {
  31518. Fmap1: [8]TFcChar32{
  31519. 0: uint32(0x080ffeda),
  31520. 1: uint32(0xbfffba08),
  31521. 2: uint32(0xeed77afd),
  31522. 3: uint32(0x67f9fbeb),
  31523. 4: uint32(0xff93e044),
  31524. 5: uint32(0x9f57df97),
  31525. 6: uint32(0x08dffef7),
  31526. 7: uint32(0xfedfdf80),
  31527. },
  31528. },
  31529. 697: {
  31530. Fmap1: [8]TFcChar32{
  31531. 0: uint32(0xf7feffc5),
  31532. 1: uint32(0x6803fffb),
  31533. 2: uint32(0x6bfa67fb),
  31534. 3: uint32(0x5fe27fff),
  31535. 4: uint32(0xff73ffff),
  31536. 5: uint32(0xe7fb87df),
  31537. 6: uint32(0xf7a7ebfd),
  31538. 7: uint32(0xefc7bf7e),
  31539. },
  31540. },
  31541. 698: {
  31542. Fmap1: [8]TFcChar32{
  31543. 0: uint32(0xdf821ef3),
  31544. 1: uint32(0xdf7e76ff),
  31545. 2: uint32(0xda7d79c9),
  31546. 3: uint32(0x1e9befbe),
  31547. 4: uint32(0x77fb7ce0),
  31548. 5: uint32(0xfffb87be),
  31549. 6: uint32(0xffdb1bff),
  31550. 7: uint32(0x4fe03f5c),
  31551. },
  31552. },
  31553. 699: {
  31554. Fmap1: [8]TFcChar32{
  31555. 0: uint32(0x5f0e7fff),
  31556. 1: uint32(0xddbf77ff),
  31557. 2: uint32(0xfffff04f),
  31558. 3: uint32(0x0ff8ffff),
  31559. 4: uint32(0xfddfa3be),
  31560. 5: uint32(0xfffdfc1c),
  31561. 6: uint32(0xfb9e1f7d),
  31562. 7: uint32(0xdedcbdff),
  31563. },
  31564. },
  31565. 700: {
  31566. Fmap1: [8]TFcChar32{
  31567. 0: uint32(0xbafb3f6f),
  31568. 1: uint32(0xfbefdf7f),
  31569. 2: uint32(0x2eec7d1b),
  31570. 3: uint32(0xf2f7af8e),
  31571. 4: uint32(0xcfee7b0f),
  31572. 5: uint32(0x77c61d96),
  31573. 6: uint32(0xfff57e07),
  31574. 7: uint32(0x7fdfd982),
  31575. },
  31576. },
  31577. 701: {
  31578. Fmap1: [8]TFcChar32{
  31579. 0: uint32(0xc7ff5ee6),
  31580. 1: uint32(0x79effeee),
  31581. 2: uint32(0xffcf9a56),
  31582. 3: uint32(0xde5efe5f),
  31583. 4: uint32(0xf9e8896e),
  31584. 5: uint32(0xe6c4f45e),
  31585. 6: uint32(0xbe7c0001),
  31586. 7: uint32(0xdddf3b7f),
  31587. },
  31588. },
  31589. 702: {
  31590. Fmap1: [8]TFcChar32{
  31591. 0: uint32(0xe9efd59d),
  31592. 1: uint32(0xde5334ac),
  31593. 2: uint32(0x4bf7f573),
  31594. 3: uint32(0x9eff7b4f),
  31595. 4: uint32(0x476eb8fe),
  31596. 5: uint32(0xff450dfb),
  31597. 6: uint32(0xfbfeabfd),
  31598. 7: uint32(0xddffe9d7),
  31599. },
  31600. },
  31601. 703: {
  31602. Fmap1: [8]TFcChar32{
  31603. 0: uint32(0x7fffedf7),
  31604. 1: uint32(0x7eebddfd),
  31605. 2: uint32(0xb7ffcfe7),
  31606. 3: uint32(0xef91bde9),
  31607. 4: uint32(0xd77c5d75),
  31608. },
  31609. },
  31610. 704: {
  31611. Fmap1: [8]TFcChar32{
  31612. 1: uint32(0xfa800000),
  31613. 2: uint32(0xb4f1ffee),
  31614. 3: uint32(0x2fefbf76),
  31615. 4: uint32(0x77bfb677),
  31616. 5: uint32(0xfffd9fbf),
  31617. 6: uint32(0xf6ae95bf),
  31618. 7: uint32(0x7f3b75ff),
  31619. },
  31620. },
  31621. 705: {
  31622. Fmap1: [8]TFcChar32{
  31623. 0: uint32(0x0af9a7f5),
  31624. 3: uint32(0x2bddfbd0),
  31625. 4: uint32(0x9a7ff633),
  31626. 5: uint32(0xd6fcfdab),
  31627. 6: uint32(0xbfebf9e6),
  31628. 7: uint32(0xf41fdfdf),
  31629. },
  31630. },
  31631. 706: {
  31632. Fmap1: [8]TFcChar32{
  31633. 0: uint32(0xffffa6fd),
  31634. 1: uint32(0xf37b4aff),
  31635. 2: uint32(0xfef97fb7),
  31636. 3: uint32(0x1d5cb6ff),
  31637. 4: uint32(0xe5ff7ff6),
  31638. 5: uint32(0x24041f7b),
  31639. 6: uint32(0xf99ebe05),
  31640. 7: uint32(0xdff2dbe3),
  31641. },
  31642. },
  31643. 707: {
  31644. Fmap1: [8]TFcChar32{
  31645. 0: uint32(0xfdff6fef),
  31646. 1: uint32(0xcbfcd679),
  31647. 2: uint32(0xefffebfd),
  31648. 3: uint32(0x0000001f),
  31649. 4: uint32(0x98000000),
  31650. 5: uint32(0x8017e148),
  31651. 6: uint32(0x00fe6a74),
  31652. 7: uint32(0xfdf16d7f),
  31653. },
  31654. },
  31655. 708: {
  31656. Fmap1: [8]TFcChar32{
  31657. 0: uint32(0xfef3b87f),
  31658. 1: uint32(0xf176e01f),
  31659. 2: uint32(0x7b3fee96),
  31660. 3: uint32(0xfffdeb8d),
  31661. 4: uint32(0xcbb3adff),
  31662. 5: uint32(0xe17f84ef),
  31663. 6: uint32(0xbff04daa),
  31664. 7: uint32(0xfe3fbf3f),
  31665. },
  31666. },
  31667. 709: {
  31668. Fmap1: [8]TFcChar32{
  31669. 0: uint32(0xffd7ebff),
  31670. 1: uint32(0xcf7fffdf),
  31671. 2: uint32(0x85edfffb),
  31672. 3: uint32(0x07bcd73f),
  31673. 4: uint32(0xfe0faeff),
  31674. 5: uint32(0x76bffdaf),
  31675. 6: uint32(0x37bbfaef),
  31676. 7: uint32(0xa3ba7fdc),
  31677. },
  31678. },
  31679. 710: {
  31680. Fmap1: [8]TFcChar32{
  31681. 0: uint32(0x56f7b6ff),
  31682. 1: uint32(0xe7df60f8),
  31683. 2: uint32(0x4cdfff61),
  31684. 3: uint32(0xff45b0fb),
  31685. 4: uint32(0x3ffa7ded),
  31686. 5: uint32(0x18fc1fff),
  31687. 6: uint32(0xe3afffff),
  31688. 7: uint32(0xdf83c7d3),
  31689. },
  31690. },
  31691. 711: {
  31692. Fmap1: [8]TFcChar32{
  31693. 0: uint32(0xef7dfb57),
  31694. 1: uint32(0x1378efff),
  31695. 2: uint32(0x5ff7fec0),
  31696. 3: uint32(0x5ee334bb),
  31697. 4: uint32(0xeff6f70d),
  31698. 5: uint32(0x00bfd7fe),
  31699. 6: uint32(0xf7f7f59d),
  31700. 7: uint32(0xffe051de),
  31701. },
  31702. },
  31703. 712: {
  31704. Fmap1: [8]TFcChar32{
  31705. 0: uint32(0x037ffec9),
  31706. 1: uint32(0xbfef5f01),
  31707. 2: uint32(0x60a79ff1),
  31708. 3: uint32(0xf1ffef1d),
  31709. 4: uint32(0x0000000f),
  31710. },
  31711. },
  31712. 713: {
  31713. Fmap1: [8]TFcChar32{
  31714. 3: uint32(0x3c800000),
  31715. 4: uint32(0xd91ffb4d),
  31716. 5: uint32(0xfee37b3a),
  31717. 6: uint32(0xdc7f3fe9),
  31718. 7: uint32(0x0000003f),
  31719. },
  31720. },
  31721. 714: {
  31722. Fmap1: [8]TFcChar32{
  31723. 0: uint32(0x50000000),
  31724. 1: uint32(0xbe07f51f),
  31725. 2: uint32(0xf91bfc1d),
  31726. 3: uint32(0x71ffbc1e),
  31727. 4: uint32(0x5bbe6ff9),
  31728. 5: uint32(0x9b1b5796),
  31729. 6: uint32(0xfffc7fff),
  31730. 7: uint32(0xafe7872e),
  31731. },
  31732. },
  31733. 715: {
  31734. Fmap1: [8]TFcChar32{
  31735. 0: uint32(0xf34febf5),
  31736. 1: uint32(0xe725dffd),
  31737. 2: uint32(0x5d440bdc),
  31738. 3: uint32(0xfddd5747),
  31739. 4: uint32(0x7790ed3f),
  31740. 5: uint32(0x8ac87d7f),
  31741. 6: uint32(0xf3f9fafa),
  31742. 7: uint32(0xef4b202a),
  31743. },
  31744. },
  31745. 716: {
  31746. Fmap1: [8]TFcChar32{
  31747. 0: uint32(0x79cff5ff),
  31748. 1: uint32(0x0ba5abd3),
  31749. 2: uint32(0xfb8ff77a),
  31750. 3: uint32(0x001f8ebd),
  31751. 5: uint32(0xfd4ef300),
  31752. 6: uint32(0x88001a57),
  31753. 7: uint32(0x7654aeac),
  31754. },
  31755. },
  31756. 717: {
  31757. Fmap1: [8]TFcChar32{
  31758. 0: uint32(0xcdff17ad),
  31759. 1: uint32(0xf42fffb2),
  31760. 2: uint32(0xdbff5baa),
  31761. 3: uint32(0x00000002),
  31762. 4: uint32(0x73c00000),
  31763. 5: uint32(0x2e3ff9ea),
  31764. 6: uint32(0xbbfffa8e),
  31765. 7: uint32(0xffd376bc),
  31766. },
  31767. },
  31768. 718: {
  31769. Fmap1: [8]TFcChar32{
  31770. 0: uint32(0x7e72eefe),
  31771. 1: uint32(0xe7f77ebd),
  31772. 2: uint32(0xcefdf77f),
  31773. 3: uint32(0x00000ff5),
  31774. 5: uint32(0xdb9ba900),
  31775. 6: uint32(0x917fa4c7),
  31776. 7: uint32(0x7ecef8ca),
  31777. },
  31778. },
  31779. 719: {
  31780. Fmap1: [8]TFcChar32{
  31781. 0: uint32(0xc7e77d7a),
  31782. 1: uint32(0xdcaecbbd),
  31783. 2: uint32(0x8f76fd7e),
  31784. 3: uint32(0x7cf391d3),
  31785. 4: uint32(0x4c2f01e5),
  31786. 5: uint32(0xa360ed77),
  31787. 6: uint32(0x5ef807db),
  31788. 7: uint32(0x21811df7),
  31789. },
  31790. },
  31791. 720: {
  31792. Fmap1: [8]TFcChar32{
  31793. 0: uint32(0x309c6be0),
  31794. 1: uint32(0xfade3b3a),
  31795. 2: uint32(0xc3f57f53),
  31796. 3: uint32(0x07ba61cd),
  31797. 7: uint32(0xbefe26e0),
  31798. },
  31799. },
  31800. 721: {
  31801. Fmap1: [8]TFcChar32{
  31802. 0: uint32(0xebb503f9),
  31803. 1: uint32(0xe9cbe36d),
  31804. 2: uint32(0xbfde9c2f),
  31805. 3: uint32(0xabbf9f83),
  31806. 4: uint32(0xffd51ff7),
  31807. 5: uint32(0xdffeb7df),
  31808. 6: uint32(0xffeffdae),
  31809. 7: uint32(0xeffdfb7e),
  31810. },
  31811. },
  31812. 722: {
  31813. Fmap1: [8]TFcChar32{
  31814. 0: uint32(0x6ebfaaff),
  31815. 3: uint32(0xb6200000),
  31816. 4: uint32(0xbe9e7fcd),
  31817. 5: uint32(0x58f162b3),
  31818. 6: uint32(0xfd7bf10d),
  31819. 7: uint32(0xbefde9f1),
  31820. },
  31821. },
  31822. 723: {
  31823. Fmap1: [8]TFcChar32{
  31824. 0: uint32(0x5f6dc6c3),
  31825. 1: uint32(0x69ffff3d),
  31826. 2: uint32(0xfbf4ffcf),
  31827. 3: uint32(0x4ff7dcfb),
  31828. 4: uint32(0x11372000),
  31829. 5: uint32(0x00000015),
  31830. },
  31831. },
  31832. 724: {
  31833. Fmap1: [8]TFcChar32{
  31834. 0: uint32(0x00003000),
  31835. },
  31836. },
  31837. },
  31838. Fleaf_offsets: [780]Tuintptr_t{
  31839. 0: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(8)),
  31840. 1: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(8)),
  31841. 2: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8)),
  31842. 3: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(3)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8)),
  31843. 4: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  31844. 5: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(5)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  31845. 6: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(6)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  31846. 7: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(7)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  31847. 8: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(8)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  31848. 9: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8)),
  31849. 10: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(10)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8)),
  31850. 11: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8)),
  31851. 12: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(8)),
  31852. 13: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(8)),
  31853. 14: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8)),
  31854. 15: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8)),
  31855. 16: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(15)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8)),
  31856. 17: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(8)),
  31857. 18: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  31858. 19: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  31859. 20: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(19)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  31860. 21: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(20)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8)),
  31861. 22: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(8)),
  31862. 23: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(8)),
  31863. 24: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  31864. 25: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  31865. 26: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(25)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  31866. 27: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(26)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  31867. 28: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(27)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(8)),
  31868. 29: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(8)),
  31869. 30: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8)),
  31870. 31: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(8)),
  31871. 32: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  31872. 33: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  31873. 34: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(33)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  31874. 35: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  31875. 36: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(34)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  31876. 37: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  31877. 38: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(36)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(8)),
  31878. 39: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(37)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8)),
  31879. 40: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(8)),
  31880. 41: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(8)),
  31881. 42: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8)),
  31882. 43: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8)),
  31883. 44: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(8)),
  31884. 45: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8)),
  31885. 46: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(43)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8)),
  31886. 47: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8)),
  31887. 48: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8)),
  31888. 49: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(46)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(8)),
  31889. 50: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(8)),
  31890. 51: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(48)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(8)),
  31891. 52: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8)),
  31892. 53: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8)),
  31893. 54: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8)),
  31894. 55: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8)),
  31895. 56: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(53)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8)),
  31896. 57: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8)),
  31897. 58: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(55)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8)),
  31898. 59: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8)),
  31899. 60: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(57)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(8)),
  31900. 61: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8)),
  31901. 62: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(59)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8)),
  31902. 63: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  31903. 64: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  31904. 65: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(62)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  31905. 66: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(8)),
  31906. 67: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(64)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8)),
  31907. 68: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(65)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(8)),
  31908. 69: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(8)),
  31909. 70: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  31910. 71: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  31911. 72: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  31912. 73: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  31913. 74: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(8)),
  31914. 75: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(71)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(8)),
  31915. 76: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8)),
  31916. 77: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(72)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8)),
  31917. 78: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(73)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8)),
  31918. 79: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8)),
  31919. 80: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(8)),
  31920. 81: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  31921. 82: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  31922. 83: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(77)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  31923. 84: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8)),
  31924. 85: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8)),
  31925. 86: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(79)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8)),
  31926. 87: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8)),
  31927. 88: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(8)),
  31928. 89: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(8)),
  31929. 90: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(82)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(8)),
  31930. 91: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(83)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  31931. 92: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  31932. 93: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(85)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  31933. 94: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(8)),
  31934. 95: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8)),
  31935. 96: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8)),
  31936. 97: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  31937. 98: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  31938. 99: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  31939. 100: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(92)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(8)),
  31940. 101: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(93)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(8)),
  31941. 102: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  31942. 103: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  31943. 104: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  31944. 105: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  31945. 106: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  31946. 107: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  31947. 108: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(98)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8)),
  31948. 109: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8)),
  31949. 110: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8)),
  31950. 111: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(8)),
  31951. 112: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8)),
  31952. 113: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(103)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8)),
  31953. 114: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(104)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(8)),
  31954. 115: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  31955. 116: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  31956. 117: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(106)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  31957. 118: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(107)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8)),
  31958. 119: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(53)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8)),
  31959. 120: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8)),
  31960. 121: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8)),
  31961. 122: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31962. 123: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31963. 124: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31964. 125: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31965. 126: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(110)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31966. 127: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8)),
  31967. 128: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8)),
  31968. 129: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(113)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8)),
  31969. 130: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  31970. 131: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  31971. 132: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(116)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  31972. 133: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(117)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31973. 134: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31974. 135: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31975. 136: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31976. 137: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31977. 138: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31978. 139: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(123)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31979. 140: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(124)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31980. 141: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(125)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31981. 142: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(126)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31982. 143: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31983. 144: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31984. 145: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31985. 146: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31986. 147: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(131)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31987. 148: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31988. 149: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31989. 150: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(134)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31990. 151: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(135)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31991. 152: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(136)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31992. 153: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(137)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31993. 154: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(138)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31994. 155: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(139)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31995. 156: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(140)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31996. 157: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(141)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31997. 158: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(142)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31998. 159: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(143)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31999. 160: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(144)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32000. 161: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(145)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32001. 162: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(146)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32002. 163: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(147)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32003. 164: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(148)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32004. 165: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(149)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32005. 166: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(150)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32006. 167: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(151)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32007. 168: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(152)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32008. 169: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(153)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32009. 170: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(154)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32010. 171: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(155)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32011. 172: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(156)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32012. 173: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(157)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32013. 174: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(158)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32014. 175: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(159)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32015. 176: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(160)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32016. 177: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(161)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32017. 178: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(162)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32018. 179: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(163)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32019. 180: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(164)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32020. 181: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(165)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32021. 182: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(166)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32022. 183: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(167)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32023. 184: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(168)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32024. 185: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(169)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32025. 186: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(170)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32026. 187: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(171)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32027. 188: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(172)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32028. 189: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(173)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32029. 190: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(174)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32030. 191: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(175)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32031. 192: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(176)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32032. 193: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(177)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32033. 194: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(178)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32034. 195: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(179)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32035. 196: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(180)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32036. 197: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(181)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32037. 198: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(182)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32038. 199: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(183)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32039. 200: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(184)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32040. 201: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(185)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32041. 202: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(186)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32042. 203: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(187)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32043. 204: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(188)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32044. 205: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(189)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32045. 206: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(190)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32046. 207: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(191)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32047. 208: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(192)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32048. 209: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(193)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32049. 210: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(194)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32050. 211: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(195)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32051. 212: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(196)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32052. 213: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(197)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32053. 214: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(198)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32054. 215: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(199)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  32055. 216: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(200)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8)),
  32056. 217: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(201)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8)),
  32057. 218: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(202)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8)),
  32058. 219: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8)),
  32059. 220: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(203)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8)),
  32060. 221: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(204)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8)),
  32061. 222: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(205)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8)),
  32062. 223: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(206)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8)),
  32063. 224: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(207)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8)),
  32064. 225: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(208)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  32065. 226: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(209)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32066. 227: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(210)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32067. 228: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(211)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32068. 229: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(212)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32069. 230: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(213)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32070. 231: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(214)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32071. 232: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(215)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32072. 233: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32073. 234: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32074. 235: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32075. 236: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32076. 237: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(220)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32077. 238: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32078. 239: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32079. 240: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(223)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32080. 241: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32081. 242: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32082. 243: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32083. 244: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(227)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32084. 245: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(228)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32085. 246: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(229)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32086. 247: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(230)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32087. 248: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(231)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32088. 249: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(232)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32089. 250: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(233)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32090. 251: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(234)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32091. 252: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(235)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32092. 253: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(236)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32093. 254: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(237)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32094. 255: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(238)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32095. 256: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(239)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32096. 257: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(240)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32097. 258: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(241)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32098. 259: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(242)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32099. 260: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(243)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32100. 261: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(244)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32101. 262: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(245)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32102. 263: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(246)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32103. 264: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(247)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32104. 265: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(248)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32105. 266: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(249)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32106. 267: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(250)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32107. 268: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(251)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32108. 269: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(252)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32109. 270: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(253)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  32110. 271: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  32111. 272: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(254)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  32112. 273: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(255)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  32113. 274: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(256)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8)),
  32114. 275: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(257)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8)),
  32115. 276: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(258)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8)),
  32116. 277: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(259)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8)),
  32117. 278: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(260)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8)),
  32118. 279: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(261)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8)),
  32119. 280: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(262)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8)),
  32120. 281: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(263)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8)),
  32121. 282: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  32122. 283: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  32123. 284: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(264)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  32124. 285: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(265)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8)),
  32125. 286: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8)),
  32126. 287: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(266)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8)),
  32127. 288: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(267)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8)),
  32128. 289: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(268)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8)),
  32129. 290: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8)),
  32130. 291: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(269)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8)),
  32131. 292: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8)),
  32132. 293: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  32133. 294: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(272)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  32134. 295: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(6)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  32135. 296: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(273)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  32136. 297: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8)),
  32137. 298: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8)),
  32138. 299: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8)),
  32139. 300: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8)),
  32140. 301: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8)),
  32141. 302: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8)),
  32142. 303: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8)),
  32143. 304: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8)),
  32144. 305: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  32145. 306: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  32146. 307: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  32147. 308: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8)),
  32148. 309: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8)),
  32149. 310: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8)),
  32150. 311: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(283)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8)),
  32151. 312: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8)),
  32152. 313: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  32153. 314: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  32154. 315: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  32155. 316: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(262)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  32156. 317: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8)),
  32157. 318: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8)),
  32158. 319: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8)),
  32159. 320: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8)),
  32160. 321: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8)),
  32161. 322: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(291)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8)),
  32162. 323: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8)),
  32163. 324: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8)),
  32164. 325: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(294)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8)),
  32165. 326: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(295)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8)),
  32166. 327: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(296)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8)),
  32167. 328: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8)),
  32168. 329: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  32169. 330: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  32170. 331: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  32171. 332: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(301)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  32172. 333: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8)),
  32173. 334: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8)),
  32174. 335: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8)),
  32175. 336: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8)),
  32176. 337: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8)),
  32177. 338: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(306)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8)),
  32178. 339: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(307)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8)),
  32179. 340: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8)),
  32180. 341: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8)),
  32181. 342: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8)),
  32182. 343: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8)),
  32183. 344: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8)),
  32184. 345: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8)),
  32185. 346: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8)),
  32186. 347: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8)),
  32187. 348: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(314)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8)),
  32188. 349: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  32189. 350: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  32190. 351: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  32191. 352: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(315)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8)),
  32192. 353: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8)),
  32193. 354: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8)),
  32194. 355: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  32195. 356: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  32196. 357: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  32197. 358: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8)),
  32198. 359: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8)),
  32199. 360: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8)),
  32200. 361: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8)),
  32201. 362: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  32202. 363: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  32203. 364: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  32204. 365: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8)),
  32205. 366: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8)),
  32206. 367: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8)),
  32207. 368: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8)),
  32208. 369: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(10)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8)),
  32209. 370: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8)),
  32210. 371: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(330)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8)),
  32211. 372: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8)),
  32212. 373: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8)),
  32213. 374: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(331)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8)),
  32214. 375: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8)),
  32215. 376: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8)),
  32216. 377: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(334)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8)),
  32217. 378: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  32218. 379: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  32219. 380: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  32220. 381: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8)),
  32221. 382: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8)),
  32222. 383: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8)),
  32223. 384: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8)),
  32224. 385: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(342)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8)),
  32225. 386: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8)),
  32226. 387: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8)),
  32227. 388: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8)),
  32228. 389: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8)),
  32229. 390: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(43)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8)),
  32230. 391: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(347)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8)),
  32231. 392: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8)),
  32232. 393: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8)),
  32233. 394: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8)),
  32234. 395: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(350)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8)),
  32235. 396: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(351)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  32236. 397: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  32237. 398: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  32238. 399: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8)),
  32239. 400: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  32240. 401: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32241. 402: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32242. 403: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(356)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32243. 404: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(357)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32244. 405: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32245. 406: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32246. 407: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(360)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32247. 408: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32248. 409: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32249. 410: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(363)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32250. 411: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32251. 412: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32252. 413: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(366)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32253. 414: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32254. 415: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32255. 416: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32256. 417: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32257. 418: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32258. 419: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32259. 420: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(373)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32260. 421: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32261. 422: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32262. 423: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32263. 424: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32264. 425: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8)),
  32265. 426: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8)),
  32266. 427: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(379)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  32267. 428: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(380)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  32268. 429: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  32269. 430: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  32270. 431: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8)),
  32271. 432: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8)),
  32272. 433: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8)),
  32273. 434: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8)),
  32274. 435: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8)),
  32275. 436: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8)),
  32276. 437: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8)),
  32277. 438: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(269)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8)),
  32278. 439: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8)),
  32279. 440: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  32280. 441: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  32281. 442: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  32282. 443: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  32283. 444: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32284. 445: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(394)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32285. 446: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32286. 447: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32287. 448: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(397)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32288. 449: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(398)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32289. 450: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32290. 451: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32291. 452: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32292. 453: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(402)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32293. 454: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(403)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32294. 455: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(404)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32295. 456: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(405)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32296. 457: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(406)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32297. 458: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(407)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32298. 459: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(408)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32299. 460: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(409)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32300. 461: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(410)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32301. 462: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(411)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32302. 463: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32303. 464: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32304. 465: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(414)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32305. 466: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(415)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32306. 467: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(416)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32307. 468: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(417)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32308. 469: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(418)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32309. 470: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(419)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32310. 471: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(420)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32311. 472: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(421)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32312. 473: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(422)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32313. 474: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(423)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32314. 475: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32315. 476: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32316. 477: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32317. 478: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32318. 479: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(428)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32319. 480: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(429)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32320. 481: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(430)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32321. 482: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32322. 483: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32323. 484: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(433)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32324. 485: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32325. 486: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32326. 487: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32327. 488: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32328. 489: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(438)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32329. 490: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32330. 491: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32331. 492: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(441)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32332. 493: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(442)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32333. 494: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32334. 495: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32335. 496: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(445)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32336. 497: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(446)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32337. 498: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(447)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32338. 499: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(448)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32339. 500: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(449)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32340. 501: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(450)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32341. 502: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(451)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32342. 503: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(452)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32343. 504: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(453)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32344. 505: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(454)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32345. 506: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(455)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32346. 507: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(456)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32347. 508: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(457)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32348. 509: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(458)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32349. 510: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(459)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32350. 511: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(460)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32351. 512: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(461)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32352. 513: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(462)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32353. 514: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(463)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32354. 515: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(464)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32355. 516: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(465)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32356. 517: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(466)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32357. 518: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(467)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32358. 519: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(468)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32359. 520: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(469)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32360. 521: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(470)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32361. 522: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(471)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32362. 523: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(472)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32363. 524: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(473)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32364. 525: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(474)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32365. 526: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(475)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32366. 527: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(476)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32367. 528: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(477)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32368. 529: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(478)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32369. 530: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(479)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32370. 531: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(480)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32371. 532: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(481)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32372. 533: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(482)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32373. 534: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(483)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32374. 535: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(484)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32375. 536: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(485)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32376. 537: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(486)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32377. 538: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(487)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32378. 539: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(488)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32379. 540: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(489)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32380. 541: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(490)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32381. 542: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(491)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32382. 543: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(492)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32383. 544: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(493)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32384. 545: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(494)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32385. 546: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(495)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32386. 547: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(496)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32387. 548: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(497)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32388. 549: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(498)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32389. 550: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(499)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32390. 551: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(500)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32391. 552: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(501)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32392. 553: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(502)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32393. 554: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(503)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32394. 555: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(504)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32395. 556: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(505)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32396. 557: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(506)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32397. 558: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(507)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32398. 559: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(508)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32399. 560: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(509)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32400. 561: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(510)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32401. 562: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(511)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32402. 563: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(512)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32403. 564: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(513)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32404. 565: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(514)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32405. 566: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(515)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32406. 567: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(516)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32407. 568: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(517)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32408. 569: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(518)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32409. 570: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(519)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32410. 571: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(520)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32411. 572: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(521)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32412. 573: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(522)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32413. 574: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(523)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32414. 575: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(524)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32415. 576: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32416. 577: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32417. 578: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(527)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32418. 579: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(528)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32419. 580: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(529)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32420. 581: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(530)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32421. 582: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(531)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32422. 583: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(532)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32423. 584: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(533)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32424. 585: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(534)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32425. 586: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(535)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32426. 587: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(536)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32427. 588: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(537)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32428. 589: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(538)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32429. 590: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(539)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32430. 591: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(540)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32431. 592: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(541)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32432. 593: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(542)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32433. 594: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(543)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32434. 595: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(544)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32435. 596: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(545)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32436. 597: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(546)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32437. 598: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(547)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32438. 599: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(548)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32439. 600: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(549)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32440. 601: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(550)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32441. 602: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(551)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32442. 603: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(552)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32443. 604: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(553)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32444. 605: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(554)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32445. 606: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(555)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32446. 607: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(556)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32447. 608: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(557)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32448. 609: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(558)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32449. 610: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(559)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32450. 611: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(560)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32451. 612: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(561)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32452. 613: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(562)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32453. 614: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(563)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32454. 615: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(564)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32455. 616: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(565)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32456. 617: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(566)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32457. 618: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(567)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32458. 619: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(568)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32459. 620: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(569)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32460. 621: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(570)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32461. 622: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(571)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32462. 623: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(572)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32463. 624: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(573)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32464. 625: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(574)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32465. 626: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(575)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32466. 627: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(576)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32467. 628: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(577)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32468. 629: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(578)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32469. 630: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(579)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32470. 631: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(580)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32471. 632: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(581)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32472. 633: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(582)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32473. 634: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(583)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32474. 635: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(584)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32475. 636: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(585)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32476. 637: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(586)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32477. 638: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(587)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32478. 639: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(588)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32479. 640: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(589)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32480. 641: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(590)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32481. 642: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(591)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32482. 643: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(592)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32483. 644: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(593)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32484. 645: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(594)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32485. 646: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(595)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32486. 647: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(596)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32487. 648: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(597)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32488. 649: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(598)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32489. 650: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(599)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32490. 651: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(600)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32491. 652: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(601)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32492. 653: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(602)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32493. 654: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(603)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32494. 655: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(604)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32495. 656: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32496. 657: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(605)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32497. 658: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(606)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32498. 659: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32499. 660: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(607)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32500. 661: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(608)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32501. 662: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(609)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32502. 663: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(610)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32503. 664: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(611)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32504. 665: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(612)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32505. 666: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(613)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32506. 667: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(3)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32507. 668: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(614)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32508. 669: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(615)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32509. 670: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(616)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32510. 671: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(617)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32511. 672: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(618)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32512. 673: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(619)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32513. 674: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(604)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32514. 675: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(620)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32515. 676: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(621)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32516. 677: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(622)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32517. 678: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(623)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32518. 679: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(624)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32519. 680: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(625)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32520. 681: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(626)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32521. 682: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(627)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32522. 683: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(628)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32523. 684: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(629)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32524. 685: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(630)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32525. 686: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(631)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32526. 687: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(632)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32527. 688: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(633)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32528. 689: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(634)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32529. 690: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(635)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32530. 691: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(636)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32531. 692: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(637)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32532. 693: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(638)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32533. 694: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(639)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32534. 695: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(640)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32535. 696: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(641)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32536. 697: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(642)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32537. 698: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(643)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32538. 699: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(644)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32539. 700: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(645)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32540. 701: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(646)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32541. 702: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(647)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32542. 703: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(648)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32543. 704: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(649)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32544. 705: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(650)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32545. 706: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(651)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32546. 707: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(652)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32547. 708: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(653)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32548. 709: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(654)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32549. 710: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(655)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32550. 711: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(656)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32551. 712: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(657)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32552. 713: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(658)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32553. 714: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(659)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32554. 715: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(660)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32555. 716: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(661)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32556. 717: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(662)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32557. 718: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(663)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32558. 719: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(664)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32559. 720: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(665)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32560. 721: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(666)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32561. 722: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(667)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32562. 723: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(668)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32563. 724: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(669)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32564. 725: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(670)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32565. 726: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(671)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32566. 727: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(672)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32567. 728: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(673)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32568. 729: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(674)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32569. 730: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(675)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32570. 731: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(676)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32571. 732: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(677)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32572. 733: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(678)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32573. 734: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(679)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32574. 735: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(680)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32575. 736: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(681)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32576. 737: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(682)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32577. 738: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(683)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32578. 739: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(684)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32579. 740: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(685)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32580. 741: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(686)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32581. 742: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(687)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32582. 743: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(688)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32583. 744: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(689)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32584. 745: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(690)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32585. 746: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(691)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32586. 747: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(692)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32587. 748: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(693)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32588. 749: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(694)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32589. 750: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(695)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32590. 751: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32591. 752: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32592. 753: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(698)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32593. 754: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(699)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32594. 755: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(700)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32595. 756: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(701)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32596. 757: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(702)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32597. 758: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(703)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32598. 759: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(704)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32599. 760: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(705)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32600. 761: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(706)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32601. 762: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(707)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32602. 763: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(708)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32603. 764: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(709)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32604. 765: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(710)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32605. 766: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(711)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32606. 767: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(712)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32607. 768: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(713)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32608. 769: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(714)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32609. 770: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(715)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32610. 771: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(716)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32611. 772: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(717)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32612. 773: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(718)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32613. 774: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(719)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32614. 775: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(720)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32615. 776: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(721)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32616. 777: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(722)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32617. 778: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(723)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32618. 779: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(724)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32619. },
  32620. Fnumbers: [780]TFcChar16{
  32621. 1: uint16(0x0004),
  32622. 3: uint16(0x0001),
  32623. 5: uint16(0x0001),
  32624. 6: uint16(0x0002),
  32625. 7: uint16(0x0003),
  32626. 8: uint16(0x001e),
  32627. 9: uint16(0x0012),
  32628. 10: uint16(0x0013),
  32629. 12: uint16(0x0006),
  32630. 13: uint16(0x0009),
  32631. 15: uint16(0x001e),
  32632. 16: uint16(0x0004),
  32633. 19: uint16(0x0001),
  32634. 20: uint16(0x0002),
  32635. 21: uint16(0x0006),
  32636. 22: uint16(0x0004),
  32637. 23: uint16(0x0004),
  32638. 25: uint16(0x0001),
  32639. 26: uint16(0x0002),
  32640. 27: uint16(0x001e),
  32641. 28: uint16(0x002d),
  32642. 29: uint16(0x0004),
  32643. 30: uint16(0x0009),
  32644. 33: uint16(0x0003),
  32645. 34: uint16(0x001e),
  32646. 36: uint16(0x0001),
  32647. 37: uint16(0x0002),
  32648. 38: uint16(0x0009),
  32649. 39: uint16(0x000f),
  32650. 41: uint16(0x0009),
  32651. 43: uint16(0x0001),
  32652. 44: uint16(0x0004),
  32653. 45: uint16(0x0012),
  32654. 46: uint16(0x0013),
  32655. 48: uint16(0x0001),
  32656. 50: uint16(0x0004),
  32657. 51: uint16(0x0013),
  32658. 53: uint16(0x0001),
  32659. 55: uint16(0x0001),
  32660. 57: uint16(0x0001),
  32661. 59: uint16(0x0001),
  32662. 60: uint16(0x0004),
  32663. 61: uint16(0x0001),
  32664. 62: uint16(0x0004),
  32665. 64: uint16(0x0001),
  32666. 65: uint16(0x001e),
  32667. 68: uint16(0x0009),
  32668. 69: uint16(0x0007),
  32669. 71: uint16(0x0001),
  32670. 72: uint16(0x0002),
  32671. 73: uint16(0x0003),
  32672. 74: uint16(0x0003),
  32673. 77: uint16(0x0001),
  32674. 79: uint16(0x0001),
  32675. 82: uint16(0x0001),
  32676. 83: uint16(0x0002),
  32677. 85: uint16(0x0001),
  32678. 92: uint16(0x0001),
  32679. 93: uint16(0x001e),
  32680. 95: uint16(0x0012),
  32681. 96: uint16(0x0013),
  32682. 98: uint16(0x0001),
  32683. 99: uint16(0x001e),
  32684. 100: uint16(0x000a),
  32685. 103: uint16(0x0001),
  32686. 104: uint16(0x0002),
  32687. 106: uint16(0x0001),
  32688. 107: uint16(0x0002),
  32689. 108: uint16(0x0005),
  32690. 110: uint16(0x0001),
  32691. 113: uint16(0x0001),
  32692. 114: uint16(0x0005),
  32693. 116: uint16(0x0003),
  32694. 117: uint16(0x001e),
  32695. 121: uint16(0x001e),
  32696. 122: uint16(0x00a0),
  32697. 123: uint16(0x00a1),
  32698. 124: uint16(0x00a2),
  32699. 125: uint16(0x00a3),
  32700. 126: uint16(0x00a4),
  32701. 127: uint16(0x0004),
  32702. 130: uint16(0x0014),
  32703. 131: uint16(0x0015),
  32704. 132: uint16(0x0016),
  32705. 133: uint16(0x0030),
  32706. 134: uint16(0x004e),
  32707. 135: uint16(0x004f),
  32708. 136: uint16(0x0050),
  32709. 137: uint16(0x0051),
  32710. 138: uint16(0x0052),
  32711. 139: uint16(0x0053),
  32712. 140: uint16(0x0054),
  32713. 141: uint16(0x0055),
  32714. 142: uint16(0x0056),
  32715. 143: uint16(0x0057),
  32716. 144: uint16(0x0058),
  32717. 145: uint16(0x0059),
  32718. 146: uint16(0x005a),
  32719. 147: uint16(0x005b),
  32720. 148: uint16(0x005c),
  32721. 149: uint16(0x005d),
  32722. 150: uint16(0x005e),
  32723. 151: uint16(0x005f),
  32724. 152: uint16(0x0060),
  32725. 153: uint16(0x0061),
  32726. 154: uint16(0x0062),
  32727. 155: uint16(0x0063),
  32728. 156: uint16(0x0064),
  32729. 157: uint16(0x0065),
  32730. 158: uint16(0x0066),
  32731. 159: uint16(0x0067),
  32732. 160: uint16(0x0068),
  32733. 161: uint16(0x0069),
  32734. 162: uint16(0x006a),
  32735. 163: uint16(0x006b),
  32736. 164: uint16(0x006c),
  32737. 165: uint16(0x006d),
  32738. 166: uint16(0x006e),
  32739. 167: uint16(0x006f),
  32740. 168: uint16(0x0070),
  32741. 169: uint16(0x0071),
  32742. 170: uint16(0x0072),
  32743. 171: uint16(0x0073),
  32744. 172: uint16(0x0074),
  32745. 173: uint16(0x0075),
  32746. 174: uint16(0x0076),
  32747. 175: uint16(0x0077),
  32748. 176: uint16(0x0078),
  32749. 177: uint16(0x0079),
  32750. 178: uint16(0x007a),
  32751. 179: uint16(0x007b),
  32752. 180: uint16(0x007c),
  32753. 181: uint16(0x007d),
  32754. 182: uint16(0x007e),
  32755. 183: uint16(0x007f),
  32756. 184: uint16(0x0080),
  32757. 185: uint16(0x0081),
  32758. 186: uint16(0x0082),
  32759. 187: uint16(0x0083),
  32760. 188: uint16(0x0084),
  32761. 189: uint16(0x0085),
  32762. 190: uint16(0x0086),
  32763. 191: uint16(0x0087),
  32764. 192: uint16(0x0088),
  32765. 193: uint16(0x0089),
  32766. 194: uint16(0x008a),
  32767. 195: uint16(0x008b),
  32768. 196: uint16(0x008c),
  32769. 197: uint16(0x008d),
  32770. 198: uint16(0x008e),
  32771. 199: uint16(0x008f),
  32772. 200: uint16(0x0090),
  32773. 201: uint16(0x0091),
  32774. 202: uint16(0x0092),
  32775. 203: uint16(0x0093),
  32776. 204: uint16(0x0094),
  32777. 205: uint16(0x0095),
  32778. 206: uint16(0x0096),
  32779. 207: uint16(0x0097),
  32780. 208: uint16(0x0098),
  32781. 209: uint16(0x0099),
  32782. 210: uint16(0x009a),
  32783. 211: uint16(0x009b),
  32784. 212: uint16(0x009c),
  32785. 213: uint16(0x009d),
  32786. 214: uint16(0x009e),
  32787. 215: uint16(0x009f),
  32788. 217: uint16(0x0010),
  32789. 218: uint16(0x0004),
  32790. 220: uint16(0x0001),
  32791. 221: uint16(0x0004),
  32792. 223: uint16(0x0001),
  32793. 224: uint16(0x0017),
  32794. 225: uint16(0x000c),
  32795. 226: uint16(0x0031),
  32796. 227: uint16(0x00ac),
  32797. 228: uint16(0x00ad),
  32798. 229: uint16(0x00ae),
  32799. 230: uint16(0x00af),
  32800. 231: uint16(0x00b0),
  32801. 232: uint16(0x00b1),
  32802. 233: uint16(0x00b2),
  32803. 234: uint16(0x00b3),
  32804. 235: uint16(0x00b4),
  32805. 236: uint16(0x00b5),
  32806. 237: uint16(0x00b6),
  32807. 238: uint16(0x00b7),
  32808. 239: uint16(0x00b8),
  32809. 240: uint16(0x00b9),
  32810. 241: uint16(0x00ba),
  32811. 242: uint16(0x00bb),
  32812. 243: uint16(0x00bc),
  32813. 244: uint16(0x00bd),
  32814. 245: uint16(0x00be),
  32815. 246: uint16(0x00bf),
  32816. 247: uint16(0x00c0),
  32817. 248: uint16(0x00c1),
  32818. 249: uint16(0x00c2),
  32819. 250: uint16(0x00c3),
  32820. 251: uint16(0x00c4),
  32821. 252: uint16(0x00c5),
  32822. 253: uint16(0x00c6),
  32823. 254: uint16(0x00c7),
  32824. 255: uint16(0x00c8),
  32825. 256: uint16(0x00c9),
  32826. 257: uint16(0x00ca),
  32827. 258: uint16(0x00cb),
  32828. 259: uint16(0x00cc),
  32829. 260: uint16(0x00cd),
  32830. 261: uint16(0x00ce),
  32831. 262: uint16(0x00cf),
  32832. 263: uint16(0x00d0),
  32833. 264: uint16(0x00d1),
  32834. 265: uint16(0x00d2),
  32835. 266: uint16(0x00d3),
  32836. 267: uint16(0x00d4),
  32837. 268: uint16(0x00d5),
  32838. 269: uint16(0x00d6),
  32839. 270: uint16(0x00d7),
  32840. 272: uint16(0x0001),
  32841. 273: uint16(0x0002),
  32842. 274: uint16(0x0006),
  32843. 275: uint16(0x0004),
  32844. 276: uint16(0x0005),
  32845. 277: uint16(0x0006),
  32846. 279: uint16(0x0001),
  32847. 280: uint16(0x0004),
  32848. 281: uint16(0x0004),
  32849. 283: uint16(0x0001),
  32850. 284: uint16(0x0002),
  32851. 285: uint16(0x0004),
  32852. 287: uint16(0x0001),
  32853. 288: uint16(0x0006),
  32854. 291: uint16(0x0001),
  32855. 294: uint16(0x0001),
  32856. 295: uint16(0x0002),
  32857. 296: uint16(0x0003),
  32858. 297: uint16(0x000e),
  32859. 299: uint16(0x0001),
  32860. 301: uint16(0x0001),
  32861. 304: uint16(0x0001),
  32862. 306: uint16(0x0001),
  32863. 307: uint16(0x001e),
  32864. 308: uint16(0x0004),
  32865. 309: uint16(0x000d),
  32866. 310: uint16(0x0018),
  32867. 311: uint16(0x0004),
  32868. 312: uint16(0x0009),
  32869. 314: uint16(0x0001),
  32870. 315: uint16(0x0002),
  32871. 316: uint16(0x0004),
  32872. 318: uint16(0x0001),
  32873. 319: uint16(0x0010),
  32874. 321: uint16(0x0001),
  32875. 323: uint16(0x0009),
  32876. 326: uint16(0x0007),
  32877. 328: uint16(0x0001),
  32878. 330: uint16(0x0001),
  32879. 331: uint16(0x0002),
  32880. 332: uint16(0x0003),
  32881. 334: uint16(0x0001),
  32882. 336: uint16(0x000b),
  32883. 337: uint16(0x0006),
  32884. 338: uint16(0x000a),
  32885. 342: uint16(0x0001),
  32886. 343: uint16(0x0006),
  32887. 344: uint16(0x0006),
  32888. 347: uint16(0x0002),
  32889. 350: uint16(0x0001),
  32890. 351: uint16(0x0002),
  32891. 352: uint16(0x0004),
  32892. 353: uint16(0x0009),
  32893. 356: uint16(0x0001),
  32894. 357: uint16(0x0002),
  32895. 358: uint16(0x0006),
  32896. 360: uint16(0x0001),
  32897. 363: uint16(0x0001),
  32898. 364: uint16(0x0004),
  32899. 366: uint16(0x0003),
  32900. 367: uint16(0x000d),
  32901. 368: uint16(0x0012),
  32902. 369: uint16(0x0013),
  32903. 371: uint16(0x0001),
  32904. 373: uint16(0x0002),
  32905. 377: uint16(0x0001),
  32906. 379: uint16(0x0001),
  32907. 380: uint16(0x0002),
  32908. 382: uint16(0x0004),
  32909. 384: uint16(0x0007),
  32910. 385: uint16(0x000b),
  32911. 386: uint16(0x000c),
  32912. 387: uint16(0x0004),
  32913. 388: uint16(0x000e),
  32914. 389: uint16(0x0012),
  32915. 390: uint16(0x0013),
  32916. 392: uint16(0x0001),
  32917. 394: uint16(0x0001),
  32918. 395: uint16(0x0004),
  32919. 397: uint16(0x0001),
  32920. 398: uint16(0x0002),
  32921. 399: uint16(0x0006),
  32922. 400: uint16(0x0004),
  32923. 402: uint16(0x0001),
  32924. 403: uint16(0x0003),
  32925. 404: uint16(0x0020),
  32926. 405: uint16(0x0021),
  32927. 406: uint16(0x0022),
  32928. 407: uint16(0x0023),
  32929. 408: uint16(0x0025),
  32930. 409: uint16(0x0027),
  32931. 410: uint16(0x01d4),
  32932. 411: uint16(0x01d5),
  32933. 412: uint16(0x01d6),
  32934. 413: uint16(0x0023),
  32935. 414: uint16(0x0025),
  32936. 415: uint16(0x0026),
  32937. 416: uint16(0x0027),
  32938. 417: uint16(0x002b),
  32939. 418: uint16(0x01f0),
  32940. 419: uint16(0x01f1),
  32941. 420: uint16(0x01f2),
  32942. 421: uint16(0x01f3),
  32943. 422: uint16(0x01f4),
  32944. 423: uint16(0x01f5),
  32945. 424: uint16(0x01f6),
  32946. 426: uint16(0x001e),
  32947. 428: uint16(0x0001),
  32948. 429: uint16(0x0003),
  32949. 430: uint16(0x001e),
  32950. 433: uint16(0x0001),
  32951. 436: uint16(0x0001),
  32952. 438: uint16(0x0001),
  32953. 441: uint16(0x0001),
  32954. 442: uint16(0x0003),
  32955. 443: uint16(0x001e),
  32956. 444: uint16(0x0002),
  32957. 445: uint16(0x004e),
  32958. 446: uint16(0x004f),
  32959. 447: uint16(0x0050),
  32960. 448: uint16(0x0051),
  32961. 449: uint16(0x0052),
  32962. 450: uint16(0x0053),
  32963. 451: uint16(0x0054),
  32964. 452: uint16(0x0055),
  32965. 453: uint16(0x0056),
  32966. 454: uint16(0x0057),
  32967. 455: uint16(0x0058),
  32968. 456: uint16(0x0059),
  32969. 457: uint16(0x005a),
  32970. 458: uint16(0x005b),
  32971. 459: uint16(0x005c),
  32972. 460: uint16(0x005d),
  32973. 461: uint16(0x005e),
  32974. 462: uint16(0x005f),
  32975. 463: uint16(0x0060),
  32976. 464: uint16(0x0061),
  32977. 465: uint16(0x0062),
  32978. 466: uint16(0x0063),
  32979. 467: uint16(0x0064),
  32980. 468: uint16(0x0065),
  32981. 469: uint16(0x0066),
  32982. 470: uint16(0x0067),
  32983. 471: uint16(0x0068),
  32984. 472: uint16(0x0069),
  32985. 473: uint16(0x006a),
  32986. 474: uint16(0x006b),
  32987. 475: uint16(0x006c),
  32988. 476: uint16(0x006d),
  32989. 477: uint16(0x006e),
  32990. 478: uint16(0x006f),
  32991. 479: uint16(0x0070),
  32992. 480: uint16(0x0071),
  32993. 481: uint16(0x0072),
  32994. 482: uint16(0x0073),
  32995. 483: uint16(0x0074),
  32996. 484: uint16(0x0075),
  32997. 485: uint16(0x0076),
  32998. 486: uint16(0x0077),
  32999. 487: uint16(0x0078),
  33000. 488: uint16(0x0079),
  33001. 489: uint16(0x007a),
  33002. 490: uint16(0x007b),
  33003. 491: uint16(0x007c),
  33004. 492: uint16(0x007d),
  33005. 493: uint16(0x007e),
  33006. 494: uint16(0x007f),
  33007. 495: uint16(0x0080),
  33008. 496: uint16(0x0081),
  33009. 497: uint16(0x0082),
  33010. 498: uint16(0x0083),
  33011. 499: uint16(0x0084),
  33012. 500: uint16(0x0085),
  33013. 501: uint16(0x0086),
  33014. 502: uint16(0x0087),
  33015. 503: uint16(0x0088),
  33016. 504: uint16(0x0089),
  33017. 505: uint16(0x008a),
  33018. 506: uint16(0x008b),
  33019. 507: uint16(0x008c),
  33020. 508: uint16(0x008d),
  33021. 509: uint16(0x008e),
  33022. 510: uint16(0x008f),
  33023. 511: uint16(0x0090),
  33024. 512: uint16(0x0091),
  33025. 513: uint16(0x0092),
  33026. 514: uint16(0x0093),
  33027. 515: uint16(0x0094),
  33028. 516: uint16(0x0095),
  33029. 517: uint16(0x0096),
  33030. 518: uint16(0x0097),
  33031. 519: uint16(0x0098),
  33032. 520: uint16(0x0099),
  33033. 521: uint16(0x009a),
  33034. 522: uint16(0x009b),
  33035. 523: uint16(0x009c),
  33036. 524: uint16(0x009e),
  33037. 525: uint16(0x009f),
  33038. 526: uint16(0x0030),
  33039. 527: uint16(0x0034),
  33040. 528: uint16(0x0035),
  33041. 529: uint16(0x0036),
  33042. 530: uint16(0x0037),
  33043. 531: uint16(0x0038),
  33044. 532: uint16(0x0039),
  33045. 533: uint16(0x003a),
  33046. 534: uint16(0x003b),
  33047. 535: uint16(0x003c),
  33048. 536: uint16(0x003d),
  33049. 537: uint16(0x003e),
  33050. 538: uint16(0x003f),
  33051. 539: uint16(0x0040),
  33052. 540: uint16(0x0041),
  33053. 541: uint16(0x0042),
  33054. 542: uint16(0x0043),
  33055. 543: uint16(0x0044),
  33056. 544: uint16(0x0045),
  33057. 545: uint16(0x0046),
  33058. 546: uint16(0x0047),
  33059. 547: uint16(0x0048),
  33060. 548: uint16(0x0049),
  33061. 549: uint16(0x004a),
  33062. 550: uint16(0x004b),
  33063. 551: uint16(0x004c),
  33064. 552: uint16(0x004d),
  33065. 553: uint16(0x004e),
  33066. 554: uint16(0x004f),
  33067. 555: uint16(0x0050),
  33068. 556: uint16(0x0051),
  33069. 557: uint16(0x0052),
  33070. 558: uint16(0x0053),
  33071. 559: uint16(0x0054),
  33072. 560: uint16(0x0055),
  33073. 561: uint16(0x0056),
  33074. 562: uint16(0x0057),
  33075. 563: uint16(0x0058),
  33076. 564: uint16(0x0059),
  33077. 565: uint16(0x005a),
  33078. 566: uint16(0x005b),
  33079. 567: uint16(0x005c),
  33080. 568: uint16(0x005d),
  33081. 569: uint16(0x005e),
  33082. 570: uint16(0x005f),
  33083. 571: uint16(0x0060),
  33084. 572: uint16(0x0061),
  33085. 573: uint16(0x0062),
  33086. 574: uint16(0x0063),
  33087. 575: uint16(0x0064),
  33088. 576: uint16(0x0065),
  33089. 577: uint16(0x0066),
  33090. 578: uint16(0x0067),
  33091. 579: uint16(0x0068),
  33092. 580: uint16(0x0069),
  33093. 581: uint16(0x006a),
  33094. 582: uint16(0x006b),
  33095. 583: uint16(0x006c),
  33096. 584: uint16(0x006d),
  33097. 585: uint16(0x006e),
  33098. 586: uint16(0x006f),
  33099. 587: uint16(0x0070),
  33100. 588: uint16(0x0071),
  33101. 589: uint16(0x0072),
  33102. 590: uint16(0x0073),
  33103. 591: uint16(0x0074),
  33104. 592: uint16(0x0075),
  33105. 593: uint16(0x0076),
  33106. 594: uint16(0x0077),
  33107. 595: uint16(0x0078),
  33108. 596: uint16(0x0079),
  33109. 597: uint16(0x007a),
  33110. 598: uint16(0x007b),
  33111. 599: uint16(0x007c),
  33112. 600: uint16(0x007d),
  33113. 601: uint16(0x007e),
  33114. 602: uint16(0x007f),
  33115. 603: uint16(0x0080),
  33116. 604: uint16(0x0081),
  33117. 605: uint16(0x0082),
  33118. 606: uint16(0x0083),
  33119. 607: uint16(0x0084),
  33120. 608: uint16(0x0085),
  33121. 609: uint16(0x0086),
  33122. 610: uint16(0x0087),
  33123. 611: uint16(0x0088),
  33124. 612: uint16(0x0089),
  33125. 613: uint16(0x008a),
  33126. 614: uint16(0x008b),
  33127. 615: uint16(0x008c),
  33128. 616: uint16(0x008d),
  33129. 617: uint16(0x008e),
  33130. 618: uint16(0x008f),
  33131. 619: uint16(0x0090),
  33132. 620: uint16(0x0091),
  33133. 621: uint16(0x0092),
  33134. 622: uint16(0x0093),
  33135. 623: uint16(0x0094),
  33136. 624: uint16(0x0095),
  33137. 625: uint16(0x0096),
  33138. 626: uint16(0x0097),
  33139. 627: uint16(0x0098),
  33140. 628: uint16(0x0099),
  33141. 629: uint16(0x009a),
  33142. 630: uint16(0x009b),
  33143. 631: uint16(0x009c),
  33144. 632: uint16(0x009d),
  33145. 633: uint16(0x009e),
  33146. 634: uint16(0x009f),
  33147. 635: uint16(0x0200),
  33148. 636: uint16(0x0201),
  33149. 637: uint16(0x0203),
  33150. 638: uint16(0x0207),
  33151. 639: uint16(0x020c),
  33152. 640: uint16(0x020d),
  33153. 641: uint16(0x020e),
  33154. 642: uint16(0x020f),
  33155. 643: uint16(0x0210),
  33156. 644: uint16(0x0211),
  33157. 645: uint16(0x0219),
  33158. 646: uint16(0x021a),
  33159. 647: uint16(0x021c),
  33160. 648: uint16(0x021d),
  33161. 649: uint16(0x0220),
  33162. 650: uint16(0x0221),
  33163. 651: uint16(0x022a),
  33164. 652: uint16(0x022b),
  33165. 653: uint16(0x022c),
  33166. 654: uint16(0x022d),
  33167. 655: uint16(0x022f),
  33168. 656: uint16(0x0232),
  33169. 657: uint16(0x0235),
  33170. 658: uint16(0x0236),
  33171. 659: uint16(0x023c),
  33172. 660: uint16(0x023e),
  33173. 661: uint16(0x023f),
  33174. 662: uint16(0x0244),
  33175. 663: uint16(0x024d),
  33176. 664: uint16(0x024e),
  33177. 665: uint16(0x0251),
  33178. 666: uint16(0x0255),
  33179. 667: uint16(0x025e),
  33180. 668: uint16(0x0262),
  33181. 669: uint16(0x0266),
  33182. 670: uint16(0x0267),
  33183. 671: uint16(0x0268),
  33184. 672: uint16(0x0269),
  33185. 673: uint16(0x0272),
  33186. 674: uint16(0x0275),
  33187. 675: uint16(0x0276),
  33188. 676: uint16(0x0277),
  33189. 677: uint16(0x0278),
  33190. 678: uint16(0x0279),
  33191. 679: uint16(0x027a),
  33192. 680: uint16(0x027d),
  33193. 681: uint16(0x0280),
  33194. 682: uint16(0x0281),
  33195. 683: uint16(0x0282),
  33196. 684: uint16(0x0283),
  33197. 685: uint16(0x0289),
  33198. 686: uint16(0x028a),
  33199. 687: uint16(0x028b),
  33200. 688: uint16(0x028c),
  33201. 689: uint16(0x028d),
  33202. 690: uint16(0x028e),
  33203. 691: uint16(0x0294),
  33204. 692: uint16(0x0297),
  33205. 693: uint16(0x0298),
  33206. 694: uint16(0x029a),
  33207. 695: uint16(0x029d),
  33208. 696: uint16(0x02a6),
  33209. 697: uint16(0x004e),
  33210. 698: uint16(0x004f),
  33211. 699: uint16(0x0050),
  33212. 700: uint16(0x0051),
  33213. 701: uint16(0x0052),
  33214. 702: uint16(0x0053),
  33215. 703: uint16(0x0054),
  33216. 704: uint16(0x0055),
  33217. 705: uint16(0x0056),
  33218. 706: uint16(0x0057),
  33219. 707: uint16(0x0058),
  33220. 708: uint16(0x0059),
  33221. 709: uint16(0x005a),
  33222. 710: uint16(0x005b),
  33223. 711: uint16(0x005c),
  33224. 712: uint16(0x005d),
  33225. 713: uint16(0x005e),
  33226. 714: uint16(0x005f),
  33227. 715: uint16(0x0060),
  33228. 716: uint16(0x0061),
  33229. 717: uint16(0x0062),
  33230. 718: uint16(0x0063),
  33231. 719: uint16(0x0064),
  33232. 720: uint16(0x0065),
  33233. 721: uint16(0x0066),
  33234. 722: uint16(0x0067),
  33235. 723: uint16(0x0068),
  33236. 724: uint16(0x0069),
  33237. 725: uint16(0x006a),
  33238. 726: uint16(0x006b),
  33239. 727: uint16(0x006c),
  33240. 728: uint16(0x006d),
  33241. 729: uint16(0x006e),
  33242. 730: uint16(0x006f),
  33243. 731: uint16(0x0070),
  33244. 732: uint16(0x0071),
  33245. 733: uint16(0x0072),
  33246. 734: uint16(0x0073),
  33247. 735: uint16(0x0074),
  33248. 736: uint16(0x0075),
  33249. 737: uint16(0x0076),
  33250. 738: uint16(0x0077),
  33251. 739: uint16(0x0078),
  33252. 740: uint16(0x0079),
  33253. 741: uint16(0x007a),
  33254. 742: uint16(0x007b),
  33255. 743: uint16(0x007c),
  33256. 744: uint16(0x007d),
  33257. 745: uint16(0x007e),
  33258. 746: uint16(0x007f),
  33259. 747: uint16(0x0080),
  33260. 748: uint16(0x0081),
  33261. 749: uint16(0x0082),
  33262. 750: uint16(0x0083),
  33263. 751: uint16(0x0084),
  33264. 752: uint16(0x0085),
  33265. 753: uint16(0x0086),
  33266. 754: uint16(0x0087),
  33267. 755: uint16(0x0088),
  33268. 756: uint16(0x0089),
  33269. 757: uint16(0x008a),
  33270. 758: uint16(0x008b),
  33271. 759: uint16(0x008c),
  33272. 760: uint16(0x008d),
  33273. 761: uint16(0x008e),
  33274. 762: uint16(0x008f),
  33275. 763: uint16(0x0090),
  33276. 764: uint16(0x0091),
  33277. 765: uint16(0x0092),
  33278. 766: uint16(0x0093),
  33279. 767: uint16(0x0094),
  33280. 768: uint16(0x0095),
  33281. 769: uint16(0x0096),
  33282. 770: uint16(0x0097),
  33283. 771: uint16(0x0098),
  33284. 772: uint16(0x0099),
  33285. 773: uint16(0x009a),
  33286. 774: uint16(0x009b),
  33287. 775: uint16(0x009c),
  33288. 776: uint16(0x009d),
  33289. 777: uint16(0x009e),
  33290. 778: uint16(0x009f),
  33291. 779: uint16(0x00fa),
  33292. },
  33293. FlangIndices: [246]TFcChar8{
  33294. 1: uint8(1),
  33295. 2: uint8(2),
  33296. 3: uint8(190),
  33297. 4: uint8(3),
  33298. 5: uint8(191),
  33299. 6: uint8(4),
  33300. 7: uint8(5),
  33301. 8: uint8(6),
  33302. 9: uint8(7),
  33303. 10: uint8(8),
  33304. 11: uint8(9),
  33305. 12: uint8(10),
  33306. 13: uint8(11),
  33307. 14: uint8(13),
  33308. 15: uint8(192),
  33309. 16: uint8(193),
  33310. 17: uint8(14),
  33311. 18: uint8(15),
  33312. 19: uint8(16),
  33313. 20: uint8(17),
  33314. 21: uint8(18),
  33315. 22: uint8(12),
  33316. 23: uint8(19),
  33317. 24: uint8(20),
  33318. 25: uint8(21),
  33319. 26: uint8(240),
  33320. 27: uint8(22),
  33321. 28: uint8(23),
  33322. 29: uint8(194),
  33323. 30: uint8(24),
  33324. 31: uint8(25),
  33325. 32: uint8(26),
  33326. 33: uint8(27),
  33327. 34: uint8(28),
  33328. 35: uint8(29),
  33329. 36: uint8(195),
  33330. 37: uint8(30),
  33331. 38: uint8(196),
  33332. 39: uint8(31),
  33333. 40: uint8(32),
  33334. 41: uint8(33),
  33335. 42: uint8(34),
  33336. 43: uint8(35),
  33337. 44: uint8(242),
  33338. 45: uint8(197),
  33339. 46: uint8(36),
  33340. 47: uint8(198),
  33341. 48: uint8(37),
  33342. 49: uint8(38),
  33343. 50: uint8(39),
  33344. 51: uint8(40),
  33345. 52: uint8(41),
  33346. 53: uint8(42),
  33347. 54: uint8(43),
  33348. 55: uint8(199),
  33349. 56: uint8(48),
  33350. 57: uint8(44),
  33351. 58: uint8(200),
  33352. 59: uint8(45),
  33353. 60: uint8(46),
  33354. 61: uint8(47),
  33355. 62: uint8(49),
  33356. 63: uint8(50),
  33357. 64: uint8(51),
  33358. 65: uint8(52),
  33359. 66: uint8(53),
  33360. 67: uint8(54),
  33361. 68: uint8(55),
  33362. 69: uint8(56),
  33363. 70: uint8(57),
  33364. 71: uint8(58),
  33365. 72: uint8(59),
  33366. 73: uint8(60),
  33367. 74: uint8(61),
  33368. 75: uint8(201),
  33369. 76: uint8(62),
  33370. 77: uint8(63),
  33371. 78: uint8(202),
  33372. 79: uint8(203),
  33373. 80: uint8(64),
  33374. 81: uint8(65),
  33375. 82: uint8(204),
  33376. 83: uint8(66),
  33377. 84: uint8(68),
  33378. 85: uint8(69),
  33379. 86: uint8(67),
  33380. 87: uint8(205),
  33381. 88: uint8(70),
  33382. 89: uint8(71),
  33383. 90: uint8(72),
  33384. 91: uint8(73),
  33385. 92: uint8(74),
  33386. 93: uint8(75),
  33387. 94: uint8(206),
  33388. 95: uint8(76),
  33389. 96: uint8(77),
  33390. 97: uint8(207),
  33391. 98: uint8(78),
  33392. 99: uint8(208),
  33393. 100: uint8(79),
  33394. 101: uint8(80),
  33395. 102: uint8(81),
  33396. 103: uint8(82),
  33397. 104: uint8(83),
  33398. 105: uint8(84),
  33399. 106: uint8(209),
  33400. 107: uint8(85),
  33401. 108: uint8(86),
  33402. 109: uint8(210),
  33403. 110: uint8(87),
  33404. 111: uint8(211),
  33405. 112: uint8(88),
  33406. 113: uint8(89),
  33407. 114: uint8(90),
  33408. 115: uint8(212),
  33409. 116: uint8(91),
  33410. 117: uint8(92),
  33411. 118: uint8(238),
  33412. 119: uint8(93),
  33413. 120: uint8(94),
  33414. 121: uint8(213),
  33415. 122: uint8(214),
  33416. 123: uint8(95),
  33417. 124: uint8(96),
  33418. 125: uint8(97),
  33419. 126: uint8(98),
  33420. 127: uint8(215),
  33421. 128: uint8(99),
  33422. 129: uint8(100),
  33423. 130: uint8(101),
  33424. 131: uint8(102),
  33425. 132: uint8(103),
  33426. 133: uint8(104),
  33427. 134: uint8(216),
  33428. 135: uint8(243),
  33429. 136: uint8(105),
  33430. 137: uint8(106),
  33431. 138: uint8(217),
  33432. 139: uint8(107),
  33433. 140: uint8(108),
  33434. 141: uint8(218),
  33435. 142: uint8(109),
  33436. 143: uint8(110),
  33437. 144: uint8(111),
  33438. 145: uint8(219),
  33439. 146: uint8(112),
  33440. 147: uint8(113),
  33441. 148: uint8(114),
  33442. 149: uint8(239),
  33443. 150: uint8(115),
  33444. 151: uint8(116),
  33445. 152: uint8(220),
  33446. 153: uint8(117),
  33447. 154: uint8(118),
  33448. 155: uint8(119),
  33449. 156: uint8(120),
  33450. 157: uint8(121),
  33451. 158: uint8(221),
  33452. 159: uint8(122),
  33453. 160: uint8(222),
  33454. 161: uint8(223),
  33455. 162: uint8(224),
  33456. 163: uint8(123),
  33457. 164: uint8(124),
  33458. 165: uint8(125),
  33459. 166: uint8(126),
  33460. 167: uint8(225),
  33461. 168: uint8(226),
  33462. 169: uint8(127),
  33463. 170: uint8(227),
  33464. 171: uint8(128),
  33465. 172: uint8(129),
  33466. 173: uint8(228),
  33467. 174: uint8(130),
  33468. 175: uint8(131),
  33469. 176: uint8(241),
  33470. 177: uint8(229),
  33471. 178: uint8(132),
  33472. 179: uint8(230),
  33473. 180: uint8(133),
  33474. 181: uint8(134),
  33475. 182: uint8(231),
  33476. 183: uint8(135),
  33477. 184: uint8(136),
  33478. 185: uint8(137),
  33479. 186: uint8(232),
  33480. 187: uint8(138),
  33481. 188: uint8(139),
  33482. 189: uint8(140),
  33483. 190: uint8(141),
  33484. 191: uint8(142),
  33485. 192: uint8(143),
  33486. 193: uint8(144),
  33487. 194: uint8(233),
  33488. 195: uint8(145),
  33489. 196: uint8(146),
  33490. 197: uint8(147),
  33491. 198: uint8(148),
  33492. 199: uint8(149),
  33493. 200: uint8(234),
  33494. 201: uint8(150),
  33495. 202: uint8(151),
  33496. 203: uint8(152),
  33497. 204: uint8(153),
  33498. 205: uint8(154),
  33499. 206: uint8(155),
  33500. 207: uint8(156),
  33501. 208: uint8(157),
  33502. 209: uint8(158),
  33503. 210: uint8(159),
  33504. 211: uint8(160),
  33505. 212: uint8(161),
  33506. 213: uint8(162),
  33507. 214: uint8(163),
  33508. 215: uint8(164),
  33509. 216: uint8(165),
  33510. 217: uint8(166),
  33511. 218: uint8(167),
  33512. 219: uint8(235),
  33513. 220: uint8(168),
  33514. 221: uint8(169),
  33515. 222: uint8(170),
  33516. 223: uint8(245),
  33517. 224: uint8(244),
  33518. 225: uint8(171),
  33519. 226: uint8(172),
  33520. 227: uint8(173),
  33521. 228: uint8(174),
  33522. 229: uint8(175),
  33523. 230: uint8(176),
  33524. 231: uint8(177),
  33525. 232: uint8(236),
  33526. 233: uint8(178),
  33527. 234: uint8(179),
  33528. 235: uint8(180),
  33529. 236: uint8(181),
  33530. 237: uint8(182),
  33531. 238: uint8(183),
  33532. 239: uint8(237),
  33533. 240: uint8(184),
  33534. 241: uint8(185),
  33535. 242: uint8(186),
  33536. 243: uint8(187),
  33537. 244: uint8(188),
  33538. 245: uint8(189),
  33539. },
  33540. FlangIndicesInv: [246]TFcChar8{
  33541. 1: uint8(1),
  33542. 2: uint8(2),
  33543. 3: uint8(4),
  33544. 4: uint8(6),
  33545. 5: uint8(7),
  33546. 6: uint8(8),
  33547. 7: uint8(9),
  33548. 8: uint8(10),
  33549. 9: uint8(11),
  33550. 10: uint8(12),
  33551. 11: uint8(13),
  33552. 12: uint8(22),
  33553. 13: uint8(14),
  33554. 14: uint8(17),
  33555. 15: uint8(18),
  33556. 16: uint8(19),
  33557. 17: uint8(20),
  33558. 18: uint8(21),
  33559. 19: uint8(23),
  33560. 20: uint8(24),
  33561. 21: uint8(25),
  33562. 22: uint8(27),
  33563. 23: uint8(28),
  33564. 24: uint8(30),
  33565. 25: uint8(31),
  33566. 26: uint8(32),
  33567. 27: uint8(33),
  33568. 28: uint8(34),
  33569. 29: uint8(35),
  33570. 30: uint8(37),
  33571. 31: uint8(39),
  33572. 32: uint8(40),
  33573. 33: uint8(41),
  33574. 34: uint8(42),
  33575. 35: uint8(43),
  33576. 36: uint8(46),
  33577. 37: uint8(48),
  33578. 38: uint8(49),
  33579. 39: uint8(50),
  33580. 40: uint8(51),
  33581. 41: uint8(52),
  33582. 42: uint8(53),
  33583. 43: uint8(54),
  33584. 44: uint8(57),
  33585. 45: uint8(59),
  33586. 46: uint8(60),
  33587. 47: uint8(61),
  33588. 48: uint8(56),
  33589. 49: uint8(62),
  33590. 50: uint8(63),
  33591. 51: uint8(64),
  33592. 52: uint8(65),
  33593. 53: uint8(66),
  33594. 54: uint8(67),
  33595. 55: uint8(68),
  33596. 56: uint8(69),
  33597. 57: uint8(70),
  33598. 58: uint8(71),
  33599. 59: uint8(72),
  33600. 60: uint8(73),
  33601. 61: uint8(74),
  33602. 62: uint8(76),
  33603. 63: uint8(77),
  33604. 64: uint8(80),
  33605. 65: uint8(81),
  33606. 66: uint8(83),
  33607. 67: uint8(86),
  33608. 68: uint8(84),
  33609. 69: uint8(85),
  33610. 70: uint8(88),
  33611. 71: uint8(89),
  33612. 72: uint8(90),
  33613. 73: uint8(91),
  33614. 74: uint8(92),
  33615. 75: uint8(93),
  33616. 76: uint8(95),
  33617. 77: uint8(96),
  33618. 78: uint8(98),
  33619. 79: uint8(100),
  33620. 80: uint8(101),
  33621. 81: uint8(102),
  33622. 82: uint8(103),
  33623. 83: uint8(104),
  33624. 84: uint8(105),
  33625. 85: uint8(107),
  33626. 86: uint8(108),
  33627. 87: uint8(110),
  33628. 88: uint8(112),
  33629. 89: uint8(113),
  33630. 90: uint8(114),
  33631. 91: uint8(116),
  33632. 92: uint8(117),
  33633. 93: uint8(119),
  33634. 94: uint8(120),
  33635. 95: uint8(123),
  33636. 96: uint8(124),
  33637. 97: uint8(125),
  33638. 98: uint8(126),
  33639. 99: uint8(128),
  33640. 100: uint8(129),
  33641. 101: uint8(130),
  33642. 102: uint8(131),
  33643. 103: uint8(132),
  33644. 104: uint8(133),
  33645. 105: uint8(136),
  33646. 106: uint8(137),
  33647. 107: uint8(139),
  33648. 108: uint8(140),
  33649. 109: uint8(142),
  33650. 110: uint8(143),
  33651. 111: uint8(144),
  33652. 112: uint8(146),
  33653. 113: uint8(147),
  33654. 114: uint8(148),
  33655. 115: uint8(150),
  33656. 116: uint8(151),
  33657. 117: uint8(153),
  33658. 118: uint8(154),
  33659. 119: uint8(155),
  33660. 120: uint8(156),
  33661. 121: uint8(157),
  33662. 122: uint8(159),
  33663. 123: uint8(163),
  33664. 124: uint8(164),
  33665. 125: uint8(165),
  33666. 126: uint8(166),
  33667. 127: uint8(169),
  33668. 128: uint8(171),
  33669. 129: uint8(172),
  33670. 130: uint8(174),
  33671. 131: uint8(175),
  33672. 132: uint8(178),
  33673. 133: uint8(180),
  33674. 134: uint8(181),
  33675. 135: uint8(183),
  33676. 136: uint8(184),
  33677. 137: uint8(185),
  33678. 138: uint8(187),
  33679. 139: uint8(188),
  33680. 140: uint8(189),
  33681. 141: uint8(190),
  33682. 142: uint8(191),
  33683. 143: uint8(192),
  33684. 144: uint8(193),
  33685. 145: uint8(195),
  33686. 146: uint8(196),
  33687. 147: uint8(197),
  33688. 148: uint8(198),
  33689. 149: uint8(199),
  33690. 150: uint8(201),
  33691. 151: uint8(202),
  33692. 152: uint8(203),
  33693. 153: uint8(204),
  33694. 154: uint8(205),
  33695. 155: uint8(206),
  33696. 156: uint8(207),
  33697. 157: uint8(208),
  33698. 158: uint8(209),
  33699. 159: uint8(210),
  33700. 160: uint8(211),
  33701. 161: uint8(212),
  33702. 162: uint8(213),
  33703. 163: uint8(214),
  33704. 164: uint8(215),
  33705. 165: uint8(216),
  33706. 166: uint8(217),
  33707. 167: uint8(218),
  33708. 168: uint8(220),
  33709. 169: uint8(221),
  33710. 170: uint8(222),
  33711. 171: uint8(225),
  33712. 172: uint8(226),
  33713. 173: uint8(227),
  33714. 174: uint8(228),
  33715. 175: uint8(229),
  33716. 176: uint8(230),
  33717. 177: uint8(231),
  33718. 178: uint8(233),
  33719. 179: uint8(234),
  33720. 180: uint8(235),
  33721. 181: uint8(236),
  33722. 182: uint8(237),
  33723. 183: uint8(238),
  33724. 184: uint8(240),
  33725. 185: uint8(241),
  33726. 186: uint8(242),
  33727. 187: uint8(243),
  33728. 188: uint8(244),
  33729. 189: uint8(245),
  33730. 190: uint8(3),
  33731. 191: uint8(5),
  33732. 192: uint8(15),
  33733. 193: uint8(16),
  33734. 194: uint8(29),
  33735. 195: uint8(36),
  33736. 196: uint8(38),
  33737. 197: uint8(45),
  33738. 198: uint8(47),
  33739. 199: uint8(55),
  33740. 200: uint8(58),
  33741. 201: uint8(75),
  33742. 202: uint8(78),
  33743. 203: uint8(79),
  33744. 204: uint8(82),
  33745. 205: uint8(87),
  33746. 206: uint8(94),
  33747. 207: uint8(97),
  33748. 208: uint8(99),
  33749. 209: uint8(106),
  33750. 210: uint8(109),
  33751. 211: uint8(111),
  33752. 212: uint8(115),
  33753. 213: uint8(121),
  33754. 214: uint8(122),
  33755. 215: uint8(127),
  33756. 216: uint8(134),
  33757. 217: uint8(138),
  33758. 218: uint8(141),
  33759. 219: uint8(145),
  33760. 220: uint8(152),
  33761. 221: uint8(158),
  33762. 222: uint8(160),
  33763. 223: uint8(161),
  33764. 224: uint8(162),
  33765. 225: uint8(167),
  33766. 226: uint8(168),
  33767. 227: uint8(170),
  33768. 228: uint8(173),
  33769. 229: uint8(177),
  33770. 230: uint8(179),
  33771. 231: uint8(182),
  33772. 232: uint8(186),
  33773. 233: uint8(194),
  33774. 234: uint8(200),
  33775. 235: uint8(219),
  33776. 236: uint8(232),
  33777. 237: uint8(239),
  33778. 238: uint8(118),
  33779. 239: uint8(149),
  33780. 240: uint8(26),
  33781. 241: uint8(176),
  33782. 242: uint8(44),
  33783. 243: uint8(135),
  33784. 244: uint8(224),
  33785. 245: uint8(223),
  33786. },
  33787. }
  33788. var _fcLangCountrySets = [10][8]TFcChar32{
  33789. 0: {
  33790. 0: uint32(0x00000600),
  33791. },
  33792. 1: {
  33793. 6: uint32(0x00000003),
  33794. },
  33795. 2: {
  33796. 2: uint32(0x00c00000),
  33797. 6: uint32(0x000c0000),
  33798. },
  33799. 3: {
  33800. 3: uint32(0x00000100),
  33801. 6: uint32(0x01000000),
  33802. },
  33803. 4: {
  33804. 6: uint32(0x40000000),
  33805. },
  33806. 5: {
  33807. 6: uint32(0x80000000),
  33808. 7: uint32(0x00000001),
  33809. },
  33810. 6: {
  33811. 3: uint32(0x30000000),
  33812. },
  33813. 7: {
  33814. 4: uint32(0x60000000),
  33815. },
  33816. 8: {
  33817. 7: uint32(0x00300000),
  33818. },
  33819. 9: {
  33820. 5: uint32(0x1f000000),
  33821. },
  33822. }
  33823. var _fcLangCharSetRanges = [26]TFcLangCharSetRange{
  33824. 0: {
  33825. Fend: int32(12),
  33826. },
  33827. 1: {
  33828. Fbegin: int32(13),
  33829. Fend: int32(29),
  33830. },
  33831. 2: {
  33832. Fbegin: int32(30),
  33833. Fend: int32(41),
  33834. },
  33835. 3: {
  33836. Fbegin: int32(42),
  33837. Fend: int32(46),
  33838. },
  33839. 4: {
  33840. Fbegin: int32(47),
  33841. Fend: int32(53),
  33842. },
  33843. 5: {
  33844. Fbegin: int32(54),
  33845. Fend: int32(63),
  33846. },
  33847. 6: {
  33848. Fbegin: int32(64),
  33849. Fend: int32(70),
  33850. },
  33851. 7: {
  33852. Fbegin: int32(71),
  33853. Fend: int32(82),
  33854. },
  33855. 8: {
  33856. Fbegin: int32(83),
  33857. Fend: int32(92),
  33858. },
  33859. 9: {
  33860. Fbegin: int32(93),
  33861. Fend: int32(94),
  33862. },
  33863. 10: {
  33864. Fbegin: int32(95),
  33865. Fend: int32(116),
  33866. },
  33867. 11: {
  33868. Fbegin: int32(117),
  33869. Fend: int32(126),
  33870. },
  33871. 12: {
  33872. Fbegin: int32(127),
  33873. Fend: int32(140),
  33874. },
  33875. 13: {
  33876. Fbegin: int32(141),
  33877. Fend: int32(153),
  33878. },
  33879. 14: {
  33880. Fbegin: int32(154),
  33881. Fend: int32(158),
  33882. },
  33883. 15: {
  33884. Fbegin: int32(159),
  33885. Fend: int32(166),
  33886. },
  33887. 16: {
  33888. Fbegin: int32(167),
  33889. Fend: int32(168),
  33890. },
  33891. 17: {
  33892. Fbegin: int32(169),
  33893. Fend: int32(173),
  33894. },
  33895. 18: {
  33896. Fbegin: int32(174),
  33897. Fend: int32(203),
  33898. },
  33899. 19: {
  33900. Fbegin: int32(204),
  33901. Fend: int32(220),
  33902. },
  33903. 20: {
  33904. Fbegin: int32(221),
  33905. Fend: int32(226),
  33906. },
  33907. 21: {
  33908. Fbegin: int32(227),
  33909. Fend: int32(230),
  33910. },
  33911. 22: {
  33912. Fbegin: int32(231),
  33913. Fend: int32(234),
  33914. },
  33915. 23: {
  33916. Fbegin: int32(235),
  33917. Fend: int32(235),
  33918. },
  33919. 24: {
  33920. Fbegin: int32(236),
  33921. Fend: int32(238),
  33922. },
  33923. 25: {
  33924. Fbegin: int32(239),
  33925. Fend: int32(245),
  33926. },
  33927. }
  33928. func _FcLangSetBitSet(tls *libc.TLS, ls uintptr, id uint32) {
  33929. var bucket uint32
  33930. _ = bucket
  33931. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  33932. bucket = id >> int32(5)
  33933. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  33934. return
  33935. } /* shouldn't happen really */
  33936. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) |= libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f))
  33937. }
  33938. func _FcLangSetBitGet(tls *libc.TLS, ls uintptr, id uint32) (r TFcBool) {
  33939. var bucket uint32
  33940. var v1 int32
  33941. _, _ = bucket, v1
  33942. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  33943. bucket = id >> int32(5)
  33944. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  33945. return m_FcFalse
  33946. }
  33947. if *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4))>>(id&libc.Uint32FromInt32(0x1f))&uint32(1) != 0 {
  33948. v1 = int32(m_FcTrue)
  33949. } else {
  33950. v1 = m_FcFalse
  33951. }
  33952. return v1
  33953. }
  33954. func _FcLangSetBitReset(tls *libc.TLS, ls uintptr, id uint32) {
  33955. var bucket uint32
  33956. _ = bucket
  33957. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  33958. bucket = id >> int32(5)
  33959. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  33960. return
  33961. } /* shouldn't happen really */
  33962. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) &= ^(libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f)))
  33963. }
  33964. func XFcFreeTypeLangSet(tls *libc.TLS, charset uintptr, exclusiveLang uintptr) (r uintptr) {
  33965. bp := tls.Alloc(64)
  33966. defer tls.Free(64)
  33967. var exclusiveCharset, ls, missed uintptr
  33968. var i, i1, j, j1 int32
  33969. var missing, ucs4 TFcChar32
  33970. var _ /* map at bp+0 */ [8]TFcChar32
  33971. var _ /* next at bp+32 */ TFcChar32
  33972. _, _, _, _, _, _, _, _, _ = exclusiveCharset, i, i1, j, j1, ls, missed, missing, ucs4
  33973. exclusiveCharset = uintptr(0)
  33974. if exclusiveLang != 0 {
  33975. exclusiveCharset = XFcLangGetCharSet(tls, exclusiveLang)
  33976. }
  33977. ls = XFcLangSetCreate(tls)
  33978. if !(ls != 0) {
  33979. return uintptr(0)
  33980. }
  33981. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33982. libc.Xprintf(tls, __ccgo_ts+5641, 0)
  33983. XFcCharSetPrint(tls, charset)
  33984. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  33985. }
  33986. i = 0
  33987. for {
  33988. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  33989. break
  33990. }
  33991. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33992. libc.Xprintf(tls, __ccgo_ts+5654, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40))
  33993. XFcCharSetPrint(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)
  33994. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  33995. }
  33996. /*
  33997. * Check for Han charsets to make fonts
  33998. * which advertise support for a single language
  33999. * not support other Han languages
  34000. */
  34001. if exclusiveCharset != 0 && XFcFreeTypeIsExclusiveLang(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) != 0 {
  34002. if (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum != (*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fnum {
  34003. goto _1
  34004. }
  34005. j = 0
  34006. for {
  34007. if !(j < (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum) {
  34008. break
  34009. }
  34010. if uintptr(int64(uintptr(Tintptr_t(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)+(*TFcCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(Tintptr_t(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)+(*TFcCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)).Fleaves_offset) + uintptr(j)*8))) != uintptr(int64(uintptr(int64(exclusiveCharset)+(*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(exclusiveCharset)+(*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fleaves_offset) + uintptr(j)*8))) {
  34011. goto _2
  34012. }
  34013. goto _2
  34014. _2:
  34015. ;
  34016. j++
  34017. }
  34018. }
  34019. missing = XFcCharSetSubtractCount(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  34020. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  34021. if missing != 0 && missing < uint32(10) {
  34022. missed = XFcCharSetSubtract(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  34023. libc.Xprintf(tls, __ccgo_ts+5665, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  34024. libc.Xprintf(tls, __ccgo_ts+5674, 0)
  34025. ucs4 = XFcCharSetFirstPage(tls, missed, bp, bp+32)
  34026. for {
  34027. if !(ucs4 != libc.Uint32FromInt32(-libc.Int32FromInt32(1))) {
  34028. break
  34029. }
  34030. i1 = 0
  34031. for {
  34032. if !(i1 < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  34033. break
  34034. }
  34035. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1] != 0 {
  34036. j1 = 0
  34037. for {
  34038. if !(j1 < int32(32)) {
  34039. break
  34040. }
  34041. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1]&(uint32(1)<<j1) != 0 {
  34042. libc.Xprintf(tls, __ccgo_ts+5676, libc.VaList(bp+48, ucs4+libc.Uint32FromInt32(i1*int32(32))+libc.Uint32FromInt32(j1)))
  34043. }
  34044. goto _5
  34045. _5:
  34046. ;
  34047. j1++
  34048. }
  34049. }
  34050. goto _4
  34051. _4:
  34052. ;
  34053. i1++
  34054. }
  34055. goto _3
  34056. _3:
  34057. ;
  34058. ucs4 = XFcCharSetNextPage(tls, missed, bp, bp+32)
  34059. }
  34060. libc.Xprintf(tls, __ccgo_ts+5682, 0)
  34061. XFcCharSetDestroy(tls, missed)
  34062. } else {
  34063. libc.Xprintf(tls, __ccgo_ts+5687, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  34064. }
  34065. }
  34066. if !(missing != 0) {
  34067. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(i))
  34068. }
  34069. goto _1
  34070. _1:
  34071. ;
  34072. i++
  34073. }
  34074. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  34075. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  34076. }
  34077. return ls
  34078. }
  34079. func XFcLangNormalize(tls *libc.TLS, lang uintptr) (r uintptr) {
  34080. bp := tls.Alloc(32)
  34081. defer tls.Free(32)
  34082. var encoding, modifier, orig, result, s, territory uintptr
  34083. var llen, mlen, tlen Tsize_t
  34084. var v1 uint64
  34085. _, _, _, _, _, _, _, _, _, _ = encoding, llen, mlen, modifier, orig, result, s, territory, tlen, v1
  34086. result = libc.UintptrFromInt32(0)
  34087. tlen = uint64(0)
  34088. mlen = uint64(0)
  34089. if !(lang != 0) || !(*(*TFcChar8)(unsafe.Pointer(lang)) != 0) {
  34090. return libc.UintptrFromInt32(0)
  34091. }
  34092. /* might be called without initialization */
  34093. XFcInitDebug(tls)
  34094. if XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5695) == 0 || XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5697) == 0 || XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5705) == 0 || XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5712) == 0 {
  34095. result = XFcStrCopy(tls, __ccgo_ts+2752)
  34096. goto bail
  34097. }
  34098. s = XFcStrCopy(tls, lang)
  34099. if !(s != 0) {
  34100. goto bail
  34101. }
  34102. /* from the comments in glibc:
  34103. *
  34104. * LOCALE can consist of up to four recognized parts for the XPG syntax:
  34105. *
  34106. * language[_territory[.codeset]][@modifier]
  34107. *
  34108. * Beside the first all of them are allowed to be missing. If the
  34109. * full specified locale is not found, the less specific one are
  34110. * looked for. The various part will be stripped off according to
  34111. * the following order:
  34112. * (1) codeset
  34113. * (2) normalized codeset
  34114. * (3) territory
  34115. * (4) modifier
  34116. *
  34117. * So since we don't take care of the codeset part here, what patterns
  34118. * we need to deal with is:
  34119. *
  34120. * 1. language_territory@modifier
  34121. * 2. language@modifier
  34122. * 3. language
  34123. *
  34124. * then. and maybe no need to try language_territory here.
  34125. */
  34126. modifier = libc.Xstrchr(tls, s, int32('@'))
  34127. if modifier != 0 {
  34128. *(*int8)(unsafe.Pointer(modifier)) = 0
  34129. modifier++
  34130. mlen = libc.Xstrlen(tls, modifier)
  34131. }
  34132. encoding = libc.Xstrchr(tls, s, int32('.'))
  34133. if encoding != 0 {
  34134. *(*int8)(unsafe.Pointer(encoding)) = 0
  34135. encoding++
  34136. if modifier != 0 {
  34137. libc.X__builtin___memmove_chk(tls, encoding, modifier, mlen+uint64(1), ^t__predefined_size_t(0))
  34138. modifier = encoding
  34139. }
  34140. }
  34141. territory = libc.Xstrchr(tls, s, int32('_'))
  34142. if !(territory != 0) {
  34143. territory = libc.Xstrchr(tls, s, int32('-'))
  34144. }
  34145. if territory != 0 {
  34146. *(*int8)(unsafe.Pointer(territory)) = 0
  34147. territory++
  34148. tlen = libc.Xstrlen(tls, territory)
  34149. }
  34150. llen = libc.Xstrlen(tls, s)
  34151. if llen < uint64(2) || llen > uint64(3) {
  34152. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5718, libc.VaList(bp+8, lang))
  34153. goto bail0
  34154. }
  34155. if territory != 0 && (tlen < uint64(2) || tlen > uint64(3)) && !(int32(*(*int8)(unsafe.Pointer(territory))) == int32('z') && tlen < uint64(5)) {
  34156. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5777, libc.VaList(bp+8, lang))
  34157. goto bail0
  34158. }
  34159. if territory != 0 {
  34160. *(*int8)(unsafe.Pointer(territory + uintptr(-libc.Int32FromInt32(1)))) = int8('-')
  34161. }
  34162. if modifier != 0 {
  34163. *(*int8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = int8('@')
  34164. }
  34165. orig = XFcStrDowncase(tls, s)
  34166. if !(orig != 0) {
  34167. goto bail0
  34168. }
  34169. if territory != 0 {
  34170. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  34171. libc.Xprintf(tls, __ccgo_ts+5834, libc.VaList(bp+8, s))
  34172. }
  34173. if _FcLangSetIndex(tls, s) < 0 {
  34174. if mlen > uint64(0) {
  34175. v1 = mlen + uint64(1)
  34176. } else {
  34177. v1 = uint64(0)
  34178. }
  34179. libc.X__builtin___memmove_chk(tls, territory-uintptr(1), territory+uintptr(tlen), v1+uint64(1), ^t__predefined_size_t(0))
  34180. if modifier != 0 {
  34181. modifier = territory
  34182. }
  34183. } else {
  34184. result = s
  34185. /* we'll miss the opportunity to reduce the correct size
  34186. * of the allocated memory for the string after that.
  34187. */
  34188. s = libc.UintptrFromInt32(0)
  34189. goto bail1
  34190. }
  34191. }
  34192. if modifier != 0 {
  34193. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  34194. libc.Xprintf(tls, __ccgo_ts+5834, libc.VaList(bp+8, s))
  34195. }
  34196. if _FcLangSetIndex(tls, s) < 0 {
  34197. *(*int8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = 0
  34198. } else {
  34199. result = s
  34200. /* we'll miss the opportunity to reduce the correct size
  34201. * of the allocated memory for the string after that.
  34202. */
  34203. s = libc.UintptrFromInt32(0)
  34204. goto bail1
  34205. }
  34206. }
  34207. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  34208. libc.Xprintf(tls, __ccgo_ts+5834, libc.VaList(bp+8, s))
  34209. }
  34210. if _FcLangSetIndex(tls, s) < 0 {
  34211. /* there seems no languages matched in orth.
  34212. * add the language as is for fallback.
  34213. */
  34214. result = orig
  34215. orig = libc.UintptrFromInt32(0)
  34216. } else {
  34217. result = s
  34218. /* we'll miss the opportunity to reduce the correct size
  34219. * of the allocated memory for the string after that.
  34220. */
  34221. s = libc.UintptrFromInt32(0)
  34222. }
  34223. goto bail1
  34224. bail1:
  34225. ;
  34226. if orig != 0 {
  34227. XFcStrFree(tls, orig)
  34228. }
  34229. goto bail0
  34230. bail0:
  34231. ;
  34232. if s != 0 {
  34233. libc.Xfree(tls, s)
  34234. }
  34235. goto bail
  34236. bail:
  34237. ;
  34238. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  34239. if result != 0 {
  34240. libc.Xprintf(tls, __ccgo_ts+5869, libc.VaList(bp+8, lang, result))
  34241. } else {
  34242. libc.Xprintf(tls, __ccgo_ts+5891, libc.VaList(bp+8, lang))
  34243. }
  34244. }
  34245. return result
  34246. }
  34247. func XFcLangCompare(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcLangResult) {
  34248. var c1, c2 TFcChar8
  34249. var is_und TFcBool
  34250. var result TFcLangResult
  34251. var s1_orig, v7, v8 uintptr
  34252. var v1, v10, v11, v2, v4, v9 int32
  34253. var v3, v5 bool
  34254. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c1, c2, is_und, result, s1_orig, v1, v10, v11, v2, v3, v4, v5, v7, v8, v9
  34255. result = int32(_FcLangDifferentLang)
  34256. s1_orig = s1
  34257. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) <= int32(0132) {
  34258. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) - int32(0101) + int32(0141)
  34259. } else {
  34260. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1)))
  34261. }
  34262. if v3 = v1 == int32('u'); v3 {
  34263. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) <= int32(0132) {
  34264. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) - int32(0101) + int32(0141)
  34265. } else {
  34266. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1)))
  34267. }
  34268. }
  34269. if v5 = v3 && v2 == int32('n'); v5 {
  34270. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) <= int32(0132) {
  34271. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) - int32(0101) + int32(0141)
  34272. } else {
  34273. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2)))
  34274. }
  34275. }
  34276. is_und = libc.BoolInt32(v5 && v4 == int32('d') && (libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 3))) == int32('-') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 3))) == int32('\000')))
  34277. for {
  34278. v7 = s1
  34279. s1++
  34280. c1 = *(*TFcChar8)(unsafe.Pointer(v7))
  34281. v8 = s2
  34282. s2++
  34283. c2 = *(*TFcChar8)(unsafe.Pointer(v8))
  34284. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  34285. v9 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  34286. } else {
  34287. v9 = libc.Int32FromUint8(c1)
  34288. }
  34289. c1 = libc.Uint8FromInt32(v9)
  34290. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  34291. v10 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  34292. } else {
  34293. v10 = libc.Int32FromUint8(c2)
  34294. }
  34295. c2 = libc.Uint8FromInt32(v10)
  34296. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  34297. if !(is_und != 0) && (libc.Int32FromUint8(c1) == int32('-') || libc.Int32FromUint8(c1) == int32('\000')) && (libc.Int32FromUint8(c2) == int32('-') || libc.Int32FromUint8(c2) == int32('\000')) {
  34298. result = int32(_FcLangDifferentTerritory)
  34299. }
  34300. return result
  34301. } else {
  34302. if !(c1 != 0) {
  34303. if is_und != 0 {
  34304. v11 = result
  34305. } else {
  34306. v11 = int32(_FcLangEqual)
  34307. }
  34308. return v11
  34309. } else {
  34310. if libc.Int32FromUint8(c1) == int32('-') {
  34311. if !(is_und != 0) {
  34312. result = int32(_FcLangDifferentTerritory)
  34313. }
  34314. }
  34315. }
  34316. }
  34317. /* If we parsed past "und-", then do not consider it undefined anymore,
  34318. * as there's *something* specified. */
  34319. if is_und != 0 && int64(s1)-int64(s1_orig) == int64(4) {
  34320. is_und = m_FcFalse
  34321. }
  34322. goto _6
  34323. _6:
  34324. }
  34325. return r
  34326. }
  34327. /*
  34328. * Return FcTrue when super contains sub.
  34329. *
  34330. * super contains sub if super and sub have the same
  34331. * language and either the same country or one
  34332. * is missing the country
  34333. */
  34334. func _FcLangContains(tls *libc.TLS, super uintptr, sub uintptr) (r TFcBool) {
  34335. var c1, c2 TFcChar8
  34336. var v2, v3 uintptr
  34337. var v4, v5 int32
  34338. _, _, _, _, _, _ = c1, c2, v2, v3, v4, v5
  34339. for {
  34340. v2 = super
  34341. super++
  34342. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  34343. v3 = sub
  34344. sub++
  34345. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  34346. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  34347. v4 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  34348. } else {
  34349. v4 = libc.Int32FromUint8(c1)
  34350. }
  34351. c1 = libc.Uint8FromInt32(v4)
  34352. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  34353. v5 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  34354. } else {
  34355. v5 = libc.Int32FromUint8(c2)
  34356. }
  34357. c2 = libc.Uint8FromInt32(v5)
  34358. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  34359. /* see if super has a country while sub is missing one */
  34360. if libc.Int32FromUint8(c1) == int32('-') && libc.Int32FromUint8(c2) == int32('\000') {
  34361. return int32(m_FcTrue)
  34362. }
  34363. /* see if sub has a country while super is missing one */
  34364. if libc.Int32FromUint8(c1) == int32('\000') && libc.Int32FromUint8(c2) == int32('-') {
  34365. return int32(m_FcTrue)
  34366. }
  34367. return m_FcFalse
  34368. } else {
  34369. if !(c1 != 0) {
  34370. return int32(m_FcTrue)
  34371. }
  34372. }
  34373. goto _1
  34374. _1:
  34375. }
  34376. return r
  34377. }
  34378. func XFcLangGetCharSet(tls *libc.TLS, lang uintptr) (r uintptr) {
  34379. var country, i int32
  34380. _, _ = country, i
  34381. country = -int32(1)
  34382. i = 0
  34383. for {
  34384. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  34385. break
  34386. }
  34387. switch XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) {
  34388. case int32(_FcLangEqual):
  34389. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40 + 16
  34390. case int32(_FcLangDifferentTerritory):
  34391. if country == -int32(1) {
  34392. country = i
  34393. }
  34394. fallthrough
  34395. case int32(_FcLangDifferentLang):
  34396. fallthrough
  34397. default:
  34398. break
  34399. }
  34400. goto _1
  34401. _1:
  34402. ;
  34403. i++
  34404. }
  34405. if country == -int32(1) {
  34406. return uintptr(0)
  34407. }
  34408. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(country)*40 + 16
  34409. }
  34410. func XFcGetLangs(tls *libc.TLS) (r uintptr) {
  34411. var i int32
  34412. var langs uintptr
  34413. _, _ = i, langs
  34414. langs = XFcStrSetCreate(tls)
  34415. if !(langs != 0) {
  34416. return uintptr(0)
  34417. }
  34418. i = 0
  34419. for {
  34420. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  34421. break
  34422. }
  34423. XFcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  34424. goto _1
  34425. _1:
  34426. ;
  34427. i++
  34428. }
  34429. return langs
  34430. }
  34431. func XFcLangSetCreate(tls *libc.TLS) (r uintptr) {
  34432. var ls uintptr
  34433. _ = ls
  34434. ls = libc.Xmalloc(tls, uint64(48))
  34435. if !(ls != 0) {
  34436. return uintptr(0)
  34437. }
  34438. libc.X__builtin___memset_chk(tls, ls+12, int32('\000'), uint64(32), ^t__predefined_size_t(0))
  34439. (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  34440. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = uintptr(0)
  34441. return ls
  34442. }
  34443. func XFcLangSetDestroy(tls *libc.TLS, ls uintptr) {
  34444. if !(ls != 0) {
  34445. return
  34446. }
  34447. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34448. XFcStrSetDestroy(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34449. }
  34450. libc.Xfree(tls, ls)
  34451. }
  34452. func XFcLangSetCopy(tls *libc.TLS, ls uintptr) (r uintptr) {
  34453. var extra, list, new1, v2 uintptr
  34454. var v1 uint64
  34455. _, _, _, _, _ = extra, list, new1, v1, v2
  34456. if !(ls != 0) {
  34457. return libc.UintptrFromInt32(0)
  34458. }
  34459. new1 = XFcLangSetCreate(tls)
  34460. if !(new1 != 0) {
  34461. goto bail0
  34462. }
  34463. libc.X__builtin___memset_chk(tls, new1+12, int32('\000'), uint64(32), ^t__predefined_size_t(0))
  34464. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size)*uint64(4) {
  34465. v1 = libc.Uint64FromInt64(32)
  34466. } else {
  34467. v1 = uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size) * uint64(4)
  34468. }
  34469. libc.X__builtin___memcpy_chk(tls, new1+12, ls+12, v1, ^t__predefined_size_t(0))
  34470. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34471. (*TFcLangSet)(unsafe.Pointer(new1)).Fextra = XFcStrSetCreate(tls)
  34472. if !((*TFcLangSet)(unsafe.Pointer(new1)).Fextra != 0) {
  34473. goto bail1
  34474. }
  34475. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34476. if !(list != 0) {
  34477. goto bail1
  34478. }
  34479. for {
  34480. v2 = XFcStrListNext(tls, list)
  34481. extra = v2
  34482. if !(v2 != 0) {
  34483. break
  34484. }
  34485. if !(XFcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(new1)).Fextra, extra) != 0) {
  34486. XFcStrListDone(tls, list)
  34487. goto bail1
  34488. }
  34489. }
  34490. XFcStrListDone(tls, list)
  34491. }
  34492. return new1
  34493. goto bail1
  34494. bail1:
  34495. ;
  34496. XFcLangSetDestroy(tls, new1)
  34497. goto bail0
  34498. bail0:
  34499. ;
  34500. return uintptr(0)
  34501. return r
  34502. }
  34503. // C documentation
  34504. //
  34505. // /* When the language isn't found, the return value r is such that:
  34506. // * 1) r < 0
  34507. // * 2) -r -1 is the index of the first language in fcLangCharSets that comes
  34508. // * after the 'lang' argument in lexicographic order.
  34509. // *
  34510. // * The -1 is necessary to avoid problems with language id 0 (otherwise, we
  34511. // * wouldn't be able to distinguish between “language found, id is 0” and
  34512. // * “language not found, sorts right before the language with id 0”).
  34513. // */
  34514. func _FcLangSetIndex(tls *libc.TLS, lang uintptr) (r int32) {
  34515. var cmp, high, low, mid, v1, v2, v3 int32
  34516. var firstChar, secondChar TFcChar8
  34517. _, _, _, _, _, _, _, _, _ = cmp, firstChar, high, low, mid, secondChar, v1, v2, v3
  34518. mid = 0
  34519. cmp = 0
  34520. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) <= int32(0132) {
  34521. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) - int32(0101) + int32(0141)
  34522. } else {
  34523. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang)))
  34524. }
  34525. firstChar = libc.Uint8FromInt32(v1)
  34526. if firstChar != 0 {
  34527. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) <= int32(0132) {
  34528. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) - int32(0101) + int32(0141)
  34529. } else {
  34530. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1)))
  34531. }
  34532. v2 = v3
  34533. } else {
  34534. v2 = int32('\000')
  34535. }
  34536. secondChar = libc.Uint8FromInt32(v2)
  34537. if libc.Int32FromUint8(firstChar) < int32('a') {
  34538. low = 0
  34539. high = _fcLangCharSetRanges[0].Fbegin
  34540. } else {
  34541. if libc.Int32FromUint8(firstChar) > int32('z') {
  34542. low = _fcLangCharSetRanges[int32(25)].Fbegin
  34543. high = libc.Int32FromInt32(m_NUM_LANG_CHAR_SET) - libc.Int32FromInt32(1)
  34544. } else {
  34545. low = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fbegin
  34546. high = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fend
  34547. /* no matches */
  34548. if low > high {
  34549. return -(low + int32(1))
  34550. } /* one past next entry after where it would be */
  34551. }
  34552. }
  34553. for low <= high {
  34554. mid = (high + low) >> int32(1)
  34555. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40))) != libc.Int32FromUint8(firstChar) {
  34556. cmp = XFcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40, lang)
  34557. } else {
  34558. /* fast path for resolving 2-letter languages (by far the most common) after
  34559. * finding the first char (probably already true because of the hash table) */
  34560. cmp = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 1))) - libc.Int32FromUint8(secondChar)
  34561. if cmp == 0 && (libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 2))) != int32('\000') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 2))) != int32('\000')) {
  34562. cmp = XFcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40+uintptr(2), lang+uintptr(2))
  34563. }
  34564. }
  34565. if cmp == 0 {
  34566. return mid
  34567. }
  34568. if cmp < 0 {
  34569. low = mid + int32(1)
  34570. } else {
  34571. high = mid - int32(1)
  34572. }
  34573. }
  34574. if cmp < 0 {
  34575. mid++
  34576. }
  34577. return -(mid + int32(1))
  34578. }
  34579. func XFcLangSetAdd(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  34580. var id int32
  34581. _ = id
  34582. id = _FcLangSetIndex(tls, lang)
  34583. if id >= 0 {
  34584. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(id))
  34585. return int32(m_FcTrue)
  34586. }
  34587. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  34588. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = XFcStrSetCreate(tls)
  34589. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  34590. return m_FcFalse
  34591. }
  34592. }
  34593. return XFcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  34594. }
  34595. func XFcLangSetDel(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  34596. var id int32
  34597. _ = id
  34598. id = _FcLangSetIndex(tls, lang)
  34599. if id >= 0 {
  34600. _FcLangSetBitReset(tls, ls, libc.Uint32FromInt32(id))
  34601. } else {
  34602. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34603. XFcStrSetDel(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  34604. }
  34605. }
  34606. return int32(m_FcTrue)
  34607. }
  34608. func XFcLangSetHasLang(tls *libc.TLS, ls uintptr, lang uintptr) (r1 TFcLangResult) {
  34609. var best, r TFcLangResult
  34610. var extra, list, v3 uintptr
  34611. var i, id int32
  34612. var v4 bool
  34613. _, _, _, _, _, _, _, _ = best, extra, i, id, list, r, v3, v4
  34614. id = _FcLangSetIndex(tls, lang)
  34615. if id < 0 {
  34616. id = -id - int32(1)
  34617. } else {
  34618. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  34619. return int32(_FcLangEqual)
  34620. }
  34621. }
  34622. best = int32(_FcLangDifferentLang)
  34623. i = id - int32(1)
  34624. for {
  34625. if !(i >= 0) {
  34626. break
  34627. }
  34628. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  34629. if r == int32(_FcLangDifferentLang) {
  34630. break
  34631. }
  34632. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  34633. best = r
  34634. }
  34635. goto _1
  34636. _1:
  34637. ;
  34638. i--
  34639. }
  34640. i = id
  34641. for {
  34642. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  34643. break
  34644. }
  34645. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  34646. if r == int32(_FcLangDifferentLang) {
  34647. break
  34648. }
  34649. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  34650. best = r
  34651. }
  34652. goto _2
  34653. _2:
  34654. ;
  34655. i++
  34656. }
  34657. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34658. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34659. if list != 0 {
  34660. for {
  34661. if v4 = best > int32(_FcLangEqual); v4 {
  34662. v3 = XFcStrListNext(tls, list)
  34663. extra = v3
  34664. }
  34665. if !(v4 && v3 != 0) {
  34666. break
  34667. }
  34668. r = XFcLangCompare(tls, lang, extra)
  34669. if r < best {
  34670. best = r
  34671. }
  34672. }
  34673. XFcStrListDone(tls, list)
  34674. }
  34675. }
  34676. return best
  34677. }
  34678. func _FcLangSetCompareStrSet(tls *libc.TLS, ls uintptr, set uintptr) (r1 TFcLangResult) {
  34679. var best, r TFcLangResult
  34680. var extra, list, v1 uintptr
  34681. var v2 bool
  34682. _, _, _, _, _, _ = best, extra, list, r, v1, v2
  34683. list = XFcStrListCreate(tls, set)
  34684. best = int32(_FcLangDifferentLang)
  34685. if list != 0 {
  34686. for {
  34687. if v2 = best > int32(_FcLangEqual); v2 {
  34688. v1 = XFcStrListNext(tls, list)
  34689. extra = v1
  34690. }
  34691. if !(v2 && v1 != 0) {
  34692. break
  34693. }
  34694. r = XFcLangSetHasLang(tls, ls, extra)
  34695. if r < best {
  34696. best = r
  34697. }
  34698. }
  34699. XFcStrListDone(tls, list)
  34700. }
  34701. return best
  34702. }
  34703. func XFcLangSetCompare(tls *libc.TLS, lsa uintptr, lsb uintptr) (r1 TFcLangResult) {
  34704. var aInCountrySet, bInCountrySet TFcChar32
  34705. var best, r TFcLangResult
  34706. var count, i, j, v2 int32
  34707. var v1 uint32
  34708. _, _, _, _, _, _, _, _, _ = aInCountrySet, bInCountrySet, best, count, i, j, r, v1, v2
  34709. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  34710. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  34711. } else {
  34712. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  34713. }
  34714. count = libc.Int32FromUint32(v1)
  34715. if int32(m_NUM_LANG_SET_MAP) < count {
  34716. v2 = int32(m_NUM_LANG_SET_MAP)
  34717. } else {
  34718. v2 = count
  34719. }
  34720. count = v2
  34721. i = 0
  34722. for {
  34723. if !(i < count) {
  34724. break
  34725. }
  34726. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))&*(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) != 0 {
  34727. return int32(_FcLangEqual)
  34728. }
  34729. goto _3
  34730. _3:
  34731. ;
  34732. i++
  34733. }
  34734. best = int32(_FcLangDifferentLang)
  34735. j = 0
  34736. for {
  34737. if !(j < int32(m_NUM_COUNTRY_SET)) {
  34738. break
  34739. }
  34740. aInCountrySet = uint32(0)
  34741. bInCountrySet = uint32(0)
  34742. i = 0
  34743. for {
  34744. if !(i < count) {
  34745. break
  34746. }
  34747. aInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  34748. bInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  34749. if aInCountrySet != 0 && bInCountrySet != 0 {
  34750. best = int32(_FcLangDifferentTerritory)
  34751. break
  34752. }
  34753. goto _5
  34754. _5:
  34755. ;
  34756. i++
  34757. }
  34758. goto _4
  34759. _4:
  34760. ;
  34761. j++
  34762. }
  34763. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 {
  34764. r = _FcLangSetCompareStrSet(tls, lsb, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra)
  34765. if r < best {
  34766. best = r
  34767. }
  34768. }
  34769. if best > int32(_FcLangEqual) && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  34770. r = _FcLangSetCompareStrSet(tls, lsa, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  34771. if r < best {
  34772. best = r
  34773. }
  34774. }
  34775. return best
  34776. }
  34777. // C documentation
  34778. //
  34779. // /*
  34780. // * Used in computing values -- mustn't allocate any storage
  34781. // */
  34782. func XFcLangSetPromote(tls *libc.TLS, lang uintptr, vbuf uintptr) (r uintptr) {
  34783. var buf uintptr
  34784. var id int32
  34785. _, _ = buf, id
  34786. buf = vbuf
  34787. libc.X__builtin___memset_chk(tls, buf+12, int32('\000'), uint64(32), ^t__predefined_size_t(0))
  34788. (*struct {
  34789. Fls TFcLangSet
  34790. Fstrs TFcStrSet
  34791. Fstr uintptr
  34792. })(unsafe.Pointer(buf)).Fls.Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  34793. (*struct {
  34794. Fls TFcLangSet
  34795. Fstrs TFcStrSet
  34796. Fstr uintptr
  34797. })(unsafe.Pointer(buf)).Fls.Fextra = uintptr(0)
  34798. if lang != 0 {
  34799. id = _FcLangSetIndex(tls, lang)
  34800. if id >= 0 {
  34801. _FcLangSetBitSet(tls, buf, libc.Uint32FromInt32(id))
  34802. } else {
  34803. (*struct {
  34804. Fls TFcLangSet
  34805. Fstrs TFcStrSet
  34806. Fstr uintptr
  34807. })(unsafe.Pointer(buf)).Fls.Fextra = buf + 48
  34808. (*struct {
  34809. Fls TFcLangSet
  34810. Fstrs TFcStrSet
  34811. Fstr uintptr
  34812. })(unsafe.Pointer(buf)).Fstrs.Fnum = int32(1)
  34813. (*struct {
  34814. Fls TFcLangSet
  34815. Fstrs TFcStrSet
  34816. Fstr uintptr
  34817. })(unsafe.Pointer(buf)).Fstrs.Fsize = int32(1)
  34818. (*struct {
  34819. Fls TFcLangSet
  34820. Fstrs TFcStrSet
  34821. Fstr uintptr
  34822. })(unsafe.Pointer(buf)).Fstrs.Fstrs = buf + 80
  34823. (*TFcRef)(unsafe.Pointer(buf + 48)).Fcount = int32(1)
  34824. (*struct {
  34825. Fls TFcLangSet
  34826. Fstrs TFcStrSet
  34827. Fstr uintptr
  34828. })(unsafe.Pointer(buf)).Fstr = lang
  34829. }
  34830. }
  34831. return buf
  34832. }
  34833. func XFcLangSetHash(tls *libc.TLS, ls uintptr) (r TFcChar32) {
  34834. var count, i int32
  34835. var h TFcChar32
  34836. var v1 uint32
  34837. _, _, _, _ = count, h, i, v1
  34838. h = uint32(0)
  34839. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  34840. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  34841. } else {
  34842. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  34843. }
  34844. count = libc.Int32FromUint32(v1)
  34845. i = 0
  34846. for {
  34847. if !(i < count) {
  34848. break
  34849. }
  34850. h ^= *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  34851. goto _2
  34852. _2:
  34853. ;
  34854. i++
  34855. }
  34856. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34857. h ^= libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer((*TFcLangSet)(unsafe.Pointer(ls)).Fextra)).Fnum)
  34858. }
  34859. return h
  34860. }
  34861. func XFcNameParseLangSet(tls *libc.TLS, string1 uintptr) (r uintptr) {
  34862. bp := tls.Alloc(32)
  34863. defer tls.Free(32)
  34864. var c TFcChar8
  34865. var i int32
  34866. var ls, v3 uintptr
  34867. var _ /* lang at bp+0 */ [32]TFcChar8
  34868. _, _, _, _ = c, i, ls, v3
  34869. c = uint8(0)
  34870. ls = XFcLangSetCreate(tls)
  34871. if !(ls != 0) {
  34872. goto bail0
  34873. }
  34874. for {
  34875. i = 0
  34876. for {
  34877. if !(i < int32(31)) {
  34878. break
  34879. }
  34880. v3 = string1
  34881. string1++
  34882. c = *(*TFcChar8)(unsafe.Pointer(v3))
  34883. if libc.Int32FromUint8(c) == int32('\000') || libc.Int32FromUint8(c) == int32('|') {
  34884. break
  34885. } /* end of this code */
  34886. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = c
  34887. goto _2
  34888. _2:
  34889. ;
  34890. i++
  34891. }
  34892. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = uint8('\000')
  34893. if !(XFcLangSetAdd(tls, ls, bp) != 0) {
  34894. goto bail1
  34895. }
  34896. if libc.Int32FromUint8(c) == int32('\000') {
  34897. break
  34898. }
  34899. goto _1
  34900. _1:
  34901. }
  34902. return ls
  34903. goto bail1
  34904. bail1:
  34905. ;
  34906. XFcLangSetDestroy(tls, ls)
  34907. goto bail0
  34908. bail0:
  34909. ;
  34910. return uintptr(0)
  34911. return r
  34912. }
  34913. func XFcNameUnparseLangSet(tls *libc.TLS, buf uintptr, ls uintptr) (r TFcBool) {
  34914. var bit, count, i, id int32
  34915. var bits, v3 TFcChar32
  34916. var extra, list, v5 uintptr
  34917. var first TFcBool
  34918. var v1 uint32
  34919. _, _, _, _, _, _, _, _, _, _, _ = bit, bits, count, extra, first, i, id, list, v1, v3, v5
  34920. first = int32(m_FcTrue)
  34921. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  34922. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  34923. } else {
  34924. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  34925. }
  34926. count = libc.Int32FromUint32(v1)
  34927. i = 0
  34928. for {
  34929. if !(i < count) {
  34930. break
  34931. }
  34932. v3 = *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  34933. bits = v3
  34934. if v3 != 0 {
  34935. bit = 0
  34936. for {
  34937. if !(bit <= int32(31)) {
  34938. break
  34939. }
  34940. if bits&(uint32(1)<<bit) != 0 {
  34941. id = i<<int32(5) | bit
  34942. if !(first != 0) {
  34943. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  34944. return m_FcFalse
  34945. }
  34946. }
  34947. if !(XFcStrBufString(tls, buf, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(id))))*40) != 0) {
  34948. return m_FcFalse
  34949. }
  34950. first = m_FcFalse
  34951. }
  34952. goto _4
  34953. _4:
  34954. ;
  34955. bit++
  34956. }
  34957. }
  34958. goto _2
  34959. _2:
  34960. ;
  34961. i++
  34962. }
  34963. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34964. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34965. if !(list != 0) {
  34966. return m_FcFalse
  34967. }
  34968. for {
  34969. v5 = XFcStrListNext(tls, list)
  34970. extra = v5
  34971. if !(v5 != 0) {
  34972. break
  34973. }
  34974. if !(first != 0) {
  34975. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  34976. XFcStrListDone(tls, list)
  34977. return m_FcFalse
  34978. }
  34979. }
  34980. if !(XFcStrBufString(tls, buf, extra) != 0) {
  34981. XFcStrListDone(tls, list)
  34982. return m_FcFalse
  34983. }
  34984. first = m_FcFalse
  34985. }
  34986. XFcStrListDone(tls, list)
  34987. }
  34988. return int32(m_FcTrue)
  34989. }
  34990. func XFcLangSetEqual(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  34991. var count, i, v2 int32
  34992. var v1 uint32
  34993. _, _, _, _ = count, i, v1, v2
  34994. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  34995. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  34996. } else {
  34997. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  34998. }
  34999. count = libc.Int32FromUint32(v1)
  35000. if int32(m_NUM_LANG_SET_MAP) < count {
  35001. v2 = int32(m_NUM_LANG_SET_MAP)
  35002. } else {
  35003. v2 = count
  35004. }
  35005. count = v2
  35006. i = 0
  35007. for {
  35008. if !(i < count) {
  35009. break
  35010. }
  35011. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) {
  35012. return m_FcFalse
  35013. }
  35014. goto _3
  35015. _3:
  35016. ;
  35017. i++
  35018. }
  35019. if !((*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0) && !((*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0) {
  35020. return int32(m_FcTrue)
  35021. }
  35022. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  35023. return XFcStrSetEqual(tls, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  35024. }
  35025. return m_FcFalse
  35026. }
  35027. func _FcLangSetContainsLang(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  35028. var extra, list, v3 uintptr
  35029. var i, id int32
  35030. _, _, _, _, _ = extra, i, id, list, v3
  35031. id = _FcLangSetIndex(tls, lang)
  35032. if id < 0 {
  35033. id = -id - int32(1)
  35034. } else {
  35035. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  35036. return int32(m_FcTrue)
  35037. }
  35038. }
  35039. /*
  35040. * search up and down among equal languages for a match
  35041. */
  35042. i = id - int32(1)
  35043. for {
  35044. if !(i >= 0) {
  35045. break
  35046. }
  35047. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  35048. break
  35049. }
  35050. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  35051. return int32(m_FcTrue)
  35052. }
  35053. goto _1
  35054. _1:
  35055. ;
  35056. i--
  35057. }
  35058. i = id
  35059. for {
  35060. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  35061. break
  35062. }
  35063. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  35064. break
  35065. }
  35066. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  35067. return int32(m_FcTrue)
  35068. }
  35069. goto _2
  35070. _2:
  35071. ;
  35072. i++
  35073. }
  35074. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  35075. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  35076. if list != 0 {
  35077. for {
  35078. v3 = XFcStrListNext(tls, list)
  35079. extra = v3
  35080. if !(v3 != 0) {
  35081. break
  35082. }
  35083. if _FcLangContains(tls, extra, lang) != 0 {
  35084. break
  35085. }
  35086. }
  35087. XFcStrListDone(tls, list)
  35088. if extra != 0 {
  35089. return int32(m_FcTrue)
  35090. }
  35091. }
  35092. }
  35093. return m_FcFalse
  35094. }
  35095. // C documentation
  35096. //
  35097. // /*
  35098. // * return FcTrue if lsa contains every language in lsb
  35099. // */
  35100. func XFcLangSetContains(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  35101. bp := tls.Alloc(16)
  35102. defer tls.Free(16)
  35103. var count, i, j, v2 int32
  35104. var extra, list, v5 uintptr
  35105. var missing TFcChar32
  35106. var v1 uint32
  35107. _, _, _, _, _, _, _, _, _ = count, extra, i, j, list, missing, v1, v2, v5
  35108. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  35109. libc.Xprintf(tls, __ccgo_ts+5915, 0)
  35110. XFcLangSetPrint(tls, lsa)
  35111. libc.Xprintf(tls, __ccgo_ts+5926, 0)
  35112. XFcLangSetPrint(tls, lsb)
  35113. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  35114. }
  35115. /*
  35116. * check bitmaps for missing language support
  35117. */
  35118. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  35119. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  35120. } else {
  35121. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  35122. }
  35123. count = libc.Int32FromUint32(v1)
  35124. if int32(m_NUM_LANG_SET_MAP) < count {
  35125. v2 = int32(m_NUM_LANG_SET_MAP)
  35126. } else {
  35127. v2 = count
  35128. }
  35129. count = v2
  35130. i = 0
  35131. for {
  35132. if !(i < count) {
  35133. break
  35134. }
  35135. missing = *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))
  35136. if missing != 0 {
  35137. j = 0
  35138. for {
  35139. if !(j < int32(32)) {
  35140. break
  35141. }
  35142. if missing&(uint32(1)<<j) != 0 {
  35143. if !(_FcLangSetContainsLang(tls, lsa, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(i*int32(32)+j))))*40) != 0) {
  35144. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  35145. libc.Xprintf(tls, __ccgo_ts+5937, libc.VaList(bp+8, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(i*int32(32)+j))))*40))
  35146. }
  35147. return m_FcFalse
  35148. }
  35149. }
  35150. goto _4
  35151. _4:
  35152. ;
  35153. j++
  35154. }
  35155. }
  35156. goto _3
  35157. _3:
  35158. ;
  35159. i++
  35160. }
  35161. if (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  35162. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  35163. if list != 0 {
  35164. for {
  35165. v5 = XFcStrListNext(tls, list)
  35166. extra = v5
  35167. if !(v5 != 0) {
  35168. break
  35169. }
  35170. if !(_FcLangSetContainsLang(tls, lsa, extra) != 0) {
  35171. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  35172. libc.Xprintf(tls, __ccgo_ts+5957, libc.VaList(bp+8, extra))
  35173. }
  35174. break
  35175. }
  35176. }
  35177. XFcStrListDone(tls, list)
  35178. if extra != 0 {
  35179. return m_FcFalse
  35180. }
  35181. }
  35182. }
  35183. return int32(m_FcTrue)
  35184. }
  35185. func XFcLangSetSerializeAlloc(tls *libc.TLS, serialize uintptr, l uintptr) (r TFcBool) {
  35186. if !(XFcSerializeAlloc(tls, serialize, l, int32(48)) != 0) {
  35187. return m_FcFalse
  35188. }
  35189. return int32(m_FcTrue)
  35190. }
  35191. func XFcLangSetSerialize(tls *libc.TLS, serialize uintptr, l uintptr) (r uintptr) {
  35192. var l_serialize uintptr
  35193. var v1 uint64
  35194. _, _ = l_serialize, v1
  35195. l_serialize = XFcSerializePtr(tls, serialize, l)
  35196. if !(l_serialize != 0) {
  35197. return libc.UintptrFromInt32(0)
  35198. }
  35199. libc.X__builtin___memset_chk(tls, l_serialize+12, int32('\000'), uint64(32), ^t__predefined_size_t(0))
  35200. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size)*uint64(4) {
  35201. v1 = libc.Uint64FromInt64(32)
  35202. } else {
  35203. v1 = uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size) * uint64(4)
  35204. }
  35205. libc.X__builtin___memcpy_chk(tls, l_serialize+12, l+12, v1, ^t__predefined_size_t(0))
  35206. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  35207. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fextra = libc.UintptrFromInt32(0) /* We don't serialize ls->extra */
  35208. return l_serialize
  35209. }
  35210. func XFcLangSetGetLangs(tls *libc.TLS, ls uintptr) (r uintptr) {
  35211. var extra, langs, list, v2 uintptr
  35212. var i int32
  35213. _, _, _, _, _ = extra, i, langs, list, v2
  35214. langs = XFcStrSetCreate(tls)
  35215. if !(langs != 0) {
  35216. return uintptr(0)
  35217. }
  35218. i = 0
  35219. for {
  35220. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  35221. break
  35222. }
  35223. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 {
  35224. XFcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  35225. }
  35226. goto _1
  35227. _1:
  35228. ;
  35229. i++
  35230. }
  35231. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  35232. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  35233. if list != 0 {
  35234. for {
  35235. v2 = XFcStrListNext(tls, list)
  35236. extra = v2
  35237. if !(v2 != 0) {
  35238. break
  35239. }
  35240. XFcStrSetAdd(tls, langs, extra)
  35241. }
  35242. XFcStrListDone(tls, list)
  35243. }
  35244. }
  35245. return langs
  35246. }
  35247. func _FcLangSetOperate(tls *libc.TLS, a uintptr, b uintptr, func1 uintptr) (r uintptr) {
  35248. var langset, set, sl, str, v1 uintptr
  35249. _, _, _, _, _ = langset, set, sl, str, v1
  35250. langset = XFcLangSetCopy(tls, a)
  35251. set = XFcLangSetGetLangs(tls, b)
  35252. sl = XFcStrListCreate(tls, set)
  35253. XFcStrSetDestroy(tls, set)
  35254. for {
  35255. v1 = XFcStrListNext(tls, sl)
  35256. str = v1
  35257. if !(v1 != 0) {
  35258. break
  35259. }
  35260. (*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, langset, str)
  35261. }
  35262. XFcStrListDone(tls, sl)
  35263. return langset
  35264. }
  35265. func XFcLangSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  35266. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XFcLangSetAdd))
  35267. }
  35268. func XFcLangSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  35269. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XFcLangSetDel))
  35270. }
  35271. const m_FC_LIST_HASH_SIZE = 4099
  35272. /*
  35273. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  35274. *
  35275. * @APPLE_LICENSE_HEADER_START@
  35276. *
  35277. * This file contains Original Code and/or Modifications of Original Code
  35278. * as defined in and that are subject to the Apple Public Source License
  35279. * Version 2.0 (the 'License'). You may not use this file except in
  35280. * compliance with the License. Please obtain a copy of the License at
  35281. * http://www.opensource.apple.com/apsl/ and read it before using this
  35282. * file.
  35283. *
  35284. * The Original Code and all software distributed under the License are
  35285. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  35286. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  35287. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  35288. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  35289. * Please see the License for the specific language governing rights and
  35290. * limitations under the License.
  35291. *
  35292. * @APPLE_LICENSE_HEADER_END@
  35293. */
  35294. /*-
  35295. * Copyright (c) 1990, 1993
  35296. * The Regents of the University of California. All rights reserved.
  35297. *
  35298. * Redistribution and use in source and binary forms, with or without
  35299. * modification, are permitted provided that the following conditions
  35300. * are met:
  35301. * 1. Redistributions of source code must retain the above copyright
  35302. * notice, this list of conditions and the following disclaimer.
  35303. * 2. Redistributions in binary form must reproduce the above copyright
  35304. * notice, this list of conditions and the following disclaimer in the
  35305. * documentation and/or other materials provided with the distribution.
  35306. * 3. All advertising materials mentioning features or use of this software
  35307. * must display the following acknowledgement:
  35308. * This product includes software developed by the University of
  35309. * California, Berkeley and its contributors.
  35310. * 4. Neither the name of the University nor the names of its contributors
  35311. * may be used to endorse or promote products derived from this software
  35312. * without specific prior written permission.
  35313. *
  35314. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  35315. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  35316. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  35317. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  35318. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  35319. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  35320. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  35321. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  35322. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  35323. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  35324. * SUCH DAMAGE.
  35325. *
  35326. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  35327. */
  35328. /*
  35329. * Copyright (c) 2023 Apple Inc. All rights reserved.
  35330. *
  35331. * @APPLE_LICENSE_HEADER_START@
  35332. *
  35333. * This file contains Original Code and/or Modifications of Original Code
  35334. * as defined in and that are subject to the Apple Public Source License
  35335. * Version 2.0 (the 'License'). You may not use this file except in
  35336. * compliance with the License. Please obtain a copy of the License at
  35337. * http://www.opensource.apple.com/apsl/ and read it before using this
  35338. * file.
  35339. *
  35340. * The Original Code and all software distributed under the License are
  35341. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  35342. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  35343. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  35344. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  35345. * Please see the License for the specific language governing rights and
  35346. * limitations under the License.
  35347. *
  35348. * @APPLE_LICENSE_HEADER_END@
  35349. */
  35350. /*-
  35351. * Copyright (c) 1990, 1993
  35352. * The Regents of the University of California. All rights reserved.
  35353. *
  35354. * Redistribution and use in source and binary forms, with or without
  35355. * modification, are permitted provided that the following conditions
  35356. * are met:
  35357. * 1. Redistributions of source code must retain the above copyright
  35358. * notice, this list of conditions and the following disclaimer.
  35359. * 2. Redistributions in binary form must reproduce the above copyright
  35360. * notice, this list of conditions and the following disclaimer in the
  35361. * documentation and/or other materials provided with the distribution.
  35362. * 3. All advertising materials mentioning features or use of this software
  35363. * must display the following acknowledgement:
  35364. * This product includes software developed by the University of
  35365. * California, Berkeley and its contributors.
  35366. * 4. Neither the name of the University nor the names of its contributors
  35367. * may be used to endorse or promote products derived from this software
  35368. * without specific prior written permission.
  35369. *
  35370. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  35371. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  35372. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  35373. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  35374. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  35375. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  35376. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  35377. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  35378. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  35379. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  35380. * SUCH DAMAGE.
  35381. *
  35382. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  35383. */
  35384. func XFcObjectSetCreate(tls *libc.TLS) (r uintptr) {
  35385. var os uintptr
  35386. _ = os
  35387. os = libc.Xmalloc(tls, uint64(16))
  35388. if !(os != 0) {
  35389. return uintptr(0)
  35390. }
  35391. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject = 0
  35392. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = 0
  35393. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = uintptr(0)
  35394. return os
  35395. }
  35396. func XFcObjectSetAdd(tls *libc.TLS, os uintptr, object uintptr) (r TFcBool) {
  35397. var c, high, low, mid, s int32
  35398. var objects uintptr
  35399. _, _, _, _, _, _ = c, high, low, mid, objects, s
  35400. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject {
  35401. s = (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject + int32(4)
  35402. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  35403. objects = libc.Xrealloc(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects, libc.Uint64FromInt32(s)*uint64(8))
  35404. } else {
  35405. objects = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(8))
  35406. }
  35407. if !(objects != 0) {
  35408. return m_FcFalse
  35409. }
  35410. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = objects
  35411. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = s
  35412. }
  35413. high = (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject - int32(1)
  35414. low = 0
  35415. mid = 0
  35416. c = int32(1)
  35417. object = libc.Xstrdup(tls, object)
  35418. for low <= high {
  35419. mid = (low + high) >> int32(1)
  35420. c = int32(int64(*(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8))) - int64(object))
  35421. if c == 0 {
  35422. libc.Xfree(tls, object)
  35423. return int32(m_FcTrue)
  35424. }
  35425. if c < 0 {
  35426. low = mid + int32(1)
  35427. } else {
  35428. high = mid - int32(1)
  35429. }
  35430. }
  35431. if c < 0 {
  35432. mid++
  35433. }
  35434. libc.X__builtin___memmove_chk(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8+uintptr(1)*8, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8, libc.Uint64FromInt32((*TFcObjectSet)(unsafe.Pointer(os)).Fnobject-mid)*uint64(8), ^t__predefined_size_t(0))
  35435. *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8)) = object
  35436. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject++
  35437. return int32(m_FcTrue)
  35438. }
  35439. func XFcObjectSetDestroy(tls *libc.TLS, os uintptr) {
  35440. var i int32
  35441. _ = i
  35442. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  35443. i = 0
  35444. for {
  35445. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  35446. break
  35447. }
  35448. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  35449. goto _1
  35450. _1:
  35451. ;
  35452. i++
  35453. }
  35454. libc.Xfree(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)
  35455. }
  35456. libc.Xfree(tls, os)
  35457. }
  35458. func XFcObjectSetVaBuild(tls *libc.TLS, first uintptr, va Tva_list) (r uintptr) {
  35459. var __ob__, __os__, ret uintptr
  35460. _, _, _ = __ob__, __os__, ret
  35461. ret = uintptr(0)
  35462. __os__ = XFcObjectSetCreate(tls)
  35463. if !(__os__ != 0) {
  35464. goto _FcObjectSetVapBuild_bail0
  35465. }
  35466. __ob__ = first
  35467. for __ob__ != 0 {
  35468. if !(XFcObjectSetAdd(tls, __os__, __ob__) != 0) {
  35469. goto _FcObjectSetVapBuild_bail1
  35470. }
  35471. __ob__ = libc.VaUintptr(&va)
  35472. }
  35473. ret = __os__
  35474. goto _FcObjectSetVapBuild_bail1
  35475. _FcObjectSetVapBuild_bail1:
  35476. ;
  35477. if !(ret != 0) && __os__ != 0 {
  35478. XFcObjectSetDestroy(tls, __os__)
  35479. }
  35480. goto _FcObjectSetVapBuild_bail0
  35481. _FcObjectSetVapBuild_bail0:
  35482. ;
  35483. return ret
  35484. }
  35485. func XFcObjectSetBuild(tls *libc.TLS, first uintptr, va1 uintptr) (r uintptr) {
  35486. var __ob__, __os__, os uintptr
  35487. var va Tva_list
  35488. _, _, _, _ = __ob__, __os__, os, va
  35489. va = va1
  35490. os = uintptr(0)
  35491. __os__ = XFcObjectSetCreate(tls)
  35492. if !(__os__ != 0) {
  35493. goto _FcObjectSetVapBuild_bail0
  35494. }
  35495. __ob__ = first
  35496. for __ob__ != 0 {
  35497. if !(XFcObjectSetAdd(tls, __os__, __ob__) != 0) {
  35498. goto _FcObjectSetVapBuild_bail1
  35499. }
  35500. __ob__ = libc.VaUintptr(&va)
  35501. }
  35502. os = __os__
  35503. goto _FcObjectSetVapBuild_bail1
  35504. _FcObjectSetVapBuild_bail1:
  35505. ;
  35506. if !(os != 0) && __os__ != 0 {
  35507. XFcObjectSetDestroy(tls, __os__)
  35508. }
  35509. goto _FcObjectSetVapBuild_bail0
  35510. _FcObjectSetVapBuild_bail0:
  35511. ;
  35512. _ = va
  35513. return os
  35514. }
  35515. // C documentation
  35516. //
  35517. // /*
  35518. // * Font must have a containing value for every value in the pattern
  35519. // */
  35520. func _FcListValueListMatchAny(tls *libc.TLS, patOrig TFcValueListPtr, fntOrig TFcValueListPtr) (r TFcBool) {
  35521. /* font */
  35522. var fnt, pat TFcValueListPtr
  35523. var v3, v4 uintptr
  35524. _, _, _, _ = fnt, pat, v3, v4
  35525. pat = patOrig
  35526. for {
  35527. if !(pat != libc.UintptrFromInt32(0)) {
  35528. break
  35529. }
  35530. fnt = fntOrig
  35531. for {
  35532. if !(fnt != libc.UintptrFromInt32(0)) {
  35533. break
  35534. }
  35535. /*
  35536. * make sure the font 'contains' the pattern.
  35537. * (OpListing is OpContains except for strings
  35538. * where it requires an exact match)
  35539. */
  35540. if XFcConfigCompareValue(tls, fnt+8, libc.Uint32FromInt32(int32(_FcOpListing)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), pat+8) != 0 {
  35541. break
  35542. }
  35543. goto _2
  35544. _2:
  35545. ;
  35546. if int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(1) != 0 {
  35547. v3 = uintptr(int64(fnt) + int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35548. } else {
  35549. v3 = (*T_FcValueList)(unsafe.Pointer(fnt)).Fnext
  35550. }
  35551. fnt = v3
  35552. }
  35553. if fnt == libc.UintptrFromInt32(0) {
  35554. return m_FcFalse
  35555. }
  35556. goto _1
  35557. _1:
  35558. ;
  35559. if int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(1) != 0 {
  35560. v4 = uintptr(int64(pat) + int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35561. } else {
  35562. v4 = (*T_FcValueList)(unsafe.Pointer(pat)).Fnext
  35563. }
  35564. pat = v4
  35565. }
  35566. return int32(m_FcTrue)
  35567. }
  35568. func _FcListValueListEqual(tls *libc.TLS, v1orig TFcValueListPtr, v2orig TFcValueListPtr) (r TFcBool) {
  35569. var v1, v2 TFcValueListPtr
  35570. var v3, v4, v7, v8 uintptr
  35571. _, _, _, _, _, _ = v1, v2, v3, v4, v7, v8
  35572. v1 = v1orig
  35573. for {
  35574. if !(v1 != libc.UintptrFromInt32(0)) {
  35575. break
  35576. }
  35577. v2 = v2orig
  35578. for {
  35579. if !(v2 != libc.UintptrFromInt32(0)) {
  35580. break
  35581. }
  35582. if XFcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  35583. break
  35584. }
  35585. goto _2
  35586. _2:
  35587. ;
  35588. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  35589. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35590. } else {
  35591. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  35592. }
  35593. v2 = v3
  35594. }
  35595. if v2 == libc.UintptrFromInt32(0) {
  35596. return m_FcFalse
  35597. }
  35598. goto _1
  35599. _1:
  35600. ;
  35601. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  35602. v4 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35603. } else {
  35604. v4 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  35605. }
  35606. v1 = v4
  35607. }
  35608. v2 = v2orig
  35609. for {
  35610. if !(v2 != libc.UintptrFromInt32(0)) {
  35611. break
  35612. }
  35613. v1 = v1orig
  35614. for {
  35615. if !(v1 != libc.UintptrFromInt32(0)) {
  35616. break
  35617. }
  35618. if XFcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  35619. break
  35620. }
  35621. goto _6
  35622. _6:
  35623. ;
  35624. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  35625. v7 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35626. } else {
  35627. v7 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  35628. }
  35629. v1 = v7
  35630. }
  35631. if v1 == libc.UintptrFromInt32(0) {
  35632. return m_FcFalse
  35633. }
  35634. goto _5
  35635. _5:
  35636. ;
  35637. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  35638. v8 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35639. } else {
  35640. v8 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  35641. }
  35642. v2 = v8
  35643. }
  35644. return int32(m_FcTrue)
  35645. }
  35646. func _FcListPatternEqual(tls *libc.TLS, p1 uintptr, p2 uintptr, os uintptr) (r TFcBool) {
  35647. var e1, e2, v2, v3 uintptr
  35648. var i int32
  35649. _, _, _, _, _ = e1, e2, i, v2, v3
  35650. i = 0
  35651. for {
  35652. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  35653. break
  35654. }
  35655. e1 = XFcPatternObjectFindElt(tls, p1, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  35656. e2 = XFcPatternObjectFindElt(tls, p2, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  35657. if !(e1 != 0) && !(e2 != 0) {
  35658. goto _1
  35659. }
  35660. if !(e1 != 0) || !(e2 != 0) {
  35661. return m_FcFalse
  35662. }
  35663. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  35664. v2 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35665. } else {
  35666. v2 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  35667. }
  35668. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  35669. v3 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35670. } else {
  35671. v3 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  35672. }
  35673. if !(_FcListValueListEqual(tls, v2, v3) != 0) {
  35674. return m_FcFalse
  35675. }
  35676. goto _1
  35677. _1:
  35678. ;
  35679. i++
  35680. }
  35681. return int32(m_FcTrue)
  35682. }
  35683. /*
  35684. * FcTrue iff all objects in "p" match "font"
  35685. */
  35686. func XFcListPatternMatchAny(tls *libc.TLS, p uintptr, font uintptr) (r TFcBool) {
  35687. var fe, pe, v2, v3 uintptr
  35688. var i int32
  35689. _, _, _, _, _ = fe, i, pe, v2, v3
  35690. if !(p != 0) {
  35691. return m_FcFalse
  35692. }
  35693. i = 0
  35694. for {
  35695. if !(i < (*TFcPattern)(unsafe.Pointer(p)).Fnum) {
  35696. break
  35697. }
  35698. pe = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  35699. if (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject == int32(_FC_NAMELANG_OBJECT) {
  35700. /* "namelang" object is the alias object to change "familylang",
  35701. * "stylelang" and "fullnamelang" object all together. it won't be
  35702. * available on the font pattern. so checking its availability
  35703. * causes no results. we should ignore it here.
  35704. */
  35705. goto _1
  35706. }
  35707. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  35708. if !(fe != 0) {
  35709. return m_FcFalse
  35710. }
  35711. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  35712. v2 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35713. } else {
  35714. v2 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  35715. }
  35716. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  35717. v3 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35718. } else {
  35719. v3 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  35720. }
  35721. if !(_FcListValueListMatchAny(tls, v2, v3) != 0) { /* font elts */
  35722. return m_FcFalse
  35723. }
  35724. goto _1
  35725. _1:
  35726. ;
  35727. i++
  35728. }
  35729. return int32(m_FcTrue)
  35730. }
  35731. func _FcListMatrixHash(tls *libc.TLS, m uintptr) (r TFcChar32) {
  35732. var xx, xy, yx, yy int32
  35733. _, _, _, _ = xx, xy, yx, yy
  35734. xx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxx * libc.Float64FromInt32(100))
  35735. xy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxy * libc.Float64FromInt32(100))
  35736. yx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyx * libc.Float64FromInt32(100))
  35737. yy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyy * libc.Float64FromInt32(100))
  35738. return libc.Uint32FromInt32(xx) ^ libc.Uint32FromInt32(xy) ^ libc.Uint32FromInt32(yx) ^ libc.Uint32FromInt32(yy)
  35739. }
  35740. func _FcListValueHash(tls *libc.TLS, value uintptr) (r TFcChar32) {
  35741. bp := tls.Alloc(16)
  35742. defer tls.Free(16)
  35743. var _ /* v at bp+0 */ TFcValue
  35744. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  35745. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, value)
  35746. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35747. case int32(_FcTypeUnknown):
  35748. fallthrough
  35749. case int32(_FcTypeVoid):
  35750. return uint32(0)
  35751. case int32(_FcTypeInteger):
  35752. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(bp + 8)))
  35753. case int32(_FcTypeDouble):
  35754. return libc.Uint32FromInt32(int32(*(*float64)(unsafe.Pointer(bp + 8))))
  35755. case int32(_FcTypeString):
  35756. return XFcStrHashIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35757. case int32(_FcTypeBool):
  35758. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)))
  35759. case int32(_FcTypeMatrix):
  35760. return _FcListMatrixHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35761. case int32(_FcTypeCharSet):
  35762. return XFcCharSetCount(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35763. case int32(_FcTypeFTFace):
  35764. return libc.Uint32FromInt64(int64(*(*uintptr)(unsafe.Pointer(bp + 8))))
  35765. case int32(_FcTypeLangSet):
  35766. return XFcLangSetHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35767. case int32(_FcTypeRange):
  35768. return XFcRangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35769. }
  35770. return uint32(0)
  35771. }
  35772. func _FcListValueListHash(tls *libc.TLS, list TFcValueListPtr) (r TFcChar32) {
  35773. var h TFcChar32
  35774. var v1 uintptr
  35775. _, _ = h, v1
  35776. h = uint32(0)
  35777. for list != libc.UintptrFromInt32(0) {
  35778. h = h ^ _FcListValueHash(tls, list+8)
  35779. if int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(1) != 0 {
  35780. v1 = uintptr(int64(list) + int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35781. } else {
  35782. v1 = (*T_FcValueList)(unsafe.Pointer(list)).Fnext
  35783. }
  35784. list = v1
  35785. }
  35786. return h
  35787. }
  35788. func _FcListPatternHash(tls *libc.TLS, font uintptr, os uintptr) (r TFcChar32) {
  35789. var e, v2 uintptr
  35790. var h TFcChar32
  35791. var n int32
  35792. _, _, _, _ = e, h, n, v2
  35793. h = uint32(0)
  35794. n = 0
  35795. for {
  35796. if !(n < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  35797. break
  35798. }
  35799. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(n)*8))))
  35800. if e != 0 {
  35801. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  35802. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35803. } else {
  35804. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35805. }
  35806. h = h ^ _FcListValueListHash(tls, v2)
  35807. }
  35808. goto _1
  35809. _1:
  35810. ;
  35811. n++
  35812. }
  35813. return h
  35814. }
  35815. type TFcListBucket = struct {
  35816. Fnext uintptr
  35817. Fhash TFcChar32
  35818. Fpattern uintptr
  35819. }
  35820. type T_FcListBucket = TFcListBucket
  35821. type TFcListHashTable = struct {
  35822. Fentries int32
  35823. Fbuckets [4099]uintptr
  35824. }
  35825. type T_FcListHashTable = TFcListHashTable
  35826. func _FcListHashTableInit(tls *libc.TLS, table uintptr) {
  35827. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  35828. libc.X__builtin___memset_chk(tls, table+8, int32('\000'), uint64(32792), ^t__predefined_size_t(0))
  35829. }
  35830. func _FcListHashTableCleanup(tls *libc.TLS, table uintptr) {
  35831. var bucket, next uintptr
  35832. var i int32
  35833. _, _, _ = bucket, i, next
  35834. i = 0
  35835. for {
  35836. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  35837. break
  35838. }
  35839. bucket = *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8))
  35840. for {
  35841. if !(bucket != 0) {
  35842. break
  35843. }
  35844. next = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  35845. XFcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  35846. libc.Xfree(tls, bucket)
  35847. goto _2
  35848. _2:
  35849. ;
  35850. bucket = next
  35851. }
  35852. *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8)) = uintptr(0)
  35853. goto _1
  35854. _1:
  35855. ;
  35856. i++
  35857. }
  35858. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  35859. }
  35860. func _FcGetDefaultObjectLangIndex(tls *libc.TLS, font uintptr, object TFcObject, lang uintptr) (r int32) {
  35861. bp := tls.Alloc(16)
  35862. defer tls.Free(16)
  35863. var defidx, i, idx, v4, v5 int32
  35864. var e, v2, v3 uintptr
  35865. var res TFcLangResult
  35866. var v TFcValueListPtr
  35867. var _ /* value at bp+0 */ TFcValue
  35868. _, _, _, _, _, _, _, _, _, _ = defidx, e, i, idx, res, v, v2, v3, v4, v5
  35869. e = XFcPatternObjectFindElt(tls, font, object)
  35870. idx = -int32(1)
  35871. defidx = -int32(1)
  35872. if e != 0 {
  35873. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  35874. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35875. } else {
  35876. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35877. }
  35878. v = v2
  35879. i = libc.Int32FromInt32(0)
  35880. for {
  35881. if !(v != 0) {
  35882. break
  35883. }
  35884. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v+8)
  35885. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeString) {
  35886. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), lang)
  35887. if res == int32(_FcLangEqual) {
  35888. return i
  35889. }
  35890. if res == int32(_FcLangDifferentCountry) && idx < 0 {
  35891. idx = i
  35892. }
  35893. if defidx < 0 {
  35894. /* workaround for fonts that has non-English value
  35895. * at the head of values.
  35896. */
  35897. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), __ccgo_ts+2752)
  35898. if res == int32(_FcLangEqual) {
  35899. defidx = i
  35900. }
  35901. }
  35902. }
  35903. goto _1
  35904. _1:
  35905. ;
  35906. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  35907. v3 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35908. } else {
  35909. v3 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  35910. }
  35911. v = v3
  35912. i++
  35913. }
  35914. }
  35915. if idx > 0 {
  35916. v4 = idx
  35917. } else {
  35918. if defidx > 0 {
  35919. v5 = defidx
  35920. } else {
  35921. v5 = 0
  35922. }
  35923. v4 = v5
  35924. }
  35925. return v4
  35926. }
  35927. func _FcListAppend(tls *libc.TLS, table uintptr, font uintptr, os uintptr, lang uintptr) (r TFcBool) {
  35928. var bucket, e, prev, v2, v5, v6 uintptr
  35929. var defidx, familyidx, fullnameidx, idx, o, styleidx int32
  35930. var hash TFcChar32
  35931. var v TFcValueListPtr
  35932. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bucket, defidx, e, familyidx, fullnameidx, hash, idx, o, prev, styleidx, v, v2, v5, v6
  35933. familyidx = -int32(1)
  35934. fullnameidx = -int32(1)
  35935. styleidx = -int32(1)
  35936. defidx = 0
  35937. hash = _FcListPatternHash(tls, font, os)
  35938. prev = table + 8 + uintptr(hash%uint32(m_FC_LIST_HASH_SIZE))*8
  35939. for {
  35940. v2 = *(*uintptr)(unsafe.Pointer(prev))
  35941. bucket = v2
  35942. if !(v2 != 0) {
  35943. break
  35944. }
  35945. if (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash == hash && _FcListPatternEqual(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, font, os) != 0 {
  35946. return int32(m_FcTrue)
  35947. }
  35948. goto _1
  35949. _1:
  35950. ;
  35951. prev = bucket
  35952. }
  35953. bucket = libc.Xmalloc(tls, uint64(24))
  35954. if !(bucket != 0) {
  35955. goto bail0
  35956. }
  35957. (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext = uintptr(0)
  35958. (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash = hash
  35959. (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern = XFcPatternCreate(tls)
  35960. if !((*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern != 0) {
  35961. goto bail1
  35962. }
  35963. o = 0
  35964. for {
  35965. if !(o < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  35966. break
  35967. }
  35968. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+5977) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+5984) != 0) {
  35969. if familyidx < 0 {
  35970. familyidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FAMILYLANG_OBJECT), lang)
  35971. }
  35972. defidx = familyidx
  35973. } else {
  35974. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+5995) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+6004) != 0) {
  35975. if fullnameidx < 0 {
  35976. fullnameidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FULLNAMELANG_OBJECT), lang)
  35977. }
  35978. defidx = fullnameidx
  35979. } else {
  35980. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4583) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+6017) != 0) {
  35981. if styleidx < 0 {
  35982. styleidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_STYLELANG_OBJECT), lang)
  35983. }
  35984. defidx = styleidx
  35985. } else {
  35986. defidx = 0
  35987. }
  35988. }
  35989. }
  35990. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8))))
  35991. if e != 0 {
  35992. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  35993. v5 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35994. } else {
  35995. v5 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35996. }
  35997. v = v5
  35998. idx = libc.Int32FromInt32(0)
  35999. for {
  36000. if !(v != 0) {
  36001. break
  36002. }
  36003. if !(XFcPatternAdd(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), XFcValueCanonicalize(tls, v+8), libc.BoolInt32(defidx != idx)) != 0) {
  36004. goto bail2
  36005. }
  36006. goto _4
  36007. _4:
  36008. ;
  36009. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  36010. v6 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36011. } else {
  36012. v6 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  36013. }
  36014. v = v6
  36015. idx++
  36016. }
  36017. }
  36018. goto _3
  36019. _3:
  36020. ;
  36021. o++
  36022. }
  36023. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  36024. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries++
  36025. return int32(m_FcTrue)
  36026. goto bail2
  36027. bail2:
  36028. ;
  36029. XFcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  36030. goto bail1
  36031. bail1:
  36032. ;
  36033. libc.Xfree(tls, bucket)
  36034. goto bail0
  36035. bail0:
  36036. ;
  36037. return m_FcFalse
  36038. return r
  36039. }
  36040. func XFcFontSetList(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, os uintptr) (r uintptr) {
  36041. bp := tls.Alloc(32816)
  36042. defer tls.Free(32816)
  36043. var bucket, ret, s, v4 uintptr
  36044. var destroy_os, f, i, set int32
  36045. var _ /* lang at bp+32800 */ uintptr
  36046. var _ /* table at bp+0 */ TFcListHashTable
  36047. _, _, _, _, _, _, _, _ = bucket, destroy_os, f, i, ret, s, set, v4
  36048. destroy_os = 0
  36049. if !(config != 0) {
  36050. if !(XFcInitBringUptoDate(tls) != 0) {
  36051. goto bail0
  36052. }
  36053. }
  36054. config = XFcConfigReference(tls, config)
  36055. if !(config != 0) {
  36056. goto bail0
  36057. }
  36058. _FcListHashTableInit(tls, bp)
  36059. if !(os != 0) {
  36060. os = XFcObjectGetSet(tls)
  36061. destroy_os = int32(1)
  36062. }
  36063. /*
  36064. * Walk all available fonts adding those that
  36065. * match to the hash table
  36066. */
  36067. set = 0
  36068. for {
  36069. if !(set < nsets) {
  36070. break
  36071. }
  36072. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  36073. if !(s != 0) {
  36074. goto _1
  36075. }
  36076. f = 0
  36077. for {
  36078. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  36079. break
  36080. }
  36081. if XFcListPatternMatchAny(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))) != 0 { /* font */
  36082. if XFcPatternObjectGetString(tls, p, int32(_FC_NAMELANG_OBJECT), 0, bp+32800) != int32(_FcResultMatch) {
  36083. *(*uintptr)(unsafe.Pointer(bp + 32800)) = XFcGetDefaultLang(tls)
  36084. }
  36085. if !(_FcListAppend(tls, bp, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), os, *(*uintptr)(unsafe.Pointer(bp + 32800))) != 0) {
  36086. goto bail1
  36087. }
  36088. }
  36089. goto _2
  36090. _2:
  36091. ;
  36092. f++
  36093. }
  36094. goto _1
  36095. _1:
  36096. ;
  36097. set++
  36098. }
  36099. /*
  36100. * Walk the hash table and build
  36101. * a font set
  36102. */
  36103. ret = XFcFontSetCreate(tls)
  36104. if !(ret != 0) {
  36105. goto bail1
  36106. }
  36107. i = 0
  36108. for {
  36109. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  36110. break
  36111. }
  36112. for {
  36113. v4 = *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8))
  36114. bucket = v4
  36115. if !(v4 != 0) {
  36116. break
  36117. }
  36118. if !(XFcFontSetAdd(tls, ret, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern) != 0) {
  36119. goto bail2
  36120. }
  36121. *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8)) = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  36122. libc.Xfree(tls, bucket)
  36123. }
  36124. goto _3
  36125. _3:
  36126. ;
  36127. i++
  36128. }
  36129. if destroy_os != 0 {
  36130. XFcObjectSetDestroy(tls, os)
  36131. }
  36132. XFcConfigDestroy(tls, config)
  36133. return ret
  36134. goto bail2
  36135. bail2:
  36136. ;
  36137. XFcFontSetDestroy(tls, ret)
  36138. goto bail1
  36139. bail1:
  36140. ;
  36141. _FcListHashTableCleanup(tls, bp)
  36142. XFcConfigDestroy(tls, config)
  36143. goto bail0
  36144. bail0:
  36145. ;
  36146. if destroy_os != 0 {
  36147. XFcObjectSetDestroy(tls, os)
  36148. }
  36149. return uintptr(0)
  36150. }
  36151. func XFcFontList(tls *libc.TLS, config uintptr, p uintptr, os uintptr) (r uintptr) {
  36152. bp := tls.Alloc(16)
  36153. defer tls.Free(16)
  36154. var nsets, v1, v2 int32
  36155. var ret uintptr
  36156. var _ /* sets at bp+0 */ [2]uintptr
  36157. _, _, _, _ = nsets, ret, v1, v2
  36158. if !(config != 0) {
  36159. if !(XFcInitBringUptoDate(tls) != 0) {
  36160. return uintptr(0)
  36161. }
  36162. }
  36163. config = XFcConfigReference(tls, config)
  36164. if !(config != 0) {
  36165. return libc.UintptrFromInt32(0)
  36166. }
  36167. nsets = 0
  36168. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  36169. v1 = nsets
  36170. nsets++
  36171. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  36172. }
  36173. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  36174. v2 = nsets
  36175. nsets++
  36176. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  36177. }
  36178. ret = XFcFontSetList(tls, config, bp, nsets, p, os)
  36179. XFcConfigDestroy(tls, config)
  36180. return ret
  36181. }
  36182. func _FcCompareNumber(tls *libc.TLS, value1 uintptr, value2 uintptr, bestValue uintptr) (r float64) {
  36183. var v, v1, v2 float64
  36184. _, _, _ = v, v1, v2
  36185. switch (*TFcValue)(unsafe.Pointer(value1)).Ftype1 {
  36186. case int32(_FcTypeInteger):
  36187. v1 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value1)).Fu)))
  36188. case int32(_FcTypeDouble):
  36189. v1 = *(*float64)(unsafe.Pointer(value1 + 8))
  36190. default:
  36191. return -libc.Float64FromFloat64(1)
  36192. }
  36193. switch (*TFcValue)(unsafe.Pointer(value2)).Ftype1 {
  36194. case int32(_FcTypeInteger):
  36195. v2 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value2)).Fu)))
  36196. case int32(_FcTypeDouble):
  36197. v2 = *(*float64)(unsafe.Pointer(value2 + 8))
  36198. default:
  36199. return -libc.Float64FromFloat64(1)
  36200. }
  36201. v = v2 - v1
  36202. if v < libc.Float64FromInt32(0) {
  36203. v = -v
  36204. }
  36205. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, value2)
  36206. return v
  36207. }
  36208. func _FcCompareString(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36209. var v11, v21 uintptr
  36210. _, _ = v11, v21
  36211. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  36212. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36213. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36214. } else {
  36215. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36216. }
  36217. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36218. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36219. } else {
  36220. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36221. }
  36222. return float64(libc.Bool32(float64(XFcStrCmpIgnoreCase(tls, v11, v21)) != libc.Float64FromInt32(0)))
  36223. }
  36224. func _FcCompareFamily(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36225. var v1_string, v2_string, v11, v21 uintptr
  36226. var v3, v4 int32
  36227. _, _, _, _, _, _ = v1_string, v2_string, v11, v21, v3, v4
  36228. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36229. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36230. } else {
  36231. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36232. }
  36233. /* rely on the guarantee in FcPatternObjectAddWithBinding that
  36234. * families are always FcTypeString. */
  36235. v1_string = v11
  36236. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36237. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36238. } else {
  36239. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36240. }
  36241. v2_string = v21
  36242. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  36243. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  36244. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  36245. } else {
  36246. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  36247. }
  36248. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  36249. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  36250. } else {
  36251. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  36252. }
  36253. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  36254. return float64(1)
  36255. }
  36256. return float64(libc.Bool32(float64(XFcStrCmpIgnoreBlanksAndCase(tls, v1_string, v2_string)) != libc.Float64FromInt32(0)))
  36257. }
  36258. func _FcComparePostScript(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36259. var len1, len2, mlen Tsize_t
  36260. var n, v3, v4 int32
  36261. var v1_string, v2_string, v11, v21 uintptr
  36262. var v5 uint64
  36263. _, _, _, _, _, _, _, _, _, _, _ = len1, len2, mlen, n, v1_string, v2_string, v11, v21, v3, v4, v5
  36264. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36265. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36266. } else {
  36267. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36268. }
  36269. v1_string = v11
  36270. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36271. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36272. } else {
  36273. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36274. }
  36275. v2_string = v21
  36276. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  36277. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  36278. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  36279. } else {
  36280. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  36281. }
  36282. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  36283. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  36284. } else {
  36285. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  36286. }
  36287. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  36288. return float64(1)
  36289. }
  36290. n = XFcStrMatchIgnoreCaseAndDelims(tls, v1_string, v2_string, __ccgo_ts+6027)
  36291. len1 = libc.Xstrlen(tls, v1_string)
  36292. len2 = libc.Xstrlen(tls, v2_string)
  36293. if len1 > len2 {
  36294. v5 = len1
  36295. } else {
  36296. v5 = len2
  36297. }
  36298. mlen = v5
  36299. return float64(mlen-libc.Uint64FromInt32(n)) / float64(mlen)
  36300. }
  36301. func _FcCompareLang(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36302. var result TFcLangResult
  36303. var v11, v21, v3, v4, v5, v6, v7, v8 uintptr
  36304. _, _, _, _, _, _, _, _, _ = result, v11, v21, v3, v4, v5, v6, v7, v8
  36305. switch (*TFcValue)(unsafe.Pointer(v1)).Ftype1 {
  36306. case int32(_FcTypeLangSet):
  36307. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  36308. case int32(_FcTypeLangSet):
  36309. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36310. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36311. } else {
  36312. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36313. }
  36314. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36315. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36316. } else {
  36317. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36318. }
  36319. result = XFcLangSetCompare(tls, v11, v21)
  36320. case int32(_FcTypeString):
  36321. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36322. v3 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36323. } else {
  36324. v3 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36325. }
  36326. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36327. v4 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36328. } else {
  36329. v4 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36330. }
  36331. result = XFcLangSetHasLang(tls, v3, v4)
  36332. default:
  36333. return -libc.Float64FromFloat64(1)
  36334. }
  36335. case int32(_FcTypeString):
  36336. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  36337. case int32(_FcTypeLangSet):
  36338. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36339. v5 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36340. } else {
  36341. v5 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36342. }
  36343. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36344. v6 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36345. } else {
  36346. v6 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36347. }
  36348. result = XFcLangSetHasLang(tls, v5, v6)
  36349. case int32(_FcTypeString):
  36350. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36351. v7 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36352. } else {
  36353. v7 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36354. }
  36355. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36356. v8 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36357. } else {
  36358. v8 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36359. }
  36360. result = XFcLangCompare(tls, v7, v8)
  36361. default:
  36362. return -libc.Float64FromFloat64(1)
  36363. }
  36364. default:
  36365. return -libc.Float64FromFloat64(1)
  36366. }
  36367. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  36368. switch result {
  36369. case int32(_FcLangEqual):
  36370. return libc.Float64FromInt32(0)
  36371. case int32(_FcLangDifferentCountry):
  36372. return libc.Float64FromInt32(1)
  36373. case int32(_FcLangDifferentLang):
  36374. fallthrough
  36375. default:
  36376. return libc.Float64FromInt32(2)
  36377. }
  36378. return r
  36379. }
  36380. func _FcCompareBool(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36381. if (*TFcValue)(unsafe.Pointer(v2)).Ftype1 != int32(_FcTypeBool) || (*TFcValue)(unsafe.Pointer(v1)).Ftype1 != int32(_FcTypeBool) {
  36382. return -libc.Float64FromFloat64(1)
  36383. }
  36384. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeBool)
  36385. if *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)) != int32(m_FcDontCare) {
  36386. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  36387. } else {
  36388. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  36389. }
  36390. return float64(libc.Bool32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))^*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)) == libc.Int32FromInt32(1)))
  36391. }
  36392. func _FcCompareCharSet(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36393. var v11, v21 uintptr
  36394. _, _ = v11, v21
  36395. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2) /* TODO Improve. */
  36396. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36397. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36398. } else {
  36399. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36400. }
  36401. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36402. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36403. } else {
  36404. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36405. }
  36406. return float64(XFcCharSetSubtractCount(tls, v11, v21))
  36407. }
  36408. func _FcCompareRange(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36409. bp := tls.Alloc(32)
  36410. defer tls.Free(32)
  36411. var b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7 float64
  36412. var _ /* value1 at bp+0 */ TFcValue
  36413. var _ /* value2 at bp+16 */ TFcValue
  36414. _, _, _, _, _, _, _, _, _, _, _, _ = b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7
  36415. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  36416. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  36417. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  36418. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  36419. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36420. case int32(_FcTypeInteger):
  36421. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  36422. e1 = v11
  36423. b1 = v11
  36424. case int32(_FcTypeDouble):
  36425. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  36426. e1 = v21
  36427. b1 = v21
  36428. case int32(_FcTypeRange):
  36429. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  36430. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  36431. default:
  36432. return float64(-libc.Int32FromInt32(1))
  36433. }
  36434. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  36435. case int32(_FcTypeInteger):
  36436. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  36437. e2 = v3
  36438. b2 = v3
  36439. case int32(_FcTypeDouble):
  36440. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  36441. e2 = v4
  36442. b2 = v4
  36443. case int32(_FcTypeRange):
  36444. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  36445. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  36446. default:
  36447. return float64(-libc.Int32FromInt32(1))
  36448. }
  36449. if e1 < b2 {
  36450. d = b2
  36451. } else {
  36452. if e2 < b1 {
  36453. d = e2
  36454. } else {
  36455. if b1 > b2 {
  36456. v5 = b1
  36457. } else {
  36458. v5 = b2
  36459. }
  36460. if e1 < e2 {
  36461. v6 = e1
  36462. } else {
  36463. v6 = e2
  36464. }
  36465. d = (v5 + v6) * float64(0.5)
  36466. }
  36467. }
  36468. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  36469. *(*float64)(unsafe.Pointer(bestValue + 8)) = d
  36470. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  36471. if e1 < b2 || e2 < b1 {
  36472. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  36473. v7 = libc.Xfabs(tls, b2-e1)
  36474. } else {
  36475. v7 = libc.Xfabs(tls, b1-e2)
  36476. }
  36477. return v7
  36478. } else {
  36479. return float64(0)
  36480. }
  36481. return r
  36482. }
  36483. func _FcCompareSize(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36484. bp := tls.Alloc(32)
  36485. defer tls.Free(32)
  36486. var b1, b2, e1, e2, v11, v21, v3, v4, v5 float64
  36487. var _ /* value1 at bp+0 */ TFcValue
  36488. var _ /* value2 at bp+16 */ TFcValue
  36489. _, _, _, _, _, _, _, _, _ = b1, b2, e1, e2, v11, v21, v3, v4, v5
  36490. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  36491. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  36492. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  36493. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  36494. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36495. case int32(_FcTypeInteger):
  36496. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  36497. e1 = v11
  36498. b1 = v11
  36499. case int32(_FcTypeDouble):
  36500. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  36501. e1 = v21
  36502. b1 = v21
  36503. case int32(_FcTypeRange):
  36504. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  36505. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  36506. default:
  36507. return float64(-libc.Int32FromInt32(1))
  36508. }
  36509. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  36510. case int32(_FcTypeInteger):
  36511. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  36512. e2 = v3
  36513. b2 = v3
  36514. case int32(_FcTypeDouble):
  36515. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  36516. e2 = v4
  36517. b2 = v4
  36518. case int32(_FcTypeRange):
  36519. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  36520. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  36521. default:
  36522. return float64(-libc.Int32FromInt32(1))
  36523. }
  36524. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  36525. *(*float64)(unsafe.Pointer(bestValue + 8)) = (b1 + e1) * float64(0.5)
  36526. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  36527. if e1 < b2 || e2 < b1 {
  36528. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  36529. v5 = libc.Xfabs(tls, b2-e1)
  36530. } else {
  36531. v5 = libc.Xfabs(tls, b1-e2)
  36532. }
  36533. return v5
  36534. }
  36535. if b2 != e2 && b1 == e2 { /* Semi-closed interval. */
  36536. return float64(1e-15)
  36537. } else {
  36538. return float64(0)
  36539. }
  36540. return r
  36541. }
  36542. func _FcCompareFilename(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36543. var s1, s2, v11, v21 uintptr
  36544. _, _, _, _ = s1, s2, v11, v21
  36545. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36546. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36547. } else {
  36548. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36549. }
  36550. s1 = v11
  36551. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36552. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36553. } else {
  36554. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36555. }
  36556. s2 = v21
  36557. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  36558. if XFcStrCmp(tls, s1, s2) == 0 {
  36559. return float64(0)
  36560. } else {
  36561. if XFcStrCmpIgnoreCase(tls, s1, s2) == 0 {
  36562. return float64(1)
  36563. } else {
  36564. if XFcStrGlobMatch(tls, s1, s2) != 0 {
  36565. return float64(2)
  36566. } else {
  36567. return float64(3)
  36568. }
  36569. }
  36570. }
  36571. return r
  36572. }
  36573. /* Define priorities to -1 for objects that don't have a compare function. */
  36574. type TFcMatcherPriorityDummy = int32
  36575. /* Define priorities to -1 for objects that don't have a compare function. */
  36576. type __FcMatcherPriorityDummy = int32
  36577. const _PRI_FAMILYLANG_STRONG = -1
  36578. const _PRI_FAMILYLANG_WEAK = -1
  36579. const _PRI_STYLELANG_STRONG = -1
  36580. const _PRI_STYLELANG_WEAK = -1
  36581. const _PRI_FULLNAME_STRONG = -1
  36582. const _PRI_FULLNAME_WEAK = -1
  36583. const _PRI_FULLNAMELANG_STRONG = -1
  36584. const _PRI_FULLNAMELANG_WEAK = -1
  36585. const _PRI_ASPECT_STRONG = -1
  36586. const _PRI_ASPECT_WEAK = -1
  36587. const _PRI_HINT_STYLE_STRONG = -1
  36588. const _PRI_HINT_STYLE_WEAK = -1
  36589. const _PRI_HINTING_STRONG = -1
  36590. const _PRI_HINTING_WEAK = -1
  36591. const _PRI_VERTICAL_LAYOUT_STRONG = -1
  36592. const _PRI_VERTICAL_LAYOUT_WEAK = -1
  36593. const _PRI_AUTOHINT_STRONG = -1
  36594. const _PRI_AUTOHINT_WEAK = -1
  36595. const _PRI_GLOBAL_ADVANCE_STRONG = -1
  36596. const _PRI_GLOBAL_ADVANCE_WEAK = -1
  36597. const _PRI_INDEX_STRONG = -1
  36598. const _PRI_INDEX_WEAK = -1
  36599. const _PRI_DPI_STRONG = -1
  36600. const _PRI_DPI_WEAK = -1
  36601. const _PRI_RGBA_STRONG = -1
  36602. const _PRI_RGBA_WEAK = -1
  36603. const _PRI_SCALE_STRONG = -1
  36604. const _PRI_SCALE_WEAK = -1
  36605. const _PRI_MINSPACE_STRONG = -1
  36606. const _PRI_MINSPACE_WEAK = -1
  36607. const _PRI_CHARWIDTH_STRONG = -1
  36608. const _PRI_CHARWIDTH_WEAK = -1
  36609. const _PRI_CHAR_HEIGHT_STRONG = -1
  36610. const _PRI_CHAR_HEIGHT_WEAK = -1
  36611. const _PRI_MATRIX_STRONG = -1
  36612. const _PRI_MATRIX_WEAK = -1
  36613. const _PRI_CAPABILITY_STRONG = -1
  36614. const _PRI_CAPABILITY_WEAK = -1
  36615. const _PRI_EMBOLDEN_STRONG = -1
  36616. const _PRI_EMBOLDEN_WEAK = -1
  36617. const _PRI_EMBEDDED_BITMAP_STRONG = -1
  36618. const _PRI_EMBEDDED_BITMAP_WEAK = -1
  36619. const _PRI_LCD_FILTER_STRONG = -1
  36620. const _PRI_LCD_FILTER_WEAK = -1
  36621. const _PRI_NAMELANG_STRONG = -1
  36622. const _PRI_NAMELANG_WEAK = -1
  36623. const _PRI_FONT_FEATURES_STRONG = -1
  36624. const _PRI_FONT_FEATURES_WEAK = -1
  36625. const _PRI_PRGNAME_STRONG = -1
  36626. const _PRI_PRGNAME_WEAK = -1
  36627. const _PRI_HASH_STRONG = -1
  36628. const _PRI_HASH_WEAK = -1
  36629. const _PRI_FONT_VARIATIONS_STRONG = -1
  36630. const _PRI_FONT_VARIATIONS_WEAK = -1
  36631. /* Canonical match priority order. */
  36632. type TFcMatcherPriority = int32
  36633. /* Canonical match priority order. */
  36634. type __FcMatcherPriority = int32
  36635. const _PRI_FILE = 0
  36636. const _PRI_FILE_STRONG = 0
  36637. const _PRI_FILE_WEAK = 0
  36638. const _PRI_FONTFORMAT = 1
  36639. const _PRI_FONTFORMAT_STRONG = 1
  36640. const _PRI_FONTFORMAT_WEAK = 1
  36641. const _PRI_VARIABLE = 2
  36642. const _PRI_VARIABLE_STRONG = 2
  36643. const _PRI_VARIABLE_WEAK = 2
  36644. const _PRI_SCALABLE = 3
  36645. const _PRI_SCALABLE_STRONG = 3
  36646. const _PRI_SCALABLE_WEAK = 3
  36647. const _PRI_COLOR = 4
  36648. const _PRI_COLOR_STRONG = 4
  36649. const _PRI_COLOR_WEAK = 4
  36650. const _PRI_FOUNDRY = 5
  36651. const _PRI_FOUNDRY_STRONG = 5
  36652. const _PRI_FOUNDRY_WEAK = 5
  36653. const _PRI_CHARSET = 6
  36654. const _PRI_CHARSET_STRONG = 6
  36655. const _PRI_CHARSET_WEAK = 6
  36656. const _PRI_FAMILY_STRONG = 7
  36657. const _PRI_POSTSCRIPT_NAME_STRONG = 8
  36658. const _PRI_LANG = 9
  36659. const _PRI_LANG_STRONG = 9
  36660. const _PRI_LANG_WEAK = 9
  36661. const _PRI_FAMILY_WEAK = 10
  36662. const _PRI_POSTSCRIPT_NAME_WEAK = 11
  36663. const _PRI_SYMBOL = 12
  36664. const _PRI_SYMBOL_STRONG = 12
  36665. const _PRI_SYMBOL_WEAK = 12
  36666. const _PRI_SPACING = 13
  36667. const _PRI_SPACING_STRONG = 13
  36668. const _PRI_SPACING_WEAK = 13
  36669. const _PRI_SIZE = 14
  36670. const _PRI_SIZE_STRONG = 14
  36671. const _PRI_SIZE_WEAK = 14
  36672. const _PRI_PIXEL_SIZE = 15
  36673. const _PRI_PIXEL_SIZE_STRONG = 15
  36674. const _PRI_PIXEL_SIZE_WEAK = 15
  36675. const _PRI_STYLE = 16
  36676. const _PRI_STYLE_STRONG = 16
  36677. const _PRI_STYLE_WEAK = 16
  36678. const _PRI_SLANT = 17
  36679. const _PRI_SLANT_STRONG = 17
  36680. const _PRI_SLANT_WEAK = 17
  36681. const _PRI_WEIGHT = 18
  36682. const _PRI_WEIGHT_STRONG = 18
  36683. const _PRI_WEIGHT_WEAK = 18
  36684. const _PRI_WIDTH = 19
  36685. const _PRI_WIDTH_STRONG = 19
  36686. const _PRI_WIDTH_WEAK = 19
  36687. const _PRI_FONT_HAS_HINT = 20
  36688. const _PRI_FONT_HAS_HINT_STRONG = 20
  36689. const _PRI_FONT_HAS_HINT_WEAK = 20
  36690. const _PRI_DECORATIVE = 21
  36691. const _PRI_DECORATIVE_STRONG = 21
  36692. const _PRI_DECORATIVE_WEAK = 21
  36693. const _PRI_ANTIALIAS = 22
  36694. const _PRI_ANTIALIAS_STRONG = 22
  36695. const _PRI_ANTIALIAS_WEAK = 22
  36696. const _PRI_RASTERIZER = 23
  36697. const _PRI_RASTERIZER_STRONG = 23
  36698. const _PRI_RASTERIZER_WEAK = 23
  36699. const _PRI_OUTLINE = 24
  36700. const _PRI_OUTLINE_STRONG = 24
  36701. const _PRI_OUTLINE_WEAK = 24
  36702. const _PRI_ORDER = 25
  36703. const _PRI_ORDER_STRONG = 25
  36704. const _PRI_ORDER_WEAK = 25
  36705. const _PRI_FONTVERSION = 26
  36706. const _PRI_FONTVERSION_STRONG = 26
  36707. const _PRI_FONTVERSION_WEAK = 26
  36708. const _PRI_END = 27
  36709. type TFcMatcher = struct {
  36710. Fobject TFcObject
  36711. Fcompare uintptr
  36712. Fstrong int32
  36713. Fweak int32
  36714. }
  36715. type T_FcMatcher = TFcMatcher
  36716. // C documentation
  36717. //
  36718. // /*
  36719. // * Order is significant, it defines the precedence of
  36720. // * each value, earlier values are more significant than
  36721. // * later values
  36722. // */
  36723. var __FcMatchers = [53]TFcMatcher{
  36724. 0: {
  36725. Fstrong: -int32(1),
  36726. Fweak: -int32(1),
  36727. },
  36728. 1: {
  36729. Fobject: int32(_FC_FAMILY_OBJECT),
  36730. Fstrong: int32(_PRI_FAMILY_STRONG),
  36731. Fweak: int32(_PRI_FAMILY_WEAK),
  36732. },
  36733. 2: {
  36734. Fobject: int32(_FC_FAMILYLANG_OBJECT),
  36735. Fstrong: int32(_PRI_FAMILYLANG_STRONG),
  36736. Fweak: int32(_PRI_FAMILYLANG_WEAK),
  36737. },
  36738. 3: {
  36739. Fobject: int32(_FC_STYLE_OBJECT),
  36740. Fstrong: int32(_PRI_STYLE_STRONG),
  36741. Fweak: int32(_PRI_STYLE_WEAK),
  36742. },
  36743. 4: {
  36744. Fobject: int32(_FC_STYLELANG_OBJECT),
  36745. Fstrong: int32(_PRI_STYLELANG_STRONG),
  36746. Fweak: int32(_PRI_STYLELANG_WEAK),
  36747. },
  36748. 5: {
  36749. Fobject: int32(_FC_FULLNAME_OBJECT),
  36750. Fstrong: int32(_PRI_FULLNAME_STRONG),
  36751. Fweak: int32(_PRI_FULLNAME_WEAK),
  36752. },
  36753. 6: {
  36754. Fobject: int32(_FC_FULLNAMELANG_OBJECT),
  36755. Fstrong: int32(_PRI_FULLNAMELANG_STRONG),
  36756. Fweak: int32(_PRI_FULLNAMELANG_WEAK),
  36757. },
  36758. 7: {
  36759. Fobject: int32(_FC_SLANT_OBJECT),
  36760. Fstrong: int32(_PRI_SLANT_STRONG),
  36761. Fweak: int32(_PRI_SLANT_WEAK),
  36762. },
  36763. 8: {
  36764. Fobject: int32(_FC_WEIGHT_OBJECT),
  36765. Fstrong: int32(_PRI_WEIGHT_STRONG),
  36766. Fweak: int32(_PRI_WEIGHT_WEAK),
  36767. },
  36768. 9: {
  36769. Fobject: int32(_FC_WIDTH_OBJECT),
  36770. Fstrong: int32(_PRI_WIDTH_STRONG),
  36771. Fweak: int32(_PRI_WIDTH_WEAK),
  36772. },
  36773. 10: {
  36774. Fobject: int32(_FC_SIZE_OBJECT),
  36775. Fstrong: int32(_PRI_SIZE_STRONG),
  36776. Fweak: int32(_PRI_SIZE_WEAK),
  36777. },
  36778. 11: {
  36779. Fobject: int32(_FC_ASPECT_OBJECT),
  36780. Fstrong: int32(_PRI_ASPECT_STRONG),
  36781. Fweak: int32(_PRI_ASPECT_WEAK),
  36782. },
  36783. 12: {
  36784. Fobject: int32(_FC_PIXEL_SIZE_OBJECT),
  36785. Fstrong: int32(_PRI_PIXEL_SIZE_STRONG),
  36786. Fweak: int32(_PRI_PIXEL_SIZE_WEAK),
  36787. },
  36788. 13: {
  36789. Fobject: int32(_FC_SPACING_OBJECT),
  36790. Fstrong: int32(_PRI_SPACING_STRONG),
  36791. Fweak: int32(_PRI_SPACING_WEAK),
  36792. },
  36793. 14: {
  36794. Fobject: int32(_FC_FOUNDRY_OBJECT),
  36795. Fstrong: int32(_PRI_FOUNDRY_STRONG),
  36796. Fweak: int32(_PRI_FOUNDRY_WEAK),
  36797. },
  36798. 15: {
  36799. Fobject: int32(_FC_ANTIALIAS_OBJECT),
  36800. Fstrong: int32(_PRI_ANTIALIAS_STRONG),
  36801. Fweak: int32(_PRI_ANTIALIAS_WEAK),
  36802. },
  36803. 16: {
  36804. Fobject: int32(_FC_HINT_STYLE_OBJECT),
  36805. Fstrong: int32(_PRI_HINT_STYLE_STRONG),
  36806. Fweak: int32(_PRI_HINT_STYLE_WEAK),
  36807. },
  36808. 17: {
  36809. Fobject: int32(_FC_HINTING_OBJECT),
  36810. Fstrong: int32(_PRI_HINTING_STRONG),
  36811. Fweak: int32(_PRI_HINTING_WEAK),
  36812. },
  36813. 18: {
  36814. Fobject: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  36815. Fstrong: int32(_PRI_VERTICAL_LAYOUT_STRONG),
  36816. Fweak: int32(_PRI_VERTICAL_LAYOUT_WEAK),
  36817. },
  36818. 19: {
  36819. Fobject: int32(_FC_AUTOHINT_OBJECT),
  36820. Fstrong: int32(_PRI_AUTOHINT_STRONG),
  36821. Fweak: int32(_PRI_AUTOHINT_WEAK),
  36822. },
  36823. 20: {
  36824. Fobject: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  36825. Fstrong: int32(_PRI_GLOBAL_ADVANCE_STRONG),
  36826. Fweak: int32(_PRI_GLOBAL_ADVANCE_WEAK),
  36827. },
  36828. 21: {
  36829. Fobject: int32(_FC_FILE_OBJECT),
  36830. },
  36831. 22: {
  36832. Fobject: int32(_FC_INDEX_OBJECT),
  36833. Fstrong: int32(_PRI_INDEX_STRONG),
  36834. Fweak: int32(_PRI_INDEX_WEAK),
  36835. },
  36836. 23: {
  36837. Fobject: int32(_FC_RASTERIZER_OBJECT),
  36838. Fstrong: int32(_PRI_RASTERIZER_STRONG),
  36839. Fweak: int32(_PRI_RASTERIZER_WEAK),
  36840. },
  36841. 24: {
  36842. Fobject: int32(_FC_OUTLINE_OBJECT),
  36843. Fstrong: int32(_PRI_OUTLINE_STRONG),
  36844. Fweak: int32(_PRI_OUTLINE_WEAK),
  36845. },
  36846. 25: {
  36847. Fobject: int32(_FC_SCALABLE_OBJECT),
  36848. Fstrong: int32(_PRI_SCALABLE_STRONG),
  36849. Fweak: int32(_PRI_SCALABLE_WEAK),
  36850. },
  36851. 26: {
  36852. Fobject: int32(_FC_DPI_OBJECT),
  36853. Fstrong: int32(_PRI_DPI_STRONG),
  36854. Fweak: int32(_PRI_DPI_WEAK),
  36855. },
  36856. 27: {
  36857. Fobject: int32(_FC_RGBA_OBJECT),
  36858. Fstrong: int32(_PRI_RGBA_STRONG),
  36859. Fweak: int32(_PRI_RGBA_WEAK),
  36860. },
  36861. 28: {
  36862. Fobject: int32(_FC_SCALE_OBJECT),
  36863. Fstrong: int32(_PRI_SCALE_STRONG),
  36864. Fweak: int32(_PRI_SCALE_WEAK),
  36865. },
  36866. 29: {
  36867. Fobject: int32(_FC_MINSPACE_OBJECT),
  36868. Fstrong: int32(_PRI_MINSPACE_STRONG),
  36869. Fweak: int32(_PRI_MINSPACE_WEAK),
  36870. },
  36871. 30: {
  36872. Fobject: int32(_FC_CHARWIDTH_OBJECT),
  36873. Fstrong: int32(_PRI_CHARWIDTH_STRONG),
  36874. Fweak: int32(_PRI_CHARWIDTH_WEAK),
  36875. },
  36876. 31: {
  36877. Fobject: int32(_FC_CHAR_HEIGHT_OBJECT),
  36878. Fstrong: int32(_PRI_CHAR_HEIGHT_STRONG),
  36879. Fweak: int32(_PRI_CHAR_HEIGHT_WEAK),
  36880. },
  36881. 32: {
  36882. Fobject: int32(_FC_MATRIX_OBJECT),
  36883. Fstrong: int32(_PRI_MATRIX_STRONG),
  36884. Fweak: int32(_PRI_MATRIX_WEAK),
  36885. },
  36886. 33: {
  36887. Fobject: int32(_FC_CHARSET_OBJECT),
  36888. Fstrong: int32(_PRI_CHARSET_STRONG),
  36889. Fweak: int32(_PRI_CHARSET_WEAK),
  36890. },
  36891. 34: {
  36892. Fobject: int32(_FC_LANG_OBJECT),
  36893. Fstrong: int32(_PRI_LANG_STRONG),
  36894. Fweak: int32(_PRI_LANG_WEAK),
  36895. },
  36896. 35: {
  36897. Fobject: int32(_FC_FONTVERSION_OBJECT),
  36898. Fstrong: int32(_PRI_FONTVERSION_STRONG),
  36899. Fweak: int32(_PRI_FONTVERSION_WEAK),
  36900. },
  36901. 36: {
  36902. Fobject: int32(_FC_CAPABILITY_OBJECT),
  36903. Fstrong: int32(_PRI_CAPABILITY_STRONG),
  36904. Fweak: int32(_PRI_CAPABILITY_WEAK),
  36905. },
  36906. 37: {
  36907. Fobject: int32(_FC_FONTFORMAT_OBJECT),
  36908. Fstrong: int32(_PRI_FONTFORMAT_STRONG),
  36909. Fweak: int32(_PRI_FONTFORMAT_WEAK),
  36910. },
  36911. 38: {
  36912. Fobject: int32(_FC_EMBOLDEN_OBJECT),
  36913. Fstrong: int32(_PRI_EMBOLDEN_STRONG),
  36914. Fweak: int32(_PRI_EMBOLDEN_WEAK),
  36915. },
  36916. 39: {
  36917. Fobject: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  36918. Fstrong: int32(_PRI_EMBEDDED_BITMAP_STRONG),
  36919. Fweak: int32(_PRI_EMBEDDED_BITMAP_WEAK),
  36920. },
  36921. 40: {
  36922. Fobject: int32(_FC_DECORATIVE_OBJECT),
  36923. Fstrong: int32(_PRI_DECORATIVE_STRONG),
  36924. Fweak: int32(_PRI_DECORATIVE_WEAK),
  36925. },
  36926. 41: {
  36927. Fobject: int32(_FC_LCD_FILTER_OBJECT),
  36928. Fstrong: int32(_PRI_LCD_FILTER_STRONG),
  36929. Fweak: int32(_PRI_LCD_FILTER_WEAK),
  36930. },
  36931. 42: {
  36932. Fobject: int32(_FC_NAMELANG_OBJECT),
  36933. Fstrong: int32(_PRI_NAMELANG_STRONG),
  36934. Fweak: int32(_PRI_NAMELANG_WEAK),
  36935. },
  36936. 43: {
  36937. Fobject: int32(_FC_FONT_FEATURES_OBJECT),
  36938. Fstrong: int32(_PRI_FONT_FEATURES_STRONG),
  36939. Fweak: int32(_PRI_FONT_FEATURES_WEAK),
  36940. },
  36941. 44: {
  36942. Fobject: int32(_FC_PRGNAME_OBJECT),
  36943. Fstrong: int32(_PRI_PRGNAME_STRONG),
  36944. Fweak: int32(_PRI_PRGNAME_WEAK),
  36945. },
  36946. 45: {
  36947. Fobject: int32(_FC_HASH_OBJECT),
  36948. Fstrong: int32(_PRI_HASH_STRONG),
  36949. Fweak: int32(_PRI_HASH_WEAK),
  36950. },
  36951. 46: {
  36952. Fobject: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  36953. Fstrong: int32(_PRI_POSTSCRIPT_NAME_STRONG),
  36954. Fweak: int32(_PRI_POSTSCRIPT_NAME_WEAK),
  36955. },
  36956. 47: {
  36957. Fobject: int32(_FC_COLOR_OBJECT),
  36958. Fstrong: int32(_PRI_COLOR_STRONG),
  36959. Fweak: int32(_PRI_COLOR_WEAK),
  36960. },
  36961. 48: {
  36962. Fobject: int32(_FC_SYMBOL_OBJECT),
  36963. Fstrong: int32(_PRI_SYMBOL_STRONG),
  36964. Fweak: int32(_PRI_SYMBOL_WEAK),
  36965. },
  36966. 49: {
  36967. Fobject: int32(_FC_FONT_VARIATIONS_OBJECT),
  36968. Fstrong: int32(_PRI_FONT_VARIATIONS_STRONG),
  36969. Fweak: int32(_PRI_FONT_VARIATIONS_WEAK),
  36970. },
  36971. 50: {
  36972. Fobject: int32(_FC_VARIABLE_OBJECT),
  36973. Fstrong: int32(_PRI_VARIABLE_STRONG),
  36974. Fweak: int32(_PRI_VARIABLE_WEAK),
  36975. },
  36976. 51: {
  36977. Fobject: int32(_FC_FONT_HAS_HINT_OBJECT),
  36978. Fstrong: int32(_PRI_FONT_HAS_HINT_STRONG),
  36979. Fweak: int32(_PRI_FONT_HAS_HINT_WEAK),
  36980. },
  36981. 52: {
  36982. Fobject: int32(_FC_ORDER_OBJECT),
  36983. Fstrong: int32(_PRI_ORDER_STRONG),
  36984. Fweak: int32(_PRI_ORDER_WEAK),
  36985. },
  36986. }
  36987. func init() {
  36988. p := unsafe.Pointer(&__FcMatchers)
  36989. *(*uintptr)(unsafe.Add(p, 32)) = __ccgo_fp(_FcCompareFamily)
  36990. *(*uintptr)(unsafe.Add(p, 80)) = __ccgo_fp(_FcCompareString)
  36991. *(*uintptr)(unsafe.Add(p, 176)) = __ccgo_fp(_FcCompareNumber)
  36992. *(*uintptr)(unsafe.Add(p, 200)) = __ccgo_fp(_FcCompareRange)
  36993. *(*uintptr)(unsafe.Add(p, 224)) = __ccgo_fp(_FcCompareRange)
  36994. *(*uintptr)(unsafe.Add(p, 248)) = __ccgo_fp(_FcCompareSize)
  36995. *(*uintptr)(unsafe.Add(p, 296)) = __ccgo_fp(_FcCompareNumber)
  36996. *(*uintptr)(unsafe.Add(p, 320)) = __ccgo_fp(_FcCompareNumber)
  36997. *(*uintptr)(unsafe.Add(p, 344)) = __ccgo_fp(_FcCompareString)
  36998. *(*uintptr)(unsafe.Add(p, 368)) = __ccgo_fp(_FcCompareBool)
  36999. *(*uintptr)(unsafe.Add(p, 512)) = __ccgo_fp(_FcCompareFilename)
  37000. *(*uintptr)(unsafe.Add(p, 560)) = __ccgo_fp(_FcCompareString)
  37001. *(*uintptr)(unsafe.Add(p, 584)) = __ccgo_fp(_FcCompareBool)
  37002. *(*uintptr)(unsafe.Add(p, 608)) = __ccgo_fp(_FcCompareBool)
  37003. *(*uintptr)(unsafe.Add(p, 800)) = __ccgo_fp(_FcCompareCharSet)
  37004. *(*uintptr)(unsafe.Add(p, 824)) = __ccgo_fp(_FcCompareLang)
  37005. *(*uintptr)(unsafe.Add(p, 848)) = __ccgo_fp(_FcCompareNumber)
  37006. *(*uintptr)(unsafe.Add(p, 896)) = __ccgo_fp(_FcCompareString)
  37007. *(*uintptr)(unsafe.Add(p, 968)) = __ccgo_fp(_FcCompareBool)
  37008. *(*uintptr)(unsafe.Add(p, 1112)) = __ccgo_fp(_FcComparePostScript)
  37009. *(*uintptr)(unsafe.Add(p, 1136)) = __ccgo_fp(_FcCompareBool)
  37010. *(*uintptr)(unsafe.Add(p, 1160)) = __ccgo_fp(_FcCompareBool)
  37011. *(*uintptr)(unsafe.Add(p, 1208)) = __ccgo_fp(_FcCompareBool)
  37012. *(*uintptr)(unsafe.Add(p, 1232)) = __ccgo_fp(_FcCompareBool)
  37013. *(*uintptr)(unsafe.Add(p, 1256)) = __ccgo_fp(_FcCompareNumber)
  37014. }
  37015. func _FcObjectToMatcher(tls *libc.TLS, object TFcObject, include_lang TFcBool) (r uintptr) {
  37016. if include_lang != 0 {
  37017. switch object {
  37018. case int32(_FC_FAMILYLANG_OBJECT):
  37019. fallthrough
  37020. case int32(_FC_STYLELANG_OBJECT):
  37021. fallthrough
  37022. case int32(_FC_FULLNAMELANG_OBJECT):
  37023. object = int32(_FC_LANG_OBJECT)
  37024. break
  37025. }
  37026. }
  37027. if object > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) || !(__FcMatchers[object].Fcompare != 0) || __FcMatchers[object].Fstrong == -int32(1) || __FcMatchers[object].Fweak == -int32(1) {
  37028. return libc.UintptrFromInt32(0)
  37029. }
  37030. return uintptr(unsafe.Pointer(&__FcMatchers)) + uintptr(object)*24
  37031. }
  37032. func _FcCompareValueList(tls *libc.TLS, object TFcObject, match uintptr, v1orig TFcValueListPtr, v2orig TFcValueListPtr, bestValue uintptr, value uintptr, n uintptr, result uintptr) (r TFcBool) {
  37033. bp := tls.Alloc(48)
  37034. defer tls.Free(48)
  37035. var best, bestStrong, bestWeak, v float64
  37036. var j, k, pos, strong, weak, v3 int32
  37037. var v1, v2 TFcValueListPtr
  37038. var v4, v5 uintptr
  37039. var _ /* matchValue at bp+0 */ TFcValue
  37040. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestStrong, bestWeak, j, k, pos, strong, v, v1, v2, weak, v3, v4, v5
  37041. pos = 0
  37042. if !(match != 0) {
  37043. if bestValue != 0 {
  37044. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2orig+8)
  37045. }
  37046. if n != 0 {
  37047. *(*int32)(unsafe.Pointer(n)) = 0
  37048. }
  37049. return int32(m_FcTrue)
  37050. }
  37051. weak = (*TFcMatcher)(unsafe.Pointer(match)).Fweak
  37052. strong = (*TFcMatcher)(unsafe.Pointer(match)).Fstrong
  37053. best = float64(1e+99)
  37054. bestStrong = float64(1e+99)
  37055. bestWeak = float64(1e+99)
  37056. v1 = v1orig
  37057. j = libc.Int32FromInt32(0)
  37058. for {
  37059. if !(v1 != 0) {
  37060. break
  37061. }
  37062. v2 = v2orig
  37063. k = libc.Int32FromInt32(0)
  37064. for {
  37065. if !(v2 != 0) {
  37066. break
  37067. }
  37068. v = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) float64)(unsafe.Pointer(&struct{ uintptr }{(*TFcMatcher)(unsafe.Pointer(match)).Fcompare})))(tls, v1+8, v2+8, bp)
  37069. if v < libc.Float64FromInt32(0) {
  37070. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultTypeMismatch)
  37071. return m_FcFalse
  37072. }
  37073. if (*T_FcValueList)(unsafe.Pointer(v2)).Fvalue.Ftype1 == int32(_FcTypeString) {
  37074. v3 = int32(1)
  37075. } else {
  37076. v3 = 0
  37077. }
  37078. v = v*libc.Float64FromInt32(1000) + float64(j*int32(100)) + float64(k*v3)
  37079. if v < best {
  37080. if bestValue != 0 {
  37081. *(*TFcValue)(unsafe.Pointer(bestValue)) = *(*TFcValue)(unsafe.Pointer(bp))
  37082. }
  37083. best = v
  37084. pos = k
  37085. }
  37086. if weak == strong {
  37087. /* found the best possible match */
  37088. if best < libc.Float64FromInt32(1000) {
  37089. goto done
  37090. }
  37091. } else {
  37092. if (*T_FcValueList)(unsafe.Pointer(v1)).Fbinding == int32(_FcValueBindingStrong) {
  37093. if v < bestStrong {
  37094. bestStrong = v
  37095. }
  37096. } else {
  37097. if v < bestWeak {
  37098. bestWeak = v
  37099. }
  37100. }
  37101. }
  37102. goto _2
  37103. _2:
  37104. ;
  37105. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  37106. v4 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37107. } else {
  37108. v4 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  37109. }
  37110. v2 = v4
  37111. k++
  37112. }
  37113. goto _1
  37114. _1:
  37115. ;
  37116. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  37117. v5 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37118. } else {
  37119. v5 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  37120. }
  37121. v1 = v5
  37122. j++
  37123. }
  37124. goto done
  37125. done:
  37126. ;
  37127. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37128. libc.Xprintf(tls, __ccgo_ts+6030, libc.VaList(bp+24, XFcObjectName(tls, object), best))
  37129. XFcValueListPrint(tls, v1orig)
  37130. libc.Xprintf(tls, __ccgo_ts+6039, 0)
  37131. XFcValueListPrint(tls, v2orig)
  37132. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  37133. }
  37134. if value != 0 {
  37135. if weak == strong {
  37136. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += best
  37137. } else {
  37138. *(*float64)(unsafe.Pointer(value + uintptr(weak)*8)) += bestWeak
  37139. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += bestStrong
  37140. }
  37141. }
  37142. if n != 0 {
  37143. *(*int32)(unsafe.Pointer(n)) = pos
  37144. }
  37145. return int32(m_FcTrue)
  37146. }
  37147. // C documentation
  37148. //
  37149. // /* The bulk of the time in FcFontMatch and FcFontSort goes to
  37150. // * walking long lists of family names. We speed this up with a
  37151. // * hash table.
  37152. // */
  37153. type TFamilyEntry = struct {
  37154. Fstrong_value float64
  37155. Fweak_value float64
  37156. }
  37157. type TFcCompareData = struct {
  37158. Ffamily_hash uintptr
  37159. }
  37160. func _FcCompareDataClear(tls *libc.TLS, data uintptr) {
  37161. XFcHashTableDestroy(tls, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash)
  37162. }
  37163. func _FcCompareDataInit(tls *libc.TLS, pat uintptr, data uintptr) {
  37164. bp := tls.Alloc(16)
  37165. defer tls.Free(16)
  37166. var elt, key, table, v2, v3, v4 uintptr
  37167. var i int32
  37168. var l TFcValueListPtr
  37169. var _ /* e at bp+0 */ uintptr
  37170. _, _, _, _, _, _, _, _ = elt, i, key, l, table, v2, v3, v4
  37171. table = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreBlanksAndCase), __ccgo_fp(XFcStrCmpIgnoreBlanksAndCase), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree))
  37172. elt = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  37173. if elt != 0 {
  37174. if int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(1) != 0 {
  37175. v2 = uintptr(int64(elt) + int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37176. } else {
  37177. v2 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  37178. }
  37179. l = v2
  37180. i = libc.Int32FromInt32(0)
  37181. for {
  37182. if !(l != 0) {
  37183. break
  37184. }
  37185. if int64(*(*uintptr)(unsafe.Pointer(l + 8 + 8)))&int64(1) != 0 {
  37186. v3 = uintptr(Tintptr_t(l+8) + int64(*(*uintptr)(unsafe.Pointer(l + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  37187. } else {
  37188. v3 = *(*uintptr)(unsafe.Pointer(l + 8 + 8))
  37189. }
  37190. key = v3
  37191. if !(XFcHashTableFind(tls, table, key, bp) != 0) {
  37192. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(16))
  37193. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(1e+99)
  37194. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(1e+99)
  37195. XFcHashTableAdd(tls, table, key, *(*uintptr)(unsafe.Pointer(bp)))
  37196. }
  37197. if (*T_FcValueList)(unsafe.Pointer(l)).Fbinding == int32(_FcValueBindingWeak) {
  37198. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value {
  37199. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(i)
  37200. }
  37201. } else {
  37202. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value {
  37203. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(i)
  37204. }
  37205. }
  37206. goto _1
  37207. _1:
  37208. ;
  37209. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  37210. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37211. } else {
  37212. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37213. }
  37214. l = v4
  37215. i++
  37216. }
  37217. }
  37218. (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash = table
  37219. }
  37220. func _FcCompareFamilies(tls *libc.TLS, pat uintptr, v1orig TFcValueListPtr, fnt uintptr, v2orig TFcValueListPtr, value uintptr, result uintptr, table uintptr) (r TFcBool) {
  37221. bp := tls.Alloc(32)
  37222. defer tls.Free(32)
  37223. var key, v21, v3 uintptr
  37224. var strong_value, weak_value float64
  37225. var v2 TFcValueListPtr
  37226. var _ /* e at bp+0 */ uintptr
  37227. _, _, _, _, _, _ = key, strong_value, v2, weak_value, v21, v3
  37228. strong_value = float64(1e+99)
  37229. weak_value = float64(1e+99)
  37230. v2 = v2orig
  37231. for {
  37232. if !(v2 != 0) {
  37233. break
  37234. }
  37235. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8 + 8)))&int64(1) != 0 {
  37236. v21 = uintptr(Tintptr_t(v2+8) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  37237. } else {
  37238. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8 + 8))
  37239. }
  37240. key = v21
  37241. if XFcHashTableFind(tls, table, key, bp) != 0 {
  37242. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value < strong_value {
  37243. strong_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value
  37244. }
  37245. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value < weak_value {
  37246. weak_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value
  37247. }
  37248. }
  37249. goto _1
  37250. _1:
  37251. ;
  37252. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  37253. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37254. } else {
  37255. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  37256. }
  37257. v2 = v3
  37258. }
  37259. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37260. libc.Xprintf(tls, __ccgo_ts+6042, libc.VaList(bp+16, XFcObjectName(tls, int32(_FC_FAMILY_OBJECT)), strong_value))
  37261. XFcValueListPrint(tls, v1orig)
  37262. libc.Xprintf(tls, __ccgo_ts+6039, 0)
  37263. XFcValueListPrint(tls, v2orig)
  37264. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  37265. }
  37266. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_STRONG)*8)) = strong_value
  37267. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_WEAK)*8)) = weak_value
  37268. return int32(m_FcTrue)
  37269. }
  37270. /*
  37271. * Return a value indicating the distance between the two lists of
  37272. * values
  37273. */
  37274. func _FcCompare(tls *libc.TLS, pat uintptr, fnt uintptr, value uintptr, result uintptr, data uintptr) (r TFcBool) {
  37275. var elt_i1, elt_i2, match, v2, v3, v4, v5 uintptr
  37276. var i, i1, i2 int32
  37277. _, _, _, _, _, _, _, _, _, _ = elt_i1, elt_i2, i, i1, i2, match, v2, v3, v4, v5
  37278. i = 0
  37279. for {
  37280. if !(i < int32(_PRI_END)) {
  37281. break
  37282. }
  37283. *(*float64)(unsafe.Pointer(value + uintptr(i)*8)) = float64(0)
  37284. goto _1
  37285. _1:
  37286. ;
  37287. i++
  37288. }
  37289. i1 = 0
  37290. i2 = 0
  37291. for i1 < (*TFcPattern)(unsafe.Pointer(pat)).Fnum && i2 < (*TFcPattern)(unsafe.Pointer(fnt)).Fnum {
  37292. elt_i1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i1)*16
  37293. elt_i2 = uintptr(int64(fnt)+(*TFcPattern)(unsafe.Pointer(fnt)).Felts_offset) + uintptr(i2)*16
  37294. i = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject - (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fobject
  37295. if i > 0 {
  37296. i2++
  37297. } else {
  37298. if i < 0 {
  37299. i1++
  37300. } else {
  37301. if (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject == int32(_FC_FAMILY_OBJECT) && (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash != 0 {
  37302. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(1) != 0 {
  37303. v2 = uintptr(int64(elt_i1) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37304. } else {
  37305. v2 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  37306. }
  37307. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(1) != 0 {
  37308. v3 = uintptr(int64(elt_i2) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37309. } else {
  37310. v3 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  37311. }
  37312. if !(_FcCompareFamilies(tls, pat, v2, fnt, v3, value, result, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash) != 0) {
  37313. return m_FcFalse
  37314. }
  37315. i1++
  37316. i2++
  37317. } else {
  37318. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, m_FcFalse)
  37319. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(1) != 0 {
  37320. v4 = uintptr(int64(elt_i1) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37321. } else {
  37322. v4 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  37323. }
  37324. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(1) != 0 {
  37325. v5 = uintptr(int64(elt_i2) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37326. } else {
  37327. v5 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  37328. }
  37329. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, match, v4, v5, libc.UintptrFromInt32(0), value, libc.UintptrFromInt32(0), result) != 0) {
  37330. return m_FcFalse
  37331. }
  37332. i1++
  37333. i2++
  37334. }
  37335. }
  37336. }
  37337. }
  37338. return int32(m_FcTrue)
  37339. }
  37340. func XFcFontRenderPrepare(tls *libc.TLS, config uintptr, pat uintptr, font uintptr) (r uintptr) {
  37341. bp := tls.Alloc(352)
  37342. defer tls.Free(352)
  37343. var binding TFcValueBinding
  37344. var fe, fel, func1, match, match1, new1, pe, pel, tag, v10, v11, v12, v13, v14, v15, v17, v19, v2, v3, v5, v6, v7, v8, v9 uintptr
  37345. var i, j int32
  37346. var l1, l11, l2, l21, ll, ln TFcValueListPtr
  37347. var num float64
  37348. var v16 bool
  37349. var _ /* n at bp+176 */ int32
  37350. var _ /* result at bp+16 */ TFcResult
  37351. var _ /* temp at bp+180 */ [128]TFcChar8
  37352. var _ /* v at bp+0 */ TFcValue
  37353. var _ /* variable at bp+20 */ TFcBool
  37354. var _ /* variations at bp+24 */ TFcStrBuf
  37355. var _ /* vars at bp+312 */ uintptr
  37356. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = binding, fe, fel, func1, i, j, l1, l11, l2, l21, ll, ln, match, match1, new1, num, pe, pel, tag, v10, v11, v12, v13, v14, v15, v16, v17, v19, v2, v3, v5, v6, v7, v8, v9
  37357. *(*TFcBool)(unsafe.Pointer(bp + 20)) = m_FcFalse
  37358. XFcPatternObjectGetBool(tls, font, int32(_FC_VARIABLE_OBJECT), 0, bp+20)
  37359. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 {
  37360. XFcStrBufInit(tls, bp+24, libc.UintptrFromInt32(0), 0)
  37361. }
  37362. new1 = XFcPatternCreate(tls)
  37363. if !(new1 != 0) {
  37364. return libc.UintptrFromInt32(0)
  37365. }
  37366. i = 0
  37367. for {
  37368. if !(i < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  37369. break
  37370. }
  37371. fe = uintptr(int64(font)+(*TFcPattern)(unsafe.Pointer(font)).Felts_offset) + uintptr(i)*16
  37372. if (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FAMILYLANG_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_STYLELANG_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FULLNAMELANG_OBJECT) {
  37373. /* ignore those objects. we need to deal with them
  37374. * another way */
  37375. goto _1
  37376. }
  37377. if (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FAMILY_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_STYLE_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FULLNAME_OBJECT) {
  37378. fel = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  37379. pel = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  37380. if fel != 0 && pel != 0 {
  37381. /* The font has name languages, and pattern asks for specific language(s).
  37382. * Match on language and and prefer that result.
  37383. * Note: Currently the code only give priority to first matching language.
  37384. */
  37385. *(*int32)(unsafe.Pointer(bp + 176)) = int32(1)
  37386. ln = libc.UintptrFromInt32(0)
  37387. ll = libc.UintptrFromInt32(0)
  37388. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, int32(m_FcTrue))
  37389. if int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(1) != 0 {
  37390. v2 = uintptr(int64(pel) + int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37391. } else {
  37392. v2 = (*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues
  37393. }
  37394. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  37395. v3 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37396. } else {
  37397. v3 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  37398. }
  37399. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, match, v2, v3, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+176, bp+16) != 0) {
  37400. XFcPatternDestroy(tls, new1)
  37401. return libc.UintptrFromInt32(0)
  37402. }
  37403. j = 0
  37404. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  37405. v5 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37406. } else {
  37407. v5 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  37408. }
  37409. l1 = v5
  37410. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  37411. v6 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37412. } else {
  37413. v6 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  37414. }
  37415. l2 = v6
  37416. for {
  37417. if !(l1 != libc.UintptrFromInt32(0) || l2 != libc.UintptrFromInt32(0)) {
  37418. break
  37419. }
  37420. binding = int32(_FcValueBindingEnd)
  37421. if j == *(*int32)(unsafe.Pointer(bp + 176)) {
  37422. binding = int32(_FcValueBindingStrong)
  37423. func1 = __ccgo_fp(XFcValueListPrepend)
  37424. } else {
  37425. func1 = __ccgo_fp(XFcValueListAppend)
  37426. }
  37427. if l1 != 0 {
  37428. ln = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ln, XFcValueCanonicalize(tls, l1+8), (*T_FcValueList)(unsafe.Pointer(l1)).Fbinding)
  37429. }
  37430. if l2 != 0 {
  37431. if binding == int32(_FcValueBindingEnd) {
  37432. binding = (*T_FcValueList)(unsafe.Pointer(l2)).Fbinding
  37433. }
  37434. ll = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ll, XFcValueCanonicalize(tls, l2+8), binding)
  37435. }
  37436. goto _4
  37437. _4:
  37438. ;
  37439. j++
  37440. if l1 != 0 {
  37441. if int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(1) != 0 {
  37442. v8 = uintptr(int64(l1) + int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37443. } else {
  37444. v8 = (*T_FcValueList)(unsafe.Pointer(l1)).Fnext
  37445. }
  37446. v7 = v8
  37447. } else {
  37448. v7 = libc.UintptrFromInt32(0)
  37449. }
  37450. l1 = v7
  37451. if l2 != 0 {
  37452. if int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(1) != 0 {
  37453. v10 = uintptr(int64(l2) + int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37454. } else {
  37455. v10 = (*T_FcValueList)(unsafe.Pointer(l2)).Fnext
  37456. }
  37457. v9 = v10
  37458. } else {
  37459. v9 = libc.UintptrFromInt32(0)
  37460. }
  37461. l2 = v9
  37462. }
  37463. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, ln, m_FcFalse)
  37464. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, ll, m_FcFalse)
  37465. goto _1
  37466. } else {
  37467. if fel != 0 {
  37468. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  37469. v11 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37470. } else {
  37471. v11 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  37472. }
  37473. l11 = XFcValueListDuplicate(tls, v11)
  37474. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  37475. v12 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37476. } else {
  37477. v12 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  37478. }
  37479. l21 = XFcValueListDuplicate(tls, v12)
  37480. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, l11, m_FcFalse)
  37481. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, l21, m_FcFalse)
  37482. goto _1
  37483. }
  37484. }
  37485. }
  37486. pe = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject)
  37487. if pe != 0 {
  37488. match1 = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, m_FcFalse)
  37489. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  37490. v13 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37491. } else {
  37492. v13 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  37493. }
  37494. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  37495. v14 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37496. } else {
  37497. v14 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  37498. }
  37499. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, match1, v13, v14, bp, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+16) != 0) {
  37500. XFcPatternDestroy(tls, new1)
  37501. return libc.UintptrFromInt32(0)
  37502. }
  37503. XFcPatternObjectAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, *(*TFcValue)(unsafe.Pointer(bp)), m_FcFalse)
  37504. /* Set font-variations settings for standard axes in variable fonts. */
  37505. if v16 = *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0; v16 {
  37506. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  37507. v15 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37508. } else {
  37509. v15 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  37510. }
  37511. }
  37512. if v16 && (*TFcValueList)(unsafe.Pointer(v15)).Fvalue.Ftype1 == int32(_FcTypeRange) && ((*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_WEIGHT_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_WIDTH_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_SIZE_OBJECT)) {
  37513. tag = __ccgo_ts + 6050
  37514. num = *(*float64)(unsafe.Pointer(bp + 8))
  37515. if (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  37516. XFcStrBufChar(tls, bp+24, uint8(','))
  37517. }
  37518. switch (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject {
  37519. case int32(_FC_WEIGHT_OBJECT):
  37520. tag = __ccgo_ts + 6055
  37521. num = float64(XFcWeightToOpenType(tls, int32(num)))
  37522. case int32(_FC_WIDTH_OBJECT):
  37523. tag = __ccgo_ts + 6060
  37524. case int32(_FC_SIZE_OBJECT):
  37525. tag = __ccgo_ts + 6065
  37526. break
  37527. }
  37528. libc.X__builtin___sprintf_chk(tls, bp+180, 0, ^t__predefined_size_t(0), __ccgo_ts+6070, libc.VaList(bp+328, tag, num))
  37529. XFcStrBufString(tls, bp+24, bp+180)
  37530. }
  37531. } else {
  37532. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  37533. v17 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37534. } else {
  37535. v17 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  37536. }
  37537. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, XFcValueListDuplicate(tls, v17), int32(m_FcTrue))
  37538. }
  37539. goto _1
  37540. _1:
  37541. ;
  37542. i++
  37543. }
  37544. i = 0
  37545. for {
  37546. if !(i < (*TFcPattern)(unsafe.Pointer(pat)).Fnum) {
  37547. break
  37548. }
  37549. pe = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i)*16
  37550. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  37551. if !(fe != 0) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_FAMILYLANG_OBJECT) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_STYLELANG_OBJECT) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_FULLNAMELANG_OBJECT) {
  37552. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  37553. v19 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37554. } else {
  37555. v19 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  37556. }
  37557. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, XFcValueListDuplicate(tls, v19), m_FcFalse)
  37558. }
  37559. goto _18
  37560. _18:
  37561. ;
  37562. i++
  37563. }
  37564. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 && (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  37565. *(*uintptr)(unsafe.Pointer(bp + 312)) = libc.UintptrFromInt32(0)
  37566. if XFcPatternObjectGetString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), 0, bp+312) == int32(_FcResultMatch) {
  37567. XFcStrBufChar(tls, bp+24, uint8(','))
  37568. XFcStrBufString(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 312)))
  37569. XFcPatternObjectDel(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT))
  37570. }
  37571. XFcPatternObjectAddString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), XFcStrBufDoneStatic(tls, bp+24))
  37572. XFcStrBufDestroy(tls, bp+24)
  37573. }
  37574. XFcConfigSubstituteWithPat(tls, config, new1, pat, int32(_FcMatchFont))
  37575. return new1
  37576. }
  37577. func _FcFontSetMatchInternal(tls *libc.TLS, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  37578. bp := tls.Alloc(240)
  37579. defer tls.Free(240)
  37580. var best, elt, env, match, os, p1, pat, s, s1, ss, x, v11, v12, v14, v15, v8 uintptr
  37581. var bestscore [27]float64
  37582. var binding TFcValueBinding
  37583. var f, i, set int32
  37584. var f1 TFcBool
  37585. var l, ll, new1, t, v10 TFcValueListPtr
  37586. var len1 Tsize_t
  37587. var v TFcValue
  37588. var _ /* data at bp+216 */ TFcCompareData
  37589. var _ /* score at bp+0 */ [27]float64
  37590. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestscore, binding, elt, env, f, f1, i, l, len1, ll, match, new1, os, p1, pat, s, s1, set, ss, t, v, x, v10, v11, v12, v14, v15, v8
  37591. pat = libc.UintptrFromInt32(0)
  37592. i = 0
  37593. for {
  37594. if !(i < int32(_PRI_END)) {
  37595. break
  37596. }
  37597. bestscore[i] = libc.Float64FromInt32(0)
  37598. goto _1
  37599. _1:
  37600. ;
  37601. i++
  37602. }
  37603. best = uintptr(0)
  37604. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  37605. libc.Xprintf(tls, __ccgo_ts+6077, 0)
  37606. XFcPatternPrint(tls, p)
  37607. }
  37608. _FcCompareDataInit(tls, p, bp+216)
  37609. set = 0
  37610. for {
  37611. if !(set < nsets) {
  37612. break
  37613. }
  37614. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  37615. if !(s != 0) {
  37616. goto _2
  37617. }
  37618. f = 0
  37619. for {
  37620. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  37621. break
  37622. }
  37623. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37624. libc.Xprintf(tls, __ccgo_ts+2692, libc.VaList(bp+232, f))
  37625. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  37626. }
  37627. if !(_FcCompare(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), bp, result, bp+216) != 0) {
  37628. _FcCompareDataClear(tls, bp+216)
  37629. return uintptr(0)
  37630. }
  37631. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37632. libc.Xprintf(tls, __ccgo_ts+6084, 0)
  37633. i = 0
  37634. for {
  37635. if !(i < int32(_PRI_END)) {
  37636. break
  37637. }
  37638. libc.Xprintf(tls, __ccgo_ts+6090, libc.VaList(bp+232, (*(*[27]float64)(unsafe.Pointer(bp)))[i]))
  37639. goto _4
  37640. _4:
  37641. ;
  37642. i++
  37643. }
  37644. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  37645. }
  37646. i = 0
  37647. for {
  37648. if !(i < int32(_PRI_END)) {
  37649. break
  37650. }
  37651. if best != 0 && bestscore[i] < (*(*[27]float64)(unsafe.Pointer(bp)))[i] {
  37652. break
  37653. }
  37654. if !(best != 0) || (*(*[27]float64)(unsafe.Pointer(bp)))[i] < bestscore[i] {
  37655. i = 0
  37656. for {
  37657. if !(i < int32(_PRI_END)) {
  37658. break
  37659. }
  37660. bestscore[i] = (*(*[27]float64)(unsafe.Pointer(bp)))[i]
  37661. goto _6
  37662. _6:
  37663. ;
  37664. i++
  37665. }
  37666. best = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  37667. break
  37668. }
  37669. goto _5
  37670. _5:
  37671. ;
  37672. i++
  37673. }
  37674. goto _3
  37675. _3:
  37676. ;
  37677. f++
  37678. }
  37679. goto _2
  37680. _2:
  37681. ;
  37682. set++
  37683. }
  37684. _FcCompareDataClear(tls, bp+216)
  37685. /* Update the binding according to the score to indicate how exactly values matches on. */
  37686. if best != 0 {
  37687. pat = XFcPatternCreate(tls)
  37688. elt = uintptr(int64(best) + (*TFcPattern)(unsafe.Pointer(best)).Felts_offset)
  37689. i = 0
  37690. for {
  37691. if !(i < XFcPatternObjectCount(tls, best)) {
  37692. break
  37693. }
  37694. match = _FcObjectToMatcher(tls, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, m_FcFalse)
  37695. if int64((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  37696. v8 = uintptr(Tintptr_t(elt+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37697. } else {
  37698. v8 = (*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16)).Fvalues
  37699. }
  37700. l = v8
  37701. if !(match != 0) {
  37702. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, XFcValueListDuplicate(tls, l), int32(m_FcTrue))
  37703. } else {
  37704. binding = int32(_FcValueBindingWeak)
  37705. new1 = libc.UintptrFromInt32(0)
  37706. t = libc.UintptrFromInt32(0)
  37707. /* If the value was matched exactly, update the binding to Strong. */
  37708. if bestscore[(*TFcMatcher)(unsafe.Pointer(match)).Fstrong] < libc.Float64FromInt32(1000) {
  37709. binding = int32(_FcValueBindingStrong)
  37710. }
  37711. ll = l
  37712. for {
  37713. if !(ll != libc.UintptrFromInt32(0)) {
  37714. break
  37715. }
  37716. if !(new1 != 0) {
  37717. v10 = XFcValueListCreate(tls)
  37718. new1 = v10
  37719. t = v10
  37720. } else {
  37721. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  37722. if int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(1) != 0 {
  37723. v11 = uintptr(int64(t) + int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37724. } else {
  37725. v11 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  37726. }
  37727. t = v11
  37728. }
  37729. v = XFcValueCanonicalize(tls, ll+8)
  37730. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XFcValueSave(tls, v)
  37731. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = binding
  37732. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  37733. goto _9
  37734. _9:
  37735. ;
  37736. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  37737. v12 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37738. } else {
  37739. v12 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  37740. }
  37741. ll = v12
  37742. }
  37743. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, new1, int32(m_FcTrue))
  37744. }
  37745. goto _7
  37746. _7:
  37747. ;
  37748. i++
  37749. }
  37750. }
  37751. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  37752. libc.Xprintf(tls, __ccgo_ts+6094, 0)
  37753. i = 0
  37754. for {
  37755. if !(i < int32(_PRI_END)) {
  37756. break
  37757. }
  37758. libc.Xprintf(tls, __ccgo_ts+6090, libc.VaList(bp+232, bestscore[i]))
  37759. goto _13
  37760. _13:
  37761. ;
  37762. i++
  37763. }
  37764. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  37765. XFcPatternPrint(tls, pat)
  37766. }
  37767. if XFcDebugVal&int32(m_FC_DBG_MATCH2) != 0 {
  37768. env = libc.Xgetenv(tls, __ccgo_ts+6105)
  37769. os = libc.UintptrFromInt32(0)
  37770. if env != 0 {
  37771. f1 = int32(m_FcTrue)
  37772. v14 = libc.Xstrdup(tls, env)
  37773. s1 = v14
  37774. ss = v14
  37775. os = XFcObjectSetCreate(tls)
  37776. for f1 != 0 {
  37777. v15 = libc.Xstrchr(tls, s1, int32(','))
  37778. p1 = v15
  37779. if !(v15 != 0) {
  37780. f1 = m_FcFalse
  37781. len1 = libc.Xstrlen(tls, s1)
  37782. } else {
  37783. len1 = libc.Uint64FromInt64(int64(p1) - int64(s1))
  37784. }
  37785. x = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  37786. if x != 0 {
  37787. libc.X__builtin___strcpy_chk(tls, x, s1, ^t__predefined_size_t(0))
  37788. if XFcObjectFromName(tls, x) > 0 {
  37789. XFcObjectSetAdd(tls, os, x)
  37790. }
  37791. s1 = p1 + uintptr(1)
  37792. libc.Xfree(tls, x)
  37793. }
  37794. }
  37795. libc.Xfree(tls, ss)
  37796. }
  37797. XFcPatternPrint2(tls, p, pat, os)
  37798. if os != 0 {
  37799. XFcObjectSetDestroy(tls, os)
  37800. }
  37801. }
  37802. /* assuming that 'result' is initialized with FcResultNoMatch
  37803. * outside this function */
  37804. if pat != 0 {
  37805. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  37806. }
  37807. return pat
  37808. }
  37809. func XFcFontSetMatch(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  37810. var best, ret uintptr
  37811. _, _ = best, ret
  37812. ret = libc.UintptrFromInt32(0)
  37813. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  37814. config = XFcConfigReference(tls, config)
  37815. if !(config != 0) {
  37816. return libc.UintptrFromInt32(0)
  37817. }
  37818. best = _FcFontSetMatchInternal(tls, sets, nsets, p, result)
  37819. if best != 0 {
  37820. ret = XFcFontRenderPrepare(tls, config, p, best)
  37821. XFcPatternDestroy(tls, best)
  37822. }
  37823. XFcConfigDestroy(tls, config)
  37824. return ret
  37825. }
  37826. func XFcFontMatch(tls *libc.TLS, config uintptr, p uintptr, result uintptr) (r uintptr) {
  37827. bp := tls.Alloc(16)
  37828. defer tls.Free(16)
  37829. var best, ret uintptr
  37830. var nsets, v1, v2 int32
  37831. var _ /* sets at bp+0 */ [2]uintptr
  37832. _, _, _, _, _ = best, nsets, ret, v1, v2
  37833. ret = libc.UintptrFromInt32(0)
  37834. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  37835. config = XFcConfigReference(tls, config)
  37836. if !(config != 0) {
  37837. return libc.UintptrFromInt32(0)
  37838. }
  37839. nsets = 0
  37840. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  37841. v1 = nsets
  37842. nsets++
  37843. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  37844. }
  37845. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  37846. v2 = nsets
  37847. nsets++
  37848. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  37849. }
  37850. best = _FcFontSetMatchInternal(tls, bp, nsets, p, result)
  37851. if best != 0 {
  37852. ret = XFcFontRenderPrepare(tls, config, p, best)
  37853. XFcPatternDestroy(tls, best)
  37854. }
  37855. XFcConfigDestroy(tls, config)
  37856. return ret
  37857. }
  37858. type TFcSortNode = struct {
  37859. Fpattern uintptr
  37860. Fscore [27]float64
  37861. }
  37862. type T_FcSortNode = TFcSortNode
  37863. func _FcSortCompare(tls *libc.TLS, aa uintptr, ab uintptr) (r int32) {
  37864. var a, as, b, bs, v3, v5 uintptr
  37865. var ad, bd, v2, v4 float64
  37866. var i, v1, v7, v8 int32
  37867. var v6 bool
  37868. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, ad, as, b, bd, bs, i, v1, v2, v3, v4, v5, v6, v7, v8
  37869. a = *(*uintptr)(unsafe.Pointer(aa))
  37870. b = *(*uintptr)(unsafe.Pointer(ab))
  37871. as = a + 8
  37872. bs = b + 8
  37873. ad = libc.Float64FromInt32(0)
  37874. bd = libc.Float64FromInt32(0)
  37875. i = int32(_PRI_END)
  37876. for {
  37877. v1 = i
  37878. i--
  37879. if v6 = v1 != 0; v6 {
  37880. v3 = as
  37881. as += 8
  37882. v2 = *(*float64)(unsafe.Pointer(v3))
  37883. ad = v2
  37884. v5 = bs
  37885. bs += 8
  37886. v4 = *(*float64)(unsafe.Pointer(v5))
  37887. bd = v4
  37888. }
  37889. if !(v6 && v2 == v4) {
  37890. break
  37891. }
  37892. }
  37893. if ad < bd {
  37894. v7 = -int32(1)
  37895. } else {
  37896. if ad > bd {
  37897. v8 = int32(1)
  37898. } else {
  37899. v8 = 0
  37900. }
  37901. v7 = v8
  37902. }
  37903. return v7
  37904. }
  37905. func _FcSortWalk(tls *libc.TLS, n uintptr, nnode int32, fs uintptr, csp uintptr, trim TFcBool) (r TFcBool) {
  37906. bp := tls.Alloc(16)
  37907. defer tls.Free(16)
  37908. var cs, node, v2 uintptr
  37909. var i int32
  37910. var ret TFcBool
  37911. var _ /* adds_chars at bp+0 */ TFcBool
  37912. var _ /* ncs at bp+8 */ uintptr
  37913. _, _, _, _, _ = cs, i, node, ret, v2
  37914. ret = m_FcFalse
  37915. cs = uintptr(0)
  37916. if trim != 0 || csp != 0 {
  37917. cs = XFcCharSetCreate(tls)
  37918. if cs == libc.UintptrFromInt32(0) {
  37919. goto bail
  37920. }
  37921. }
  37922. i = 0
  37923. for {
  37924. if !(i < nnode) {
  37925. break
  37926. }
  37927. v2 = n
  37928. n += 8
  37929. node = *(*uintptr)(unsafe.Pointer(v2))
  37930. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  37931. /*
  37932. * Only fetch node charset if we'd need it
  37933. */
  37934. if cs != 0 {
  37935. if XFcPatternGetCharSet(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern, __ccgo_ts+6125, 0, bp+8) != int32(_FcResultMatch) {
  37936. goto _1
  37937. }
  37938. if !(XFcCharSetMerge(tls, cs, *(*uintptr)(unsafe.Pointer(bp + 8)), bp) != 0) {
  37939. goto bail
  37940. }
  37941. }
  37942. /*
  37943. * If this font isn't a subset of the previous fonts,
  37944. * add it to the list
  37945. */
  37946. if !(i != 0) || !(trim != 0) || *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  37947. XFcPatternReference(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  37948. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37949. libc.Xprintf(tls, __ccgo_ts+6133, 0)
  37950. XFcPatternPrint(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  37951. }
  37952. if !(XFcFontSetAdd(tls, fs, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern) != 0) {
  37953. XFcPatternDestroy(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  37954. goto bail
  37955. }
  37956. }
  37957. goto _1
  37958. _1:
  37959. ;
  37960. i++
  37961. }
  37962. if csp != 0 {
  37963. *(*uintptr)(unsafe.Pointer(csp)) = cs
  37964. cs = uintptr(0)
  37965. }
  37966. ret = int32(m_FcTrue)
  37967. goto bail
  37968. bail:
  37969. ;
  37970. if cs != 0 {
  37971. XFcCharSetDestroy(tls, cs)
  37972. }
  37973. return ret
  37974. }
  37975. func XFcFontSetSortDestroy(tls *libc.TLS, fs uintptr) {
  37976. XFcFontSetDestroy(tls, fs)
  37977. }
  37978. func XFcFontSetSort(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  37979. bp := tls.Alloc(112)
  37980. defer tls.Free(112)
  37981. var compare float64
  37982. var f, i, nPatternLang, nnodes, set int32
  37983. var new1, nodep, nodeps, nodes, patternLangSat, ret, s uintptr
  37984. var satisfies TFcBool
  37985. var _ /* data at bp+16 */ TFcCompareData
  37986. var _ /* family at bp+56 */ uintptr
  37987. var _ /* matchValue at bp+40 */ TFcValue
  37988. var _ /* nodeLang at bp+24 */ TFcValue
  37989. var _ /* patternLang at bp+0 */ TFcValue
  37990. var _ /* style at bp+64 */ uintptr
  37991. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = compare, f, i, nPatternLang, new1, nnodes, nodep, nodeps, nodes, patternLangSat, ret, s, satisfies, set
  37992. /* There are some implementation that relying on the result of
  37993. * "result" to check if the return value of FcFontSetSort
  37994. * is valid or not.
  37995. * So we should initialize it to the conservative way since
  37996. * this function doesn't return NULL anymore.
  37997. */
  37998. if result != 0 {
  37999. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  38000. }
  38001. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  38002. libc.Xprintf(tls, __ccgo_ts+6138, 0)
  38003. XFcPatternPrint(tls, p)
  38004. }
  38005. nnodes = 0
  38006. set = 0
  38007. for {
  38008. if !(set < nsets) {
  38009. break
  38010. }
  38011. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  38012. if !(s != 0) {
  38013. goto _1
  38014. }
  38015. nnodes += (*TFcFontSet)(unsafe.Pointer(s)).Fnfont
  38016. goto _1
  38017. _1:
  38018. ;
  38019. set++
  38020. }
  38021. if !(nnodes != 0) {
  38022. return XFcFontSetCreate(tls)
  38023. }
  38024. nPatternLang = 0
  38025. for {
  38026. if !(XFcPatternGet(tls, p, __ccgo_ts+6144, nPatternLang, bp) == int32(_FcResultMatch)) {
  38027. break
  38028. }
  38029. goto _2
  38030. _2:
  38031. ;
  38032. nPatternLang++
  38033. }
  38034. /* freed below */
  38035. nodes = libc.Xmalloc(tls, libc.Uint64FromInt32(nnodes)*uint64(224)+libc.Uint64FromInt32(nnodes)*uint64(8)+libc.Uint64FromInt32(nPatternLang)*uint64(4))
  38036. if !(nodes != 0) {
  38037. goto bail0
  38038. }
  38039. nodeps = nodes + uintptr(nnodes)*224
  38040. patternLangSat = nodeps + uintptr(nnodes)*8
  38041. _FcCompareDataInit(tls, p, bp+16)
  38042. new1 = nodes
  38043. nodep = nodeps
  38044. set = 0
  38045. for {
  38046. if !(set < nsets) {
  38047. break
  38048. }
  38049. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  38050. if !(s != 0) {
  38051. goto _3
  38052. }
  38053. f = 0
  38054. for {
  38055. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  38056. break
  38057. }
  38058. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  38059. libc.Xprintf(tls, __ccgo_ts+2692, libc.VaList(bp+80, f))
  38060. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  38061. }
  38062. (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  38063. if !(_FcCompare(tls, p, (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern, new1+8, result, bp+16) != 0) {
  38064. goto bail1
  38065. }
  38066. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  38067. libc.Xprintf(tls, __ccgo_ts+6084, 0)
  38068. i = 0
  38069. for {
  38070. if !(i < int32(_PRI_END)) {
  38071. break
  38072. }
  38073. libc.Xprintf(tls, __ccgo_ts+6090, libc.VaList(bp+80, *(*float64)(unsafe.Pointer(new1 + 8 + uintptr(i)*8))))
  38074. goto _5
  38075. _5:
  38076. ;
  38077. i++
  38078. }
  38079. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  38080. }
  38081. *(*uintptr)(unsafe.Pointer(nodep)) = new1
  38082. new1 += 224
  38083. nodep += 8
  38084. goto _4
  38085. _4:
  38086. ;
  38087. f++
  38088. }
  38089. goto _3
  38090. _3:
  38091. ;
  38092. set++
  38093. }
  38094. _FcCompareDataClear(tls, bp+16)
  38095. nnodes = int32((int64(new1) - int64(nodes)) / 224)
  38096. libc.Xqsort(tls, nodeps, libc.Uint64FromInt32(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  38097. i = 0
  38098. for {
  38099. if !(i < nPatternLang) {
  38100. break
  38101. }
  38102. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = m_FcFalse
  38103. goto _6
  38104. _6:
  38105. ;
  38106. i++
  38107. }
  38108. f = 0
  38109. for {
  38110. if !(f < nnodes) {
  38111. break
  38112. }
  38113. satisfies = m_FcFalse
  38114. /*
  38115. * If this node matches any language, go check
  38116. * which ones and satisfy those entries
  38117. */
  38118. if *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) < libc.Float64FromInt32(2000) {
  38119. i = 0
  38120. for {
  38121. if !(i < nPatternLang) {
  38122. break
  38123. }
  38124. if !(*(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) != 0) && XFcPatternGet(tls, p, __ccgo_ts+6144, i, bp) == int32(_FcResultMatch) && XFcPatternGet(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+6144, 0, bp+24) == int32(_FcResultMatch) {
  38125. compare = _FcCompareLang(tls, bp, bp+24, bp+40)
  38126. if compare >= libc.Float64FromInt32(0) && compare < libc.Float64FromInt32(2) {
  38127. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  38128. if XFcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+5977, 0, bp+56) == int32(_FcResultMatch) && XFcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+4583, 0, bp+64) == int32(_FcResultMatch) {
  38129. libc.Xprintf(tls, __ccgo_ts+6149, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 56)), *(*uintptr)(unsafe.Pointer(bp + 64)), i))
  38130. }
  38131. }
  38132. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = int32(m_FcTrue)
  38133. satisfies = int32(m_FcTrue)
  38134. break
  38135. }
  38136. }
  38137. goto _8
  38138. _8:
  38139. ;
  38140. i++
  38141. }
  38142. }
  38143. if !(satisfies != 0) {
  38144. *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) = float64(10000)
  38145. }
  38146. goto _7
  38147. _7:
  38148. ;
  38149. f++
  38150. }
  38151. /*
  38152. * Re-sort once the language issues have been settled
  38153. */
  38154. libc.Xqsort(tls, nodeps, libc.Uint64FromInt32(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  38155. ret = XFcFontSetCreate(tls)
  38156. if !(ret != 0) {
  38157. goto bail1
  38158. }
  38159. if !(_FcSortWalk(tls, nodeps, nnodes, ret, csp, trim) != 0) {
  38160. goto bail2
  38161. }
  38162. libc.Xfree(tls, nodes)
  38163. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  38164. libc.Xprintf(tls, __ccgo_ts+6181, 0)
  38165. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(ret)).Ffonts)))
  38166. }
  38167. if (*TFcFontSet)(unsafe.Pointer(ret)).Fnfont > 0 {
  38168. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  38169. }
  38170. return ret
  38171. goto bail2
  38172. bail2:
  38173. ;
  38174. XFcFontSetDestroy(tls, ret)
  38175. goto bail1
  38176. bail1:
  38177. ;
  38178. libc.Xfree(tls, nodes)
  38179. goto bail0
  38180. bail0:
  38181. ;
  38182. return uintptr(0)
  38183. return r
  38184. }
  38185. func XFcFontSort(tls *libc.TLS, config uintptr, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  38186. bp := tls.Alloc(16)
  38187. defer tls.Free(16)
  38188. var nsets, v1, v2 int32
  38189. var ret uintptr
  38190. var _ /* sets at bp+0 */ [2]uintptr
  38191. _, _, _, _ = nsets, ret, v1, v2
  38192. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  38193. config = XFcConfigReference(tls, config)
  38194. if !(config != 0) {
  38195. return libc.UintptrFromInt32(0)
  38196. }
  38197. nsets = 0
  38198. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  38199. v1 = nsets
  38200. nsets++
  38201. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  38202. }
  38203. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  38204. v2 = nsets
  38205. nsets++
  38206. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  38207. }
  38208. ret = XFcFontSetSort(tls, config, bp, nsets, p, trim, csp, result)
  38209. XFcConfigDestroy(tls, config)
  38210. return ret
  38211. }
  38212. func XFcMatrixCopy(tls *libc.TLS, mat uintptr) (r1 uintptr) {
  38213. var r uintptr
  38214. _ = r
  38215. if !(mat != 0) {
  38216. return uintptr(0)
  38217. }
  38218. r = libc.Xmalloc(tls, uint64(32))
  38219. if !(r != 0) {
  38220. return uintptr(0)
  38221. }
  38222. *(*TFcMatrix)(unsafe.Pointer(r)) = *(*TFcMatrix)(unsafe.Pointer(mat))
  38223. return r
  38224. }
  38225. func XFcMatrixFree(tls *libc.TLS, mat uintptr) {
  38226. if mat != uintptr(unsafe.Pointer(&XFcIdentityMatrix)) {
  38227. libc.Xfree(tls, mat)
  38228. }
  38229. }
  38230. func XFcMatrixEqual(tls *libc.TLS, mat1 uintptr, mat2 uintptr) (r TFcBool) {
  38231. if mat1 == mat2 {
  38232. return int32(m_FcTrue)
  38233. }
  38234. if mat1 == uintptr(0) || mat2 == uintptr(0) {
  38235. return m_FcFalse
  38236. }
  38237. return libc.BoolInt32((*TFcMatrix)(unsafe.Pointer(mat1)).Fxx == (*TFcMatrix)(unsafe.Pointer(mat2)).Fxx && (*TFcMatrix)(unsafe.Pointer(mat1)).Fxy == (*TFcMatrix)(unsafe.Pointer(mat2)).Fxy && (*TFcMatrix)(unsafe.Pointer(mat1)).Fyx == (*TFcMatrix)(unsafe.Pointer(mat2)).Fyx && (*TFcMatrix)(unsafe.Pointer(mat1)).Fyy == (*TFcMatrix)(unsafe.Pointer(mat2)).Fyy)
  38238. }
  38239. func XFcMatrixMultiply(tls *libc.TLS, result uintptr, a uintptr, b uintptr) {
  38240. var r TFcMatrix
  38241. _ = r
  38242. r.Fxx = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  38243. r.Fxy = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  38244. r.Fyx = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  38245. r.Fyy = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  38246. *(*TFcMatrix)(unsafe.Pointer(result)) = r
  38247. }
  38248. func XFcMatrixRotate(tls *libc.TLS, m uintptr, c float64, s float64) {
  38249. bp := tls.Alloc(32)
  38250. defer tls.Free(32)
  38251. var _ /* r at bp+0 */ TFcMatrix
  38252. /*
  38253. * X Coordinate system is upside down, swap to make
  38254. * rotations counterclockwise
  38255. */
  38256. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = c
  38257. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = -s
  38258. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = s
  38259. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = c
  38260. XFcMatrixMultiply(tls, m, bp, m)
  38261. }
  38262. func XFcMatrixScale(tls *libc.TLS, m uintptr, sx float64, sy float64) {
  38263. bp := tls.Alloc(32)
  38264. defer tls.Free(32)
  38265. var _ /* r at bp+0 */ TFcMatrix
  38266. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = sx
  38267. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = libc.Float64FromInt32(0)
  38268. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = libc.Float64FromInt32(0)
  38269. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = sy
  38270. XFcMatrixMultiply(tls, m, bp, m)
  38271. }
  38272. func XFcMatrixShear(tls *libc.TLS, m uintptr, sh float64, sv float64) {
  38273. bp := tls.Alloc(32)
  38274. defer tls.Free(32)
  38275. var _ /* r at bp+0 */ TFcMatrix
  38276. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = libc.Float64FromInt32(1)
  38277. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = sh
  38278. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = sv
  38279. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = libc.Float64FromInt32(1)
  38280. XFcMatrixMultiply(tls, m, bp, m)
  38281. }
  38282. const m_FC_ESCAPE_FIXED = "\\-:,"
  38283. const m_FC_ESCAPE_VARIABLE = "\\=_:,"
  38284. /*
  38285. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  38286. *
  38287. * @APPLE_LICENSE_HEADER_START@
  38288. *
  38289. * This file contains Original Code and/or Modifications of Original Code
  38290. * as defined in and that are subject to the Apple Public Source License
  38291. * Version 2.0 (the 'License'). You may not use this file except in
  38292. * compliance with the License. Please obtain a copy of the License at
  38293. * http://www.opensource.apple.com/apsl/ and read it before using this
  38294. * file.
  38295. *
  38296. * The Original Code and all software distributed under the License are
  38297. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38298. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38299. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38300. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38301. * Please see the License for the specific language governing rights and
  38302. * limitations under the License.
  38303. *
  38304. * @APPLE_LICENSE_HEADER_END@
  38305. */
  38306. /*
  38307. * Copyright (c) 1989, 1993
  38308. * The Regents of the University of California. All rights reserved.
  38309. * (c) UNIX System Laboratories, Inc.
  38310. * All or some portions of this file are derived from material licensed
  38311. * to the University of California by American Telephone and Telegraph
  38312. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  38313. * the permission of UNIX System Laboratories, Inc.
  38314. *
  38315. * This code is derived from software contributed to Berkeley by
  38316. * Paul Borman at Krystal Technologies.
  38317. *
  38318. * Redistribution and use in source and binary forms, with or without
  38319. * modification, are permitted provided that the following conditions
  38320. * are met:
  38321. * 1. Redistributions of source code must retain the above copyright
  38322. * notice, this list of conditions and the following disclaimer.
  38323. * 2. Redistributions in binary form must reproduce the above copyright
  38324. * notice, this list of conditions and the following disclaimer in the
  38325. * documentation and/or other materials provided with the distribution.
  38326. * 3. All advertising materials mentioning features or use of this software
  38327. * must display the following acknowledgement:
  38328. * This product includes software developed by the University of
  38329. * California, Berkeley and its contributors.
  38330. * 4. Neither the name of the University nor the names of its contributors
  38331. * may be used to endorse or promote products derived from this software
  38332. * without specific prior written permission.
  38333. *
  38334. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38335. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38336. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38337. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38338. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38339. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38340. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38341. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38342. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38343. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38344. * SUCH DAMAGE.
  38345. *
  38346. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  38347. */
  38348. /*
  38349. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  38350. *
  38351. * @APPLE_LICENSE_HEADER_START@
  38352. *
  38353. * This file contains Original Code and/or Modifications of Original Code
  38354. * as defined in and that are subject to the Apple Public Source License
  38355. * Version 2.0 (the 'License'). You may not use this file except in
  38356. * compliance with the License. Please obtain a copy of the License at
  38357. * http://www.opensource.apple.com/apsl/ and read it before using this
  38358. * file.
  38359. *
  38360. * The Original Code and all software distributed under the License are
  38361. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38362. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38363. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38364. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38365. * Please see the License for the specific language governing rights and
  38366. * limitations under the License.
  38367. *
  38368. * @APPLE_LICENSE_HEADER_END@
  38369. */
  38370. /*
  38371. * Copyright (c) 1989, 1993
  38372. * The Regents of the University of California. All rights reserved.
  38373. * (c) UNIX System Laboratories, Inc.
  38374. * All or some portions of this file are derived from material licensed
  38375. * to the University of California by American Telephone and Telegraph
  38376. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  38377. * the permission of UNIX System Laboratories, Inc.
  38378. *
  38379. * This code is derived from software contributed to Berkeley by
  38380. * Paul Borman at Krystal Technologies.
  38381. *
  38382. * Redistribution and use in source and binary forms, with or without
  38383. * modification, are permitted provided that the following conditions
  38384. * are met:
  38385. * 1. Redistributions of source code must retain the above copyright
  38386. * notice, this list of conditions and the following disclaimer.
  38387. * 2. Redistributions in binary form must reproduce the above copyright
  38388. * notice, this list of conditions and the following disclaimer in the
  38389. * documentation and/or other materials provided with the distribution.
  38390. * 3. All advertising materials mentioning features or use of this software
  38391. * must display the following acknowledgement:
  38392. * This product includes software developed by the University of
  38393. * California, Berkeley and its contributors.
  38394. * 4. Neither the name of the University nor the names of its contributors
  38395. * may be used to endorse or promote products derived from this software
  38396. * without specific prior written permission.
  38397. *
  38398. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38399. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38400. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38401. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38402. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38403. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38404. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38405. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38406. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38407. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38408. * SUCH DAMAGE.
  38409. *
  38410. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  38411. */
  38412. /*
  38413. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  38414. *
  38415. * @APPLE_LICENSE_HEADER_START@
  38416. *
  38417. * This file contains Original Code and/or Modifications of Original Code
  38418. * as defined in and that are subject to the Apple Public Source License
  38419. * Version 2.0 (the 'License'). You may not use this file except in
  38420. * compliance with the License. Please obtain a copy of the License at
  38421. * http://www.opensource.apple.com/apsl/ and read it before using this
  38422. * file.
  38423. *
  38424. * The Original Code and all software distributed under the License are
  38425. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38426. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38427. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38428. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38429. * Please see the License for the specific language governing rights and
  38430. * limitations under the License.
  38431. *
  38432. * @APPLE_LICENSE_HEADER_END@
  38433. */
  38434. /*-
  38435. * Copyright (c) 1990, 1993
  38436. * The Regents of the University of California. All rights reserved.
  38437. *
  38438. * Redistribution and use in source and binary forms, with or without
  38439. * modification, are permitted provided that the following conditions
  38440. * are met:
  38441. * 1. Redistributions of source code must retain the above copyright
  38442. * notice, this list of conditions and the following disclaimer.
  38443. * 2. Redistributions in binary form must reproduce the above copyright
  38444. * notice, this list of conditions and the following disclaimer in the
  38445. * documentation and/or other materials provided with the distribution.
  38446. * 3. All advertising materials mentioning features or use of this software
  38447. * must display the following acknowledgement:
  38448. * This product includes software developed by the University of
  38449. * California, Berkeley and its contributors.
  38450. * 4. Neither the name of the University nor the names of its contributors
  38451. * may be used to endorse or promote products derived from this software
  38452. * without specific prior written permission.
  38453. *
  38454. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38455. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38456. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38457. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38458. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38459. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38460. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38461. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38462. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38463. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38464. * SUCH DAMAGE.
  38465. *
  38466. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  38467. */
  38468. /*
  38469. * Copyright (c) 2023 Apple Inc. All rights reserved.
  38470. *
  38471. * @APPLE_LICENSE_HEADER_START@
  38472. *
  38473. * This file contains Original Code and/or Modifications of Original Code
  38474. * as defined in and that are subject to the Apple Public Source License
  38475. * Version 2.0 (the 'License'). You may not use this file except in
  38476. * compliance with the License. Please obtain a copy of the License at
  38477. * http://www.opensource.apple.com/apsl/ and read it before using this
  38478. * file.
  38479. *
  38480. * The Original Code and all software distributed under the License are
  38481. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38482. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38483. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38484. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38485. * Please see the License for the specific language governing rights and
  38486. * limitations under the License.
  38487. *
  38488. * @APPLE_LICENSE_HEADER_END@
  38489. */
  38490. /*-
  38491. * Copyright (c) 1990, 1993
  38492. * The Regents of the University of California. All rights reserved.
  38493. *
  38494. * Redistribution and use in source and binary forms, with or without
  38495. * modification, are permitted provided that the following conditions
  38496. * are met:
  38497. * 1. Redistributions of source code must retain the above copyright
  38498. * notice, this list of conditions and the following disclaimer.
  38499. * 2. Redistributions in binary form must reproduce the above copyright
  38500. * notice, this list of conditions and the following disclaimer in the
  38501. * documentation and/or other materials provided with the distribution.
  38502. * 3. All advertising materials mentioning features or use of this software
  38503. * must display the following acknowledgement:
  38504. * This product includes software developed by the University of
  38505. * California, Berkeley and its contributors.
  38506. * 4. Neither the name of the University nor the names of its contributors
  38507. * may be used to endorse or promote products derived from this software
  38508. * without specific prior written permission.
  38509. *
  38510. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38511. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38512. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38513. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38514. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38515. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38516. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38517. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38518. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38519. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38520. * SUCH DAMAGE.
  38521. *
  38522. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  38523. */
  38524. /*
  38525. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  38526. *
  38527. * @APPLE_LICENSE_HEADER_START@
  38528. *
  38529. * This file contains Original Code and/or Modifications of Original Code
  38530. * as defined in and that are subject to the Apple Public Source License
  38531. * Version 2.0 (the 'License'). You may not use this file except in
  38532. * compliance with the License. Please obtain a copy of the License at
  38533. * http://www.opensource.apple.com/apsl/ and read it before using this
  38534. * file.
  38535. *
  38536. * The Original Code and all software distributed under the License are
  38537. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38538. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38539. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38540. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38541. * Please see the License for the specific language governing rights and
  38542. * limitations under the License.
  38543. *
  38544. * @APPLE_LICENSE_HEADER_END@
  38545. */
  38546. /*-
  38547. * Copyright (c) 1990, 1993
  38548. * The Regents of the University of California. All rights reserved.
  38549. *
  38550. * Redistribution and use in source and binary forms, with or without
  38551. * modification, are permitted provided that the following conditions
  38552. * are met:
  38553. * 1. Redistributions of source code must retain the above copyright
  38554. * notice, this list of conditions and the following disclaimer.
  38555. * 2. Redistributions in binary form must reproduce the above copyright
  38556. * notice, this list of conditions and the following disclaimer in the
  38557. * documentation and/or other materials provided with the distribution.
  38558. * 3. All advertising materials mentioning features or use of this software
  38559. * must display the following acknowledgement:
  38560. * This product includes software developed by the University of
  38561. * California, Berkeley and its contributors.
  38562. * 4. Neither the name of the University nor the names of its contributors
  38563. * may be used to endorse or promote products derived from this software
  38564. * without specific prior written permission.
  38565. *
  38566. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38567. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38568. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38569. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38570. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38571. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38572. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38573. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38574. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38575. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38576. * SUCH DAMAGE.
  38577. *
  38578. * @(#)string.h 8.1 (Berkeley) 6/2/93
  38579. */
  38580. /*
  38581. * Copyright (c) 2023 Apple Inc. All rights reserved.
  38582. *
  38583. * @APPLE_LICENSE_HEADER_START@
  38584. *
  38585. * This file contains Original Code and/or Modifications of Original Code
  38586. * as defined in and that are subject to the Apple Public Source License
  38587. * Version 2.0 (the 'License'). You may not use this file except in
  38588. * compliance with the License. Please obtain a copy of the License at
  38589. * http://www.opensource.apple.com/apsl/ and read it before using this
  38590. * file.
  38591. *
  38592. * The Original Code and all software distributed under the License are
  38593. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38594. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38595. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38596. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38597. * Please see the License for the specific language governing rights and
  38598. * limitations under the License.
  38599. *
  38600. * @APPLE_LICENSE_HEADER_END@
  38601. */
  38602. /*-
  38603. * Copyright (c) 1990, 1993
  38604. * The Regents of the University of California. All rights reserved.
  38605. *
  38606. * Redistribution and use in source and binary forms, with or without
  38607. * modification, are permitted provided that the following conditions
  38608. * are met:
  38609. * 1. Redistributions of source code must retain the above copyright
  38610. * notice, this list of conditions and the following disclaimer.
  38611. * 2. Redistributions in binary form must reproduce the above copyright
  38612. * notice, this list of conditions and the following disclaimer in the
  38613. * documentation and/or other materials provided with the distribution.
  38614. * 3. All advertising materials mentioning features or use of this software
  38615. * must display the following acknowledgement:
  38616. * This product includes software developed by the University of
  38617. * California, Berkeley and its contributors.
  38618. * 4. Neither the name of the University nor the names of its contributors
  38619. * may be used to endorse or promote products derived from this software
  38620. * without specific prior written permission.
  38621. *
  38622. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38623. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38624. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38625. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38626. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38627. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38628. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38629. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38630. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38631. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38632. * SUCH DAMAGE.
  38633. *
  38634. * @(#)string.h 8.1 (Berkeley) 6/2/93
  38635. */
  38636. /*
  38637. * Copyright (c) 2000, 2005, 2007, 2009, 2010, 2023 Apple Inc. All rights reserved.
  38638. *
  38639. * @APPLE_LICENSE_HEADER_START@
  38640. *
  38641. * This file contains Original Code and/or Modifications of Original Code
  38642. * as defined in and that are subject to the Apple Public Source License
  38643. * Version 2.0 (the 'License'). You may not use this file except in
  38644. * compliance with the License. Please obtain a copy of the License at
  38645. * http://www.opensource.apple.com/apsl/ and read it before using this
  38646. * file.
  38647. *
  38648. * The Original Code and all software distributed under the License are
  38649. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38650. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38651. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38652. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38653. * Please see the License for the specific language governing rights and
  38654. * limitations under the License.
  38655. *
  38656. * @APPLE_LICENSE_HEADER_END@
  38657. */
  38658. /*-
  38659. * Copyright (c) 1990, 1993
  38660. * The Regents of the University of California. All rights reserved.
  38661. *
  38662. * This code is derived from software contributed to Berkeley by
  38663. * Chris Torek.
  38664. *
  38665. * Redistribution and use in source and binary forms, with or without
  38666. * modification, are permitted provided that the following conditions
  38667. * are met:
  38668. * 1. Redistributions of source code must retain the above copyright
  38669. * notice, this list of conditions and the following disclaimer.
  38670. * 2. Redistributions in binary form must reproduce the above copyright
  38671. * notice, this list of conditions and the following disclaimer in the
  38672. * documentation and/or other materials provided with the distribution.
  38673. * 3. All advertising materials mentioning features or use of this software
  38674. * must display the following acknowledgement:
  38675. * This product includes software developed by the University of
  38676. * California, Berkeley and its contributors.
  38677. * 4. Neither the name of the University nor the names of its contributors
  38678. * may be used to endorse or promote products derived from this software
  38679. * without specific prior written permission.
  38680. *
  38681. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38682. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38683. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38684. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38685. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38686. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38687. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38688. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38689. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38690. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38691. * SUCH DAMAGE.
  38692. *
  38693. * @(#)stdio.h 8.5 (Berkeley) 4/29/95
  38694. */
  38695. /*
  38696. * Copyright (c) 2000, 2005, 2007, 2009, 2010, 2023 Apple Inc. All rights reserved.
  38697. *
  38698. * @APPLE_LICENSE_HEADER_START@
  38699. *
  38700. * This file contains Original Code and/or Modifications of Original Code
  38701. * as defined in and that are subject to the Apple Public Source License
  38702. * Version 2.0 (the 'License'). You may not use this file except in
  38703. * compliance with the License. Please obtain a copy of the License at
  38704. * http://www.opensource.apple.com/apsl/ and read it before using this
  38705. * file.
  38706. *
  38707. * The Original Code and all software distributed under the License are
  38708. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38709. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38710. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38711. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38712. * Please see the License for the specific language governing rights and
  38713. * limitations under the License.
  38714. *
  38715. * @APPLE_LICENSE_HEADER_END@
  38716. */
  38717. /*-
  38718. * Copyright (c) 1990, 1993
  38719. * The Regents of the University of California. All rights reserved.
  38720. *
  38721. * This code is derived from software contributed to Berkeley by
  38722. * Chris Torek.
  38723. *
  38724. * Redistribution and use in source and binary forms, with or without
  38725. * modification, are permitted provided that the following conditions
  38726. * are met:
  38727. * 1. Redistributions of source code must retain the above copyright
  38728. * notice, this list of conditions and the following disclaimer.
  38729. * 2. Redistributions in binary form must reproduce the above copyright
  38730. * notice, this list of conditions and the following disclaimer in the
  38731. * documentation and/or other materials provided with the distribution.
  38732. * 3. All advertising materials mentioning features or use of this software
  38733. * must display the following acknowledgement:
  38734. * This product includes software developed by the University of
  38735. * California, Berkeley and its contributors.
  38736. * 4. Neither the name of the University nor the names of its contributors
  38737. * may be used to endorse or promote products derived from this software
  38738. * without specific prior written permission.
  38739. *
  38740. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38741. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38742. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38743. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38744. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38745. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38746. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38747. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38748. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38749. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38750. * SUCH DAMAGE.
  38751. *
  38752. * @(#)stdio.h 8.5 (Berkeley) 4/29/95
  38753. */
  38754. /*
  38755. * Common header for stdio.h and xlocale/_stdio.h
  38756. */
  38757. var _FcObjects = [52]TFcObjectType{
  38758. 0: {
  38759. Fobject: __ccgo_ts + 5977,
  38760. Ftype1: int32(_FcTypeString),
  38761. },
  38762. 1: {
  38763. Fobject: __ccgo_ts + 5984,
  38764. Ftype1: int32(_FcTypeString),
  38765. },
  38766. 2: {
  38767. Fobject: __ccgo_ts + 4583,
  38768. Ftype1: int32(_FcTypeString),
  38769. },
  38770. 3: {
  38771. Fobject: __ccgo_ts + 6017,
  38772. Ftype1: int32(_FcTypeString),
  38773. },
  38774. 4: {
  38775. Fobject: __ccgo_ts + 5995,
  38776. Ftype1: int32(_FcTypeString),
  38777. },
  38778. 5: {
  38779. Fobject: __ccgo_ts + 6004,
  38780. Ftype1: int32(_FcTypeString),
  38781. },
  38782. 6: {
  38783. Fobject: __ccgo_ts + 6193,
  38784. Ftype1: int32(_FcTypeInteger),
  38785. },
  38786. 7: {
  38787. Fobject: __ccgo_ts + 6199,
  38788. Ftype1: int32(_FcTypeRange),
  38789. },
  38790. 8: {
  38791. Fobject: __ccgo_ts + 6206,
  38792. Ftype1: int32(_FcTypeRange),
  38793. },
  38794. 9: {
  38795. Fobject: __ccgo_ts + 6212,
  38796. Ftype1: int32(_FcTypeRange),
  38797. },
  38798. 10: {
  38799. Fobject: __ccgo_ts + 6217,
  38800. Ftype1: int32(_FcTypeDouble),
  38801. },
  38802. 11: {
  38803. Fobject: __ccgo_ts + 6224,
  38804. Ftype1: int32(_FcTypeDouble),
  38805. },
  38806. 12: {
  38807. Fobject: __ccgo_ts + 6234,
  38808. Ftype1: int32(_FcTypeInteger),
  38809. },
  38810. 13: {
  38811. Fobject: __ccgo_ts + 6242,
  38812. Ftype1: int32(_FcTypeString),
  38813. },
  38814. 14: {
  38815. Fobject: __ccgo_ts + 6250,
  38816. Ftype1: int32(_FcTypeBool),
  38817. },
  38818. 15: {
  38819. Fobject: __ccgo_ts + 6260,
  38820. Ftype1: int32(_FcTypeInteger),
  38821. },
  38822. 16: {
  38823. Fobject: __ccgo_ts + 6270,
  38824. Ftype1: int32(_FcTypeBool),
  38825. },
  38826. 17: {
  38827. Fobject: __ccgo_ts + 6278,
  38828. Ftype1: int32(_FcTypeBool),
  38829. },
  38830. 18: {
  38831. Fobject: __ccgo_ts + 6293,
  38832. Ftype1: int32(_FcTypeBool),
  38833. },
  38834. 19: {
  38835. Fobject: __ccgo_ts + 6302,
  38836. Ftype1: int32(_FcTypeBool),
  38837. },
  38838. 20: {
  38839. Fobject: __ccgo_ts + 6316,
  38840. Ftype1: int32(_FcTypeString),
  38841. },
  38842. 21: {
  38843. Fobject: __ccgo_ts + 6321,
  38844. Ftype1: int32(_FcTypeInteger),
  38845. },
  38846. 22: {
  38847. Fobject: __ccgo_ts + 6327,
  38848. Ftype1: int32(_FcTypeString),
  38849. },
  38850. 23: {
  38851. Fobject: __ccgo_ts + 6338,
  38852. Ftype1: int32(_FcTypeBool),
  38853. },
  38854. 24: {
  38855. Fobject: __ccgo_ts + 6346,
  38856. Ftype1: int32(_FcTypeBool),
  38857. },
  38858. 25: {
  38859. Fobject: __ccgo_ts + 6355,
  38860. Ftype1: int32(_FcTypeDouble),
  38861. },
  38862. 26: {
  38863. Fobject: __ccgo_ts + 6359,
  38864. Ftype1: int32(_FcTypeInteger),
  38865. },
  38866. 27: {
  38867. Fobject: __ccgo_ts + 6364,
  38868. Ftype1: int32(_FcTypeDouble),
  38869. },
  38870. 28: {
  38871. Fobject: __ccgo_ts + 6370,
  38872. Ftype1: int32(_FcTypeBool),
  38873. },
  38874. 29: {
  38875. Fobject: __ccgo_ts + 6379,
  38876. Ftype1: int32(_FcTypeInteger),
  38877. },
  38878. 30: {
  38879. Fobject: __ccgo_ts + 6389,
  38880. Ftype1: int32(_FcTypeInteger),
  38881. },
  38882. 31: {
  38883. Fobject: __ccgo_ts + 6400,
  38884. Ftype1: int32(_FcTypeMatrix),
  38885. },
  38886. 32: {
  38887. Fobject: __ccgo_ts + 6125,
  38888. Ftype1: int32(_FcTypeCharSet),
  38889. },
  38890. 33: {
  38891. Fobject: __ccgo_ts + 6144,
  38892. Ftype1: int32(_FcTypeLangSet),
  38893. },
  38894. 34: {
  38895. Fobject: __ccgo_ts + 6407,
  38896. Ftype1: int32(_FcTypeInteger),
  38897. },
  38898. 35: {
  38899. Fobject: __ccgo_ts + 6419,
  38900. Ftype1: int32(_FcTypeString),
  38901. },
  38902. 36: {
  38903. Fobject: __ccgo_ts + 6430,
  38904. Ftype1: int32(_FcTypeString),
  38905. },
  38906. 37: {
  38907. Fobject: __ccgo_ts + 6441,
  38908. Ftype1: int32(_FcTypeBool),
  38909. },
  38910. 38: {
  38911. Fobject: __ccgo_ts + 6450,
  38912. Ftype1: int32(_FcTypeBool),
  38913. },
  38914. 39: {
  38915. Fobject: __ccgo_ts + 6465,
  38916. Ftype1: int32(_FcTypeBool),
  38917. },
  38918. 40: {
  38919. Fobject: __ccgo_ts + 6476,
  38920. Ftype1: int32(_FcTypeInteger),
  38921. },
  38922. 41: {
  38923. Fobject: __ccgo_ts + 6486,
  38924. Ftype1: int32(_FcTypeString),
  38925. },
  38926. 42: {
  38927. Fobject: __ccgo_ts + 6495,
  38928. Ftype1: int32(_FcTypeString),
  38929. },
  38930. 43: {
  38931. Fobject: __ccgo_ts + 6508,
  38932. Ftype1: int32(_FcTypeString),
  38933. },
  38934. 44: {
  38935. Fobject: __ccgo_ts + 6516,
  38936. Ftype1: int32(_FcTypeString),
  38937. },
  38938. 45: {
  38939. Fobject: __ccgo_ts + 6521,
  38940. Ftype1: int32(_FcTypeString),
  38941. },
  38942. 46: {
  38943. Fobject: __ccgo_ts + 6536,
  38944. Ftype1: int32(_FcTypeBool),
  38945. },
  38946. 47: {
  38947. Fobject: __ccgo_ts + 6542,
  38948. Ftype1: int32(_FcTypeBool),
  38949. },
  38950. 48: {
  38951. Fobject: __ccgo_ts + 6549,
  38952. Ftype1: int32(_FcTypeString),
  38953. },
  38954. 49: {
  38955. Fobject: __ccgo_ts + 6564,
  38956. Ftype1: int32(_FcTypeBool),
  38957. },
  38958. 50: {
  38959. Fobject: __ccgo_ts + 6573,
  38960. Ftype1: int32(_FcTypeBool),
  38961. },
  38962. 51: {
  38963. Fobject: __ccgo_ts + 6585,
  38964. Ftype1: int32(_FcTypeInteger),
  38965. },
  38966. }
  38967. func _FcObjectFindById(tls *libc.TLS, object TFcObject) (r uintptr) {
  38968. if int32(1) <= object && object <= libc.Int32FromUint64(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16)) {
  38969. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(object-int32(1))*16
  38970. }
  38971. return XFcObjectLookupOtherTypeById(tls, object)
  38972. }
  38973. func XFcNameRegisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  38974. /* Deprecated. */
  38975. return m_FcFalse
  38976. }
  38977. func XFcNameUnregisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  38978. /* Deprecated. */
  38979. return m_FcFalse
  38980. }
  38981. func XFcNameGetObjectType(tls *libc.TLS, object uintptr) (r uintptr) {
  38982. var id int32
  38983. _ = id
  38984. id = XFcObjectLookupBuiltinIdByName(tls, object)
  38985. if !(id != 0) {
  38986. return XFcObjectLookupOtherTypeByName(tls, object)
  38987. }
  38988. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(id-int32(1))*16
  38989. }
  38990. func XFcObjectValidType(tls *libc.TLS, object TFcObject, type1 TFcType) (r TFcBool) {
  38991. var t uintptr
  38992. _ = t
  38993. t = _FcObjectFindById(tls, object)
  38994. if t != 0 {
  38995. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  38996. case int32(_FcTypeUnknown):
  38997. return int32(m_FcTrue)
  38998. case int32(_FcTypeDouble):
  38999. fallthrough
  39000. case int32(_FcTypeInteger):
  39001. if type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  39002. return int32(m_FcTrue)
  39003. }
  39004. case int32(_FcTypeLangSet):
  39005. if type1 == int32(_FcTypeLangSet) || type1 == int32(_FcTypeString) {
  39006. return int32(m_FcTrue)
  39007. }
  39008. case int32(_FcTypeRange):
  39009. if type1 == int32(_FcTypeRange) || type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  39010. return int32(m_FcTrue)
  39011. }
  39012. default:
  39013. if type1 == (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  39014. return int32(m_FcTrue)
  39015. }
  39016. break
  39017. }
  39018. return m_FcFalse
  39019. }
  39020. return int32(m_FcTrue)
  39021. }
  39022. func XFcObjectFromName(tls *libc.TLS, name uintptr) (r TFcObject) {
  39023. return XFcObjectLookupIdByName(tls, name)
  39024. }
  39025. func XFcObjectGetSet(tls *libc.TLS) (r uintptr) {
  39026. var i int32
  39027. var os uintptr
  39028. _, _ = i, os
  39029. os = libc.UintptrFromInt32(0)
  39030. os = XFcObjectSetCreate(tls)
  39031. i = 0
  39032. for {
  39033. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16))) {
  39034. break
  39035. }
  39036. XFcObjectSetAdd(tls, os, _FcObjects[i].Fobject)
  39037. goto _1
  39038. _1:
  39039. ;
  39040. i++
  39041. }
  39042. return os
  39043. }
  39044. func XFcObjectName(tls *libc.TLS, object TFcObject) (r uintptr) {
  39045. var o uintptr
  39046. _ = o
  39047. o = _FcObjectFindById(tls, object)
  39048. if o != 0 {
  39049. return (*TFcObjectType)(unsafe.Pointer(o)).Fobject
  39050. }
  39051. return XFcObjectLookupOtherNameById(tls, object)
  39052. }
  39053. var __FcBaseConstants = [57]TFcConstant{
  39054. 0: {
  39055. Fname: __ccgo_ts + 3851,
  39056. Fobject: __ccgo_ts + 6199,
  39057. },
  39058. 1: {
  39059. Fname: __ccgo_ts + 3856,
  39060. Fobject: __ccgo_ts + 6199,
  39061. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  39062. },
  39063. 2: {
  39064. Fname: __ccgo_ts + 3867,
  39065. Fobject: __ccgo_ts + 6199,
  39066. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  39067. },
  39068. 3: {
  39069. Fname: __ccgo_ts + 3878,
  39070. Fobject: __ccgo_ts + 6199,
  39071. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  39072. },
  39073. 4: {
  39074. Fname: __ccgo_ts + 3888,
  39075. Fobject: __ccgo_ts + 6199,
  39076. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  39077. },
  39078. 5: {
  39079. Fname: __ccgo_ts + 3898,
  39080. Fobject: __ccgo_ts + 6199,
  39081. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  39082. },
  39083. 6: {
  39084. Fname: __ccgo_ts + 3904,
  39085. Fobject: __ccgo_ts + 6199,
  39086. Fvalue: int32(m_FC_WEIGHT_BOOK),
  39087. },
  39088. 7: {
  39089. Fname: __ccgo_ts + 3909,
  39090. Fobject: __ccgo_ts + 6199,
  39091. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  39092. },
  39093. 8: {
  39094. Fname: __ccgo_ts + 3924,
  39095. Fobject: __ccgo_ts + 6199,
  39096. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  39097. },
  39098. 9: {
  39099. Fname: __ccgo_ts + 3931,
  39100. Fobject: __ccgo_ts + 6199,
  39101. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  39102. },
  39103. 10: {
  39104. Fname: __ccgo_ts + 3945,
  39105. Fobject: __ccgo_ts + 6199,
  39106. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  39107. },
  39108. 11: {
  39109. Fname: __ccgo_ts + 3984,
  39110. Fobject: __ccgo_ts + 6199,
  39111. Fvalue: int32(m_FC_WEIGHT_BOLD),
  39112. },
  39113. 12: {
  39114. Fname: __ccgo_ts + 3954,
  39115. Fobject: __ccgo_ts + 6199,
  39116. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  39117. },
  39118. 13: {
  39119. Fname: __ccgo_ts + 3974,
  39120. Fobject: __ccgo_ts + 6199,
  39121. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  39122. },
  39123. 14: {
  39124. Fname: __ccgo_ts + 4029,
  39125. Fobject: __ccgo_ts + 6199,
  39126. Fvalue: int32(m_FC_WEIGHT_BLACK),
  39127. },
  39128. 15: {
  39129. Fname: __ccgo_ts + 4035,
  39130. Fobject: __ccgo_ts + 6199,
  39131. Fvalue: int32(m_FC_WEIGHT_BLACK),
  39132. },
  39133. 16: {
  39134. Fname: __ccgo_ts + 6591,
  39135. Fobject: __ccgo_ts + 6193,
  39136. },
  39137. 17: {
  39138. Fname: __ccgo_ts + 4154,
  39139. Fobject: __ccgo_ts + 6193,
  39140. Fvalue: int32(m_FC_SLANT_ITALIC),
  39141. },
  39142. 18: {
  39143. Fname: __ccgo_ts + 4168,
  39144. Fobject: __ccgo_ts + 6193,
  39145. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  39146. },
  39147. 19: {
  39148. Fname: __ccgo_ts + 4041,
  39149. Fobject: __ccgo_ts + 6206,
  39150. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  39151. },
  39152. 20: {
  39153. Fname: __ccgo_ts + 4056,
  39154. Fobject: __ccgo_ts + 6206,
  39155. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  39156. },
  39157. 21: {
  39158. Fname: __ccgo_ts + 4085,
  39159. Fobject: __ccgo_ts + 6206,
  39160. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  39161. },
  39162. 22: {
  39163. Fname: __ccgo_ts + 4071,
  39164. Fobject: __ccgo_ts + 6206,
  39165. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  39166. },
  39167. 23: {
  39168. Fname: __ccgo_ts + 3917,
  39169. Fobject: __ccgo_ts + 6206,
  39170. Fvalue: int32(m_FC_WIDTH_NORMAL),
  39171. },
  39172. 24: {
  39173. Fname: __ccgo_ts + 4095,
  39174. Fobject: __ccgo_ts + 6206,
  39175. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  39176. },
  39177. 25: {
  39178. Fname: __ccgo_ts + 4136,
  39179. Fobject: __ccgo_ts + 6206,
  39180. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  39181. },
  39182. 26: {
  39183. Fname: __ccgo_ts + 4108,
  39184. Fobject: __ccgo_ts + 6206,
  39185. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  39186. },
  39187. 27: {
  39188. Fname: __ccgo_ts + 4122,
  39189. Fobject: __ccgo_ts + 6206,
  39190. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  39191. },
  39192. 28: {
  39193. Fname: __ccgo_ts + 6597,
  39194. Fobject: __ccgo_ts + 6234,
  39195. },
  39196. 29: {
  39197. Fname: __ccgo_ts + 6610,
  39198. Fobject: __ccgo_ts + 6234,
  39199. Fvalue: int32(m_FC_DUAL),
  39200. },
  39201. 30: {
  39202. Fname: __ccgo_ts + 6615,
  39203. Fobject: __ccgo_ts + 6234,
  39204. Fvalue: int32(m_FC_MONO),
  39205. },
  39206. 31: {
  39207. Fname: __ccgo_ts + 6620,
  39208. Fobject: __ccgo_ts + 6234,
  39209. Fvalue: int32(m_FC_CHARCELL),
  39210. },
  39211. 32: {
  39212. Fname: __ccgo_ts + 4707,
  39213. Fobject: __ccgo_ts + 6359,
  39214. },
  39215. 33: {
  39216. Fname: __ccgo_ts + 6629,
  39217. Fobject: __ccgo_ts + 6359,
  39218. Fvalue: int32(m_FC_RGBA_RGB),
  39219. },
  39220. 34: {
  39221. Fname: __ccgo_ts + 6633,
  39222. Fobject: __ccgo_ts + 6359,
  39223. Fvalue: int32(m_FC_RGBA_BGR),
  39224. },
  39225. 35: {
  39226. Fname: __ccgo_ts + 6637,
  39227. Fobject: __ccgo_ts + 6359,
  39228. Fvalue: int32(m_FC_RGBA_VRGB),
  39229. },
  39230. 36: {
  39231. Fname: __ccgo_ts + 6642,
  39232. Fobject: __ccgo_ts + 6359,
  39233. Fvalue: int32(m_FC_RGBA_VBGR),
  39234. },
  39235. 37: {
  39236. Fname: __ccgo_ts + 2465,
  39237. Fobject: __ccgo_ts + 6359,
  39238. Fvalue: int32(m_FC_RGBA_NONE),
  39239. },
  39240. 38: {
  39241. Fname: __ccgo_ts + 6647,
  39242. Fobject: __ccgo_ts + 6260,
  39243. },
  39244. 39: {
  39245. Fname: __ccgo_ts + 6656,
  39246. Fobject: __ccgo_ts + 6260,
  39247. Fvalue: int32(m_FC_HINT_SLIGHT),
  39248. },
  39249. 40: {
  39250. Fname: __ccgo_ts + 6667,
  39251. Fobject: __ccgo_ts + 6260,
  39252. Fvalue: int32(m_FC_HINT_MEDIUM),
  39253. },
  39254. 41: {
  39255. Fname: __ccgo_ts + 6678,
  39256. Fobject: __ccgo_ts + 6260,
  39257. Fvalue: int32(m_FC_HINT_FULL),
  39258. },
  39259. 42: {
  39260. Fname: __ccgo_ts + 6250,
  39261. Fobject: __ccgo_ts + 6250,
  39262. Fvalue: int32(m_FcTrue),
  39263. },
  39264. 43: {
  39265. Fname: __ccgo_ts + 6270,
  39266. Fobject: __ccgo_ts + 6270,
  39267. Fvalue: int32(m_FcTrue),
  39268. },
  39269. 44: {
  39270. Fname: __ccgo_ts + 6278,
  39271. Fobject: __ccgo_ts + 6278,
  39272. Fvalue: int32(m_FcTrue),
  39273. },
  39274. 45: {
  39275. Fname: __ccgo_ts + 6293,
  39276. Fobject: __ccgo_ts + 6293,
  39277. Fvalue: int32(m_FcTrue),
  39278. },
  39279. 46: {
  39280. Fname: __ccgo_ts + 6302,
  39281. Fobject: __ccgo_ts + 6302,
  39282. Fvalue: int32(m_FcTrue),
  39283. },
  39284. 47: {
  39285. Fname: __ccgo_ts + 6338,
  39286. Fobject: __ccgo_ts + 6338,
  39287. Fvalue: int32(m_FcTrue),
  39288. },
  39289. 48: {
  39290. Fname: __ccgo_ts + 6346,
  39291. Fobject: __ccgo_ts + 6346,
  39292. Fvalue: int32(m_FcTrue),
  39293. },
  39294. 49: {
  39295. Fname: __ccgo_ts + 6370,
  39296. Fobject: __ccgo_ts + 6370,
  39297. Fvalue: int32(m_FcTrue),
  39298. },
  39299. 50: {
  39300. Fname: __ccgo_ts + 6441,
  39301. Fobject: __ccgo_ts + 6441,
  39302. Fvalue: int32(m_FcTrue),
  39303. },
  39304. 51: {
  39305. Fname: __ccgo_ts + 6450,
  39306. Fobject: __ccgo_ts + 6450,
  39307. Fvalue: int32(m_FcTrue),
  39308. },
  39309. 52: {
  39310. Fname: __ccgo_ts + 6465,
  39311. Fobject: __ccgo_ts + 6465,
  39312. Fvalue: int32(m_FcTrue),
  39313. },
  39314. 53: {
  39315. Fname: __ccgo_ts + 6687,
  39316. Fobject: __ccgo_ts + 6476,
  39317. },
  39318. 54: {
  39319. Fname: __ccgo_ts + 6695,
  39320. Fobject: __ccgo_ts + 6476,
  39321. Fvalue: int32(m_FC_LCD_DEFAULT),
  39322. },
  39323. 55: {
  39324. Fname: __ccgo_ts + 6706,
  39325. Fobject: __ccgo_ts + 6476,
  39326. Fvalue: int32(m_FC_LCD_LIGHT),
  39327. },
  39328. 56: {
  39329. Fname: __ccgo_ts + 6715,
  39330. Fobject: __ccgo_ts + 6476,
  39331. Fvalue: int32(m_FC_LCD_LEGACY),
  39332. },
  39333. }
  39334. func XFcNameRegisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  39335. /* Deprecated. */
  39336. return m_FcFalse
  39337. }
  39338. func XFcNameUnregisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  39339. /* Deprecated. */
  39340. return m_FcFalse
  39341. }
  39342. func XFcNameGetConstant(tls *libc.TLS, string1 uintptr) (r uintptr) {
  39343. var i uint32
  39344. _ = i
  39345. i = uint32(0)
  39346. for {
  39347. if !(uint64(i) < libc.Uint64FromInt64(1368)/libc.Uint64FromInt64(24)) {
  39348. break
  39349. }
  39350. if !(XFcStrCmpIgnoreCase(tls, string1, __FcBaseConstants[i].Fname) != 0) {
  39351. return uintptr(unsafe.Pointer(&__FcBaseConstants)) + uintptr(i)*24
  39352. }
  39353. goto _1
  39354. _1:
  39355. ;
  39356. i++
  39357. }
  39358. return uintptr(0)
  39359. }
  39360. func XFcNameConstant(tls *libc.TLS, string1 uintptr, result uintptr) (r TFcBool) {
  39361. var c, v1 uintptr
  39362. _, _ = c, v1
  39363. v1 = XFcNameGetConstant(tls, string1)
  39364. c = v1
  39365. if v1 != 0 {
  39366. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  39367. return int32(m_FcTrue)
  39368. }
  39369. return m_FcFalse
  39370. }
  39371. func XFcNameConstantWithObjectCheck(tls *libc.TLS, string1 uintptr, object uintptr, result uintptr) (r TFcBool) {
  39372. bp := tls.Alloc(32)
  39373. defer tls.Free(32)
  39374. var c, v1 uintptr
  39375. _, _ = c, v1
  39376. v1 = XFcNameGetConstant(tls, string1)
  39377. c = v1
  39378. if v1 != 0 {
  39379. if libc.Xstrcmp(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject, object) != 0 {
  39380. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+6725, libc.VaList(bp+8, string1, object, (*TFcConstant)(unsafe.Pointer(c)).Fobject))
  39381. return m_FcFalse
  39382. }
  39383. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  39384. return int32(m_FcTrue)
  39385. }
  39386. return m_FcFalse
  39387. }
  39388. func XFcNameBool(tls *libc.TLS, v uintptr, result uintptr) (r TFcBool) {
  39389. var c0, c1 int8
  39390. var v1, v2 int32
  39391. _, _, _, _ = c0, c1, v1, v2
  39392. c0 = libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v)))
  39393. if int32(0101) <= int32(c0) && int32(c0) <= int32(0132) {
  39394. v1 = int32(c0) - int32(0101) + int32(0141)
  39395. } else {
  39396. v1 = int32(c0)
  39397. }
  39398. c0 = int8(v1)
  39399. if int32(c0) == int32('t') || int32(c0) == int32('y') || int32(c0) == int32('1') {
  39400. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  39401. return int32(m_FcTrue)
  39402. }
  39403. if int32(c0) == int32('f') || int32(c0) == int32('n') || int32(c0) == int32('0') {
  39404. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  39405. return int32(m_FcTrue)
  39406. }
  39407. if int32(c0) == int32('d') || int32(c0) == int32('x') || int32(c0) == int32('2') {
  39408. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  39409. return int32(m_FcTrue)
  39410. }
  39411. if int32(c0) == int32('o') {
  39412. c1 = libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v + 1)))
  39413. if int32(0101) <= int32(c1) && int32(c1) <= int32(0132) {
  39414. v2 = int32(c1) - int32(0101) + int32(0141)
  39415. } else {
  39416. v2 = int32(c1)
  39417. }
  39418. c1 = int8(v2)
  39419. if int32(c1) == int32('n') {
  39420. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  39421. return int32(m_FcTrue)
  39422. }
  39423. if int32(c1) == int32('f') {
  39424. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  39425. return int32(m_FcTrue)
  39426. }
  39427. if int32(c1) == int32('r') {
  39428. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  39429. return int32(m_FcTrue)
  39430. }
  39431. }
  39432. return m_FcFalse
  39433. }
  39434. func _FcNameConvert(tls *libc.TLS, type1 TFcType, object uintptr, string1 uintptr) (r TFcValue) {
  39435. bp := tls.Alloc(128)
  39436. defer tls.Free(128)
  39437. var ec, sc uintptr
  39438. var len1 Tsize_t
  39439. var v11, v12 float64
  39440. var _ /* b at bp+48 */ float64
  39441. var _ /* e at bp+56 */ float64
  39442. var _ /* ei at bp+76 */ int32
  39443. var _ /* m at bp+16 */ TFcMatrix
  39444. var _ /* p at bp+64 */ uintptr
  39445. var _ /* si at bp+72 */ int32
  39446. var _ /* v at bp+0 */ TFcValue
  39447. _, _, _, _, _ = ec, len1, sc, v11, v12
  39448. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = type1
  39449. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  39450. case int32(_FcTypeInteger):
  39451. goto _1
  39452. case int32(_FcTypeString):
  39453. goto _2
  39454. case int32(_FcTypeBool):
  39455. goto _3
  39456. case int32(_FcTypeDouble):
  39457. goto _4
  39458. case int32(_FcTypeMatrix):
  39459. goto _5
  39460. case int32(_FcTypeCharSet):
  39461. goto _6
  39462. case int32(_FcTypeLangSet):
  39463. goto _7
  39464. case int32(_FcTypeRange):
  39465. goto _8
  39466. default:
  39467. goto _9
  39468. }
  39469. goto _10
  39470. _1:
  39471. ;
  39472. if !(XFcNameConstantWithObjectCheck(tls, string1, object, bp+8) != 0) {
  39473. *(*int32)(unsafe.Pointer(bp + 8)) = libc.Xatoi(tls, string1)
  39474. }
  39475. goto _10
  39476. _2:
  39477. ;
  39478. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, string1)
  39479. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39480. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39481. }
  39482. goto _10
  39483. _3:
  39484. ;
  39485. if !(XFcNameBool(tls, string1, bp+8) != 0) {
  39486. *(*TFcBool)(unsafe.Pointer(bp + 8)) = m_FcFalse
  39487. }
  39488. goto _10
  39489. _4:
  39490. ;
  39491. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, uintptr(0))
  39492. goto _10
  39493. _5:
  39494. ;
  39495. v11 = libc.Float64FromInt32(1)
  39496. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyy = v11
  39497. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxx = v11
  39498. v12 = libc.Float64FromInt32(0)
  39499. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyx = v12
  39500. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxy = v12
  39501. libc.Xsscanf(tls, string1, __ccgo_ts+6811, libc.VaList(bp+88, bp+16, bp+16+8, bp+16+16, bp+16+24))
  39502. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcMatrixCopy(tls, bp+16)
  39503. goto _10
  39504. _6:
  39505. ;
  39506. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseCharSet(tls, string1)
  39507. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39508. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39509. }
  39510. goto _10
  39511. _7:
  39512. ;
  39513. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseLangSet(tls, string1)
  39514. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39515. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39516. }
  39517. goto _10
  39518. _8:
  39519. ;
  39520. if libc.Xsscanf(tls, string1, __ccgo_ts+6827, libc.VaList(bp+88, bp+48, bp+56)) != int32(2) {
  39521. len1 = libc.Xstrlen(tls, string1)
  39522. sc = libc.Xmalloc(tls, len1+uint64(1))
  39523. ec = libc.Xmalloc(tls, len1+uint64(1))
  39524. if !(sc != 0 && ec != 0 && libc.Xsscanf(tls, string1, __ccgo_ts+6837, libc.VaList(bp+88, sc, ec)) == int32(2)) {
  39525. goto _13
  39526. }
  39527. if XFcNameConstantWithObjectCheck(tls, sc, object, bp+72) != 0 && XFcNameConstantWithObjectCheck(tls, ec, object, bp+76) != 0 {
  39528. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCreateDouble(tls, float64(*(*int32)(unsafe.Pointer(bp + 72))), float64(*(*int32)(unsafe.Pointer(bp + 76))))
  39529. } else {
  39530. goto bail1
  39531. }
  39532. goto _14
  39533. _13:
  39534. ;
  39535. goto bail1
  39536. bail1:
  39537. ;
  39538. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  39539. if XFcNameConstantWithObjectCheck(tls, string1, object, bp+72) != 0 {
  39540. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 72)))
  39541. } else {
  39542. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, bp+64)
  39543. if *(*uintptr)(unsafe.Pointer(bp + 64)) != libc.UintptrFromInt32(0) && int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64))))) != 0 {
  39544. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39545. }
  39546. }
  39547. _14:
  39548. ;
  39549. if sc != 0 {
  39550. libc.Xfree(tls, sc)
  39551. }
  39552. if ec != 0 {
  39553. libc.Xfree(tls, ec)
  39554. }
  39555. } else {
  39556. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCreateDouble(tls, *(*float64)(unsafe.Pointer(bp + 48)), *(*float64)(unsafe.Pointer(bp + 56)))
  39557. }
  39558. goto _10
  39559. _9:
  39560. ;
  39561. goto _10
  39562. _10:
  39563. ;
  39564. return *(*TFcValue)(unsafe.Pointer(bp))
  39565. }
  39566. func _FcNameFindNext(tls *libc.TLS, cur uintptr, delim uintptr, save uintptr, last uintptr) (r uintptr) {
  39567. var c, v1, v11, v12 TFcChar8
  39568. var v13 uintptr
  39569. var v2, v6, v8, v9 int32
  39570. var v4 t__darwin_ct_rune_t
  39571. var v5 uint64
  39572. _, _, _, _, _, _, _, _, _, _, _ = c, v1, v11, v12, v13, v2, v4, v5, v6, v8, v9
  39573. for {
  39574. v1 = *(*TFcChar8)(unsafe.Pointer(cur))
  39575. c = v1
  39576. if !(v1 != 0) {
  39577. break
  39578. }
  39579. v4 = libc.Int32FromUint8(c)
  39580. v5 = uint64(0x00004000)
  39581. v9 = libc.BoolInt32(v4 & ^libc.Int32FromInt32(0x7F) == 0)
  39582. goto _10
  39583. _10:
  39584. if v9 != 0 {
  39585. v8 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v4)*4)))&v5 != 0))
  39586. } else {
  39587. v8 = libc.BoolInt32(!!(libc.X__maskrune(tls, v4, v5) != 0))
  39588. }
  39589. v6 = v8
  39590. goto _7
  39591. _7:
  39592. v2 = v6
  39593. goto _3
  39594. _3:
  39595. if !(v2 != 0) {
  39596. break
  39597. }
  39598. cur++
  39599. }
  39600. for {
  39601. v11 = *(*TFcChar8)(unsafe.Pointer(cur))
  39602. c = v11
  39603. if !(v11 != 0) {
  39604. break
  39605. }
  39606. if libc.Int32FromUint8(c) == int32('\\') {
  39607. cur++
  39608. v12 = *(*TFcChar8)(unsafe.Pointer(cur))
  39609. c = v12
  39610. if !(v12 != 0) {
  39611. break
  39612. }
  39613. } else {
  39614. if libc.Xstrchr(tls, delim, libc.Int32FromUint8(c)) != 0 {
  39615. break
  39616. }
  39617. }
  39618. cur++
  39619. v13 = save
  39620. save++
  39621. *(*TFcChar8)(unsafe.Pointer(v13)) = c
  39622. }
  39623. *(*TFcChar8)(unsafe.Pointer(save)) = uint8(0)
  39624. *(*TFcChar8)(unsafe.Pointer(last)) = *(*TFcChar8)(unsafe.Pointer(cur))
  39625. if *(*TFcChar8)(unsafe.Pointer(cur)) != 0 {
  39626. cur++
  39627. }
  39628. return cur
  39629. }
  39630. func XFcNameParse(tls *libc.TLS, name uintptr) (r uintptr) {
  39631. bp := tls.Alloc(16)
  39632. defer tls.Free(16)
  39633. var c, pat, save, t, v4 uintptr
  39634. var d float64
  39635. var v TFcValue
  39636. var _ /* delim at bp+8 */ TFcChar8
  39637. var _ /* e at bp+0 */ uintptr
  39638. _, _, _, _, _, _, _ = c, d, pat, save, t, v, v4
  39639. /* freed below */
  39640. save = libc.Xmalloc(tls, libc.Xstrlen(tls, name)+uint64(1))
  39641. if !(save != 0) {
  39642. goto bail0
  39643. }
  39644. pat = XFcPatternCreate(tls)
  39645. if !(pat != 0) {
  39646. goto bail1
  39647. }
  39648. for {
  39649. name = _FcNameFindNext(tls, name, __ccgo_ts+6848, save, bp+8)
  39650. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  39651. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), save) != 0) {
  39652. goto bail2
  39653. }
  39654. }
  39655. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  39656. break
  39657. }
  39658. goto _1
  39659. _1:
  39660. }
  39661. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('-') {
  39662. for {
  39663. name = _FcNameFindNext(tls, name, __ccgo_ts+6848, save, bp+8)
  39664. d = libc.Xstrtod(tls, save, bp)
  39665. if *(*uintptr)(unsafe.Pointer(bp)) != save {
  39666. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), d) != 0) {
  39667. goto bail2
  39668. }
  39669. }
  39670. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  39671. break
  39672. }
  39673. goto _2
  39674. _2:
  39675. }
  39676. }
  39677. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32(':') {
  39678. name = _FcNameFindNext(tls, name, __ccgo_ts+6852, save, bp+8)
  39679. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  39680. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('=') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('_') {
  39681. t = XFcNameGetObjectType(tls, save)
  39682. for {
  39683. name = _FcNameFindNext(tls, name, __ccgo_ts+6856, save, bp+8)
  39684. if t != 0 {
  39685. v = _FcNameConvert(tls, (*TFcObjectType)(unsafe.Pointer(t)).Ftype1, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, save)
  39686. if !(XFcPatternAdd(tls, pat, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, v, int32(m_FcTrue)) != 0) {
  39687. XFcValueDestroy(tls, v)
  39688. goto bail2
  39689. }
  39690. XFcValueDestroy(tls, v)
  39691. }
  39692. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  39693. break
  39694. }
  39695. goto _3
  39696. _3:
  39697. }
  39698. } else {
  39699. v4 = XFcNameGetConstant(tls, save)
  39700. c = v4
  39701. if v4 != 0 {
  39702. t = XFcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  39703. if t == libc.UintptrFromInt32(0) {
  39704. goto bail2
  39705. }
  39706. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  39707. case int32(_FcTypeInteger):
  39708. fallthrough
  39709. case int32(_FcTypeDouble):
  39710. if !(XFcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  39711. goto bail2
  39712. }
  39713. case int32(_FcTypeBool):
  39714. if !(XFcPatternAddBool(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  39715. goto bail2
  39716. }
  39717. case int32(_FcTypeRange):
  39718. if !(XFcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  39719. goto bail2
  39720. }
  39721. default:
  39722. break
  39723. }
  39724. }
  39725. }
  39726. }
  39727. }
  39728. libc.Xfree(tls, save)
  39729. return pat
  39730. goto bail2
  39731. bail2:
  39732. ;
  39733. XFcPatternDestroy(tls, pat)
  39734. goto bail1
  39735. bail1:
  39736. ;
  39737. libc.Xfree(tls, save)
  39738. goto bail0
  39739. bail0:
  39740. ;
  39741. return uintptr(0)
  39742. return r
  39743. }
  39744. func _FcNameUnparseString(tls *libc.TLS, buf uintptr, string1 uintptr, escape uintptr) (r TFcBool) {
  39745. var c, v1 TFcChar8
  39746. var v2 uintptr
  39747. _, _, _ = c, v1, v2
  39748. for {
  39749. v2 = string1
  39750. string1++
  39751. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  39752. c = v1
  39753. if !(v1 != 0) {
  39754. break
  39755. }
  39756. if escape != 0 && libc.Xstrchr(tls, escape, int32(libc.Int8FromUint8(c))) != 0 {
  39757. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(escape))) != 0) {
  39758. return m_FcFalse
  39759. }
  39760. }
  39761. if !(XFcStrBufChar(tls, buf, c) != 0) {
  39762. return m_FcFalse
  39763. }
  39764. }
  39765. return int32(m_FcTrue)
  39766. }
  39767. func XFcNameUnparseValue(tls *libc.TLS, buf uintptr, v0 uintptr, escape uintptr) (r TFcBool) {
  39768. bp := tls.Alloc(1088)
  39769. defer tls.Free(1088)
  39770. var v1, v2 uintptr
  39771. var _ /* temp at bp+0 */ [1024]TFcChar8
  39772. var _ /* v at bp+1024 */ TFcValue
  39773. _, _ = v1, v2
  39774. *(*TFcValue)(unsafe.Pointer(bp + 1024)) = TFcValue{}
  39775. *(*T_FcValue)(unsafe.Pointer(bp + 1024)) = XFcValueCanonicalize(tls, v0)
  39776. switch (*(*TFcValue)(unsafe.Pointer(bp + 1024))).Ftype1 {
  39777. case int32(_FcTypeUnknown):
  39778. fallthrough
  39779. case int32(_FcTypeVoid):
  39780. return int32(m_FcTrue)
  39781. case int32(_FcTypeInteger):
  39782. libc.X__builtin___sprintf_chk(tls, bp, 0, ^t__predefined_size_t(0), __ccgo_ts+2470, libc.VaList(bp+1048, *(*int32)(unsafe.Pointer(bp + 1024 + 8))))
  39783. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  39784. case int32(_FcTypeDouble):
  39785. libc.X__builtin___sprintf_chk(tls, bp, 0, ^t__predefined_size_t(0), __ccgo_ts+2473, libc.VaList(bp+1048, *(*float64)(unsafe.Pointer(bp + 1024 + 8))))
  39786. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  39787. case int32(_FcTypeString):
  39788. return _FcNameUnparseString(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)), escape)
  39789. case int32(_FcTypeBool):
  39790. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == int32(m_FcTrue) {
  39791. v1 = __ccgo_ts + 1904
  39792. } else {
  39793. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == m_FcFalse {
  39794. v2 = __ccgo_ts + 1909
  39795. } else {
  39796. v2 = __ccgo_ts + 1915
  39797. }
  39798. v1 = v2
  39799. }
  39800. return _FcNameUnparseString(tls, buf, v1, uintptr(0))
  39801. case int32(_FcTypeMatrix):
  39802. libc.X__builtin___sprintf_chk(tls, bp, 0, ^t__predefined_size_t(0), __ccgo_ts+6859, libc.VaList(bp+1048, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fyy))
  39803. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  39804. case int32(_FcTypeCharSet):
  39805. return XFcNameUnparseCharSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  39806. case int32(_FcTypeLangSet):
  39807. return XFcNameUnparseLangSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  39808. case int32(_FcTypeFTFace):
  39809. return int32(m_FcTrue)
  39810. case int32(_FcTypeRange):
  39811. libc.X__builtin___sprintf_chk(tls, bp, 0, ^t__predefined_size_t(0), __ccgo_ts+1944, libc.VaList(bp+1048, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fend))
  39812. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  39813. }
  39814. return m_FcFalse
  39815. }
  39816. func XFcNameUnparseValueList(tls *libc.TLS, buf uintptr, v TFcValueListPtr, escape uintptr) (r TFcBool) {
  39817. var v1 TFcValueListPtr
  39818. var v2 uintptr
  39819. _, _ = v1, v2
  39820. for v != 0 {
  39821. if !(XFcNameUnparseValue(tls, buf, v+8, escape) != 0) {
  39822. return m_FcFalse
  39823. }
  39824. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  39825. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  39826. } else {
  39827. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  39828. }
  39829. v1 = v2
  39830. v = v1
  39831. if v1 != libc.UintptrFromInt32(0) {
  39832. if !(_FcNameUnparseString(tls, buf, __ccgo_ts+6871, uintptr(0)) != 0) {
  39833. return m_FcFalse
  39834. }
  39835. }
  39836. }
  39837. return int32(m_FcTrue)
  39838. }
  39839. func XFcNameUnparse(tls *libc.TLS, pat uintptr) (r uintptr) {
  39840. return XFcNameUnparseEscaped(tls, pat, int32(m_FcTrue))
  39841. }
  39842. func XFcNameUnparseEscaped(tls *libc.TLS, pat uintptr, escape TFcBool) (r uintptr) {
  39843. bp := tls.Alloc(8752)
  39844. defer tls.Free(8752)
  39845. var e, o, p, v1, v2, v3, v4, v6, v7, v8 uintptr
  39846. var i int32
  39847. var id TFcObject
  39848. var _ /* buf at bp+0 */ TFcStrBuf
  39849. var _ /* buf2 at bp+152 */ TFcStrBuf
  39850. var _ /* buf2_static at bp+8496 */ [256]TFcChar8
  39851. var _ /* buf_static at bp+304 */ [8192]TFcChar8
  39852. _, _, _, _, _, _, _, _, _, _, _, _ = e, i, id, o, p, v1, v2, v3, v4, v6, v7, v8
  39853. XFcStrBufInit(tls, bp, bp+304, int32(8192))
  39854. XFcStrBufInit(tls, bp+152, bp+8496, int32(256))
  39855. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  39856. if e != 0 {
  39857. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  39858. v1 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  39859. } else {
  39860. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  39861. }
  39862. if escape != 0 {
  39863. v2 = __ccgo_ts + 6873
  39864. } else {
  39865. v2 = uintptr(0)
  39866. }
  39867. if !(XFcNameUnparseValueList(tls, bp, v1, v2) != 0) {
  39868. goto bail0
  39869. }
  39870. }
  39871. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_SIZE_OBJECT))
  39872. if e != 0 {
  39873. if !(_FcNameUnparseString(tls, bp+152, __ccgo_ts+6878, uintptr(0)) != 0) {
  39874. goto bail0
  39875. }
  39876. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  39877. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  39878. } else {
  39879. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  39880. }
  39881. if escape != 0 {
  39882. v4 = __ccgo_ts + 6873
  39883. } else {
  39884. v4 = uintptr(0)
  39885. }
  39886. if !(XFcNameUnparseValueList(tls, bp+152, v3, v4) != 0) {
  39887. goto bail0
  39888. }
  39889. p = XFcStrBufDoneStatic(tls, bp+152)
  39890. XFcStrBufDestroy(tls, bp+152)
  39891. if libc.Xstrlen(tls, p) > uint64(1) {
  39892. if !(XFcStrBufString(tls, bp, p) != 0) {
  39893. goto bail0
  39894. }
  39895. }
  39896. }
  39897. i = 0
  39898. for {
  39899. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16))) {
  39900. break
  39901. }
  39902. id = i + int32(1)
  39903. o = uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(i)*16
  39904. if !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+5977) != 0) || !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+6212) != 0) {
  39905. goto _5
  39906. }
  39907. e = XFcPatternObjectFindElt(tls, pat, id)
  39908. if e != 0 {
  39909. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6880, uintptr(0)) != 0) {
  39910. goto bail0
  39911. }
  39912. if escape != 0 {
  39913. v6 = __ccgo_ts + 6882
  39914. } else {
  39915. v6 = uintptr(0)
  39916. }
  39917. if !(_FcNameUnparseString(tls, bp, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, v6) != 0) {
  39918. goto bail0
  39919. }
  39920. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6888, uintptr(0)) != 0) {
  39921. goto bail0
  39922. }
  39923. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  39924. v7 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  39925. } else {
  39926. v7 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  39927. }
  39928. if escape != 0 {
  39929. v8 = __ccgo_ts + 6882
  39930. } else {
  39931. v8 = uintptr(0)
  39932. }
  39933. if !(XFcNameUnparseValueList(tls, bp, v7, v8) != 0) {
  39934. goto bail0
  39935. }
  39936. }
  39937. goto _5
  39938. _5:
  39939. ;
  39940. i++
  39941. }
  39942. return XFcStrBufDone(tls, bp)
  39943. goto bail0
  39944. bail0:
  39945. ;
  39946. XFcStrBufDestroy(tls, bp)
  39947. return uintptr(0)
  39948. }
  39949. /* ANSI-C code produced by gperf version 3.0.3 */
  39950. /* Command-line: /Library/Developer/CommandLineTools/usr/bin/gperf --pic -m 100 fcobjshash.gperf */
  39951. /* Computed positions: -k'3,5' */
  39952. type TFcObjectTypeInfo = struct {
  39953. Fname int32
  39954. Fid int32
  39955. }
  39956. /*
  39957. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  39958. *
  39959. * @APPLE_LICENSE_HEADER_START@
  39960. *
  39961. * This file contains Original Code and/or Modifications of Original Code
  39962. * as defined in and that are subject to the Apple Public Source License
  39963. * Version 2.0 (the 'License'). You may not use this file except in
  39964. * compliance with the License. Please obtain a copy of the License at
  39965. * http://www.opensource.apple.com/apsl/ and read it before using this
  39966. * file.
  39967. *
  39968. * The Original Code and all software distributed under the License are
  39969. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  39970. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  39971. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  39972. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  39973. * Please see the License for the specific language governing rights and
  39974. * limitations under the License.
  39975. *
  39976. * @APPLE_LICENSE_HEADER_END@
  39977. */
  39978. /*-
  39979. * Copyright (c) 1990, 1993
  39980. * The Regents of the University of California. All rights reserved.
  39981. *
  39982. * Redistribution and use in source and binary forms, with or without
  39983. * modification, are permitted provided that the following conditions
  39984. * are met:
  39985. * 1. Redistributions of source code must retain the above copyright
  39986. * notice, this list of conditions and the following disclaimer.
  39987. * 2. Redistributions in binary form must reproduce the above copyright
  39988. * notice, this list of conditions and the following disclaimer in the
  39989. * documentation and/or other materials provided with the distribution.
  39990. * 3. All advertising materials mentioning features or use of this software
  39991. * must display the following acknowledgement:
  39992. * This product includes software developed by the University of
  39993. * California, Berkeley and its contributors.
  39994. * 4. Neither the name of the University nor the names of its contributors
  39995. * may be used to endorse or promote products derived from this software
  39996. * without specific prior written permission.
  39997. *
  39998. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  39999. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  40000. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  40001. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  40002. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  40003. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  40004. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  40005. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  40006. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  40007. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  40008. * SUCH DAMAGE.
  40009. *
  40010. * @(#)string.h 8.1 (Berkeley) 6/2/93
  40011. */
  40012. /*
  40013. * Copyright (c) 2023 Apple Inc. All rights reserved.
  40014. *
  40015. * @APPLE_LICENSE_HEADER_START@
  40016. *
  40017. * This file contains Original Code and/or Modifications of Original Code
  40018. * as defined in and that are subject to the Apple Public Source License
  40019. * Version 2.0 (the 'License'). You may not use this file except in
  40020. * compliance with the License. Please obtain a copy of the License at
  40021. * http://www.opensource.apple.com/apsl/ and read it before using this
  40022. * file.
  40023. *
  40024. * The Original Code and all software distributed under the License are
  40025. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  40026. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  40027. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  40028. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  40029. * Please see the License for the specific language governing rights and
  40030. * limitations under the License.
  40031. *
  40032. * @APPLE_LICENSE_HEADER_END@
  40033. */
  40034. /*-
  40035. * Copyright (c) 1990, 1993
  40036. * The Regents of the University of California. All rights reserved.
  40037. *
  40038. * Redistribution and use in source and binary forms, with or without
  40039. * modification, are permitted provided that the following conditions
  40040. * are met:
  40041. * 1. Redistributions of source code must retain the above copyright
  40042. * notice, this list of conditions and the following disclaimer.
  40043. * 2. Redistributions in binary form must reproduce the above copyright
  40044. * notice, this list of conditions and the following disclaimer in the
  40045. * documentation and/or other materials provided with the distribution.
  40046. * 3. All advertising materials mentioning features or use of this software
  40047. * must display the following acknowledgement:
  40048. * This product includes software developed by the University of
  40049. * California, Berkeley and its contributors.
  40050. * 4. Neither the name of the University nor the names of its contributors
  40051. * may be used to endorse or promote products derived from this software
  40052. * without specific prior written permission.
  40053. *
  40054. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  40055. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  40056. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  40057. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  40058. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  40059. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  40060. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  40061. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  40062. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  40063. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  40064. * SUCH DAMAGE.
  40065. *
  40066. * @(#)string.h 8.1 (Berkeley) 6/2/93
  40067. */
  40068. /*===---- stddef.h - Basic type definitions --------------------------------===
  40069. *
  40070. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  40071. * See https://llvm.org/LICENSE.txt for license information.
  40072. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  40073. *
  40074. *===-----------------------------------------------------------------------===
  40075. */
  40076. /*
  40077. * This header is designed to be included multiple times. If any of the __need_
  40078. * macros are defined, then only that subset of interfaces are provided. This
  40079. * can be useful for POSIX headers that need to not expose all of stddef.h, but
  40080. * need to use some of its interfaces. Otherwise this header provides all of
  40081. * the expected interfaces.
  40082. *
  40083. * When clang modules are enabled, this header is a textual header to support
  40084. * the multiple include behavior. As such, it doesn't directly declare anything
  40085. * so that it doesn't add duplicate declarations to all of its includers'
  40086. * modules.
  40087. */
  40088. /* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
  40089. * enabled. */
  40090. /* FIXME: This is using the placeholder dates Clang produces for these macros
  40091. in C2x mode; switch to the correct values once they've been published. */
  40092. /* wint_t is provided by <wchar.h> and not <stddef.h>. It's here
  40093. * for compatibility, but must be explicitly requested. Therefore
  40094. * __need_wint_t is intentionally not defined here. */
  40095. /*===---- __stddef_header_macro.h ------------------------------------------===
  40096. *
  40097. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  40098. * See https://llvm.org/LICENSE.txt for license information.
  40099. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  40100. *
  40101. *===-----------------------------------------------------------------------===
  40102. */
  40103. /*===---- __stddef_ptrdiff_t.h - Definition of ptrdiff_t -------------------===
  40104. *
  40105. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  40106. * See https://llvm.org/LICENSE.txt for license information.
  40107. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  40108. *
  40109. *===-----------------------------------------------------------------------===
  40110. */
  40111. /*
  40112. * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
  40113. * and needs to behave as if it was textual.
  40114. */
  40115. /*===---- __stddef_size_t.h - Definition of size_t -------------------------===
  40116. *
  40117. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  40118. * See https://llvm.org/LICENSE.txt for license information.
  40119. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  40120. *
  40121. *===-----------------------------------------------------------------------===
  40122. */
  40123. /*
  40124. * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
  40125. * and needs to behave as if it was textual.
  40126. */
  40127. /*===---- __stddef_rsize_t.h - Definition of rsize_t -----------------------===
  40128. *
  40129. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  40130. * See https://llvm.org/LICENSE.txt for license information.
  40131. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  40132. *
  40133. *===-----------------------------------------------------------------------===
  40134. */
  40135. /*
  40136. * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
  40137. * and needs to behave as if it was textual.
  40138. */
  40139. /*===---- __stddef_wchar.h - Definition of wchar_t -------------------------===
  40140. *
  40141. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  40142. * See https://llvm.org/LICENSE.txt for license information.
  40143. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  40144. *
  40145. *===-----------------------------------------------------------------------===
  40146. */
  40147. /*
  40148. * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
  40149. * and needs to behave as if it was textual.
  40150. */
  40151. /*===---- __stddef_max_align_t.h - Definition of max_align_t ---------------===
  40152. *
  40153. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  40154. * See https://llvm.org/LICENSE.txt for license information.
  40155. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  40156. *
  40157. *===-----------------------------------------------------------------------===
  40158. */
  40159. /*===---- __stddef_offsetof.h - Definition of offsetof ---------------------===
  40160. *
  40161. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  40162. * See https://llvm.org/LICENSE.txt for license information.
  40163. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  40164. *
  40165. *===-----------------------------------------------------------------------===
  40166. */
  40167. /*
  40168. * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
  40169. * and needs to behave as if it was textual.
  40170. */
  40171. /* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
  40172. __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
  40173. /* maximum key range = 59, duplicates = 0 */
  40174. func _FcObjectTypeHash(tls *libc.TLS, str uintptr, len1 uint32) (r uint32) {
  40175. var hval uint32
  40176. _ = hval
  40177. hval = len1
  40178. switch hval {
  40179. default:
  40180. hval += uint32(_asso_values[libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(str + 4)))])
  40181. /*FALLTHROUGH*/
  40182. fallthrough
  40183. case uint32(4):
  40184. fallthrough
  40185. case uint32(3):
  40186. hval += uint32(_asso_values[libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(str + 2)))])
  40187. break
  40188. }
  40189. return hval
  40190. }
  40191. var _asso_values = [256]uint8{
  40192. 0: uint8(66),
  40193. 1: uint8(66),
  40194. 2: uint8(66),
  40195. 3: uint8(66),
  40196. 4: uint8(66),
  40197. 5: uint8(66),
  40198. 6: uint8(66),
  40199. 7: uint8(66),
  40200. 8: uint8(66),
  40201. 9: uint8(66),
  40202. 10: uint8(66),
  40203. 11: uint8(66),
  40204. 12: uint8(66),
  40205. 13: uint8(66),
  40206. 14: uint8(66),
  40207. 15: uint8(66),
  40208. 16: uint8(66),
  40209. 17: uint8(66),
  40210. 18: uint8(66),
  40211. 19: uint8(66),
  40212. 20: uint8(66),
  40213. 21: uint8(66),
  40214. 22: uint8(66),
  40215. 23: uint8(66),
  40216. 24: uint8(66),
  40217. 25: uint8(66),
  40218. 26: uint8(66),
  40219. 27: uint8(66),
  40220. 28: uint8(66),
  40221. 29: uint8(66),
  40222. 30: uint8(66),
  40223. 31: uint8(66),
  40224. 32: uint8(66),
  40225. 33: uint8(66),
  40226. 34: uint8(66),
  40227. 35: uint8(66),
  40228. 36: uint8(66),
  40229. 37: uint8(66),
  40230. 38: uint8(66),
  40231. 39: uint8(66),
  40232. 40: uint8(66),
  40233. 41: uint8(66),
  40234. 42: uint8(66),
  40235. 43: uint8(66),
  40236. 44: uint8(66),
  40237. 45: uint8(66),
  40238. 46: uint8(66),
  40239. 47: uint8(66),
  40240. 48: uint8(66),
  40241. 49: uint8(66),
  40242. 50: uint8(66),
  40243. 51: uint8(66),
  40244. 52: uint8(66),
  40245. 53: uint8(66),
  40246. 54: uint8(66),
  40247. 55: uint8(66),
  40248. 56: uint8(66),
  40249. 57: uint8(66),
  40250. 58: uint8(66),
  40251. 59: uint8(66),
  40252. 60: uint8(66),
  40253. 61: uint8(66),
  40254. 62: uint8(66),
  40255. 63: uint8(66),
  40256. 64: uint8(66),
  40257. 65: uint8(66),
  40258. 66: uint8(66),
  40259. 67: uint8(66),
  40260. 68: uint8(66),
  40261. 69: uint8(66),
  40262. 70: uint8(66),
  40263. 71: uint8(66),
  40264. 72: uint8(66),
  40265. 73: uint8(66),
  40266. 74: uint8(66),
  40267. 75: uint8(66),
  40268. 76: uint8(66),
  40269. 77: uint8(66),
  40270. 78: uint8(66),
  40271. 79: uint8(66),
  40272. 80: uint8(66),
  40273. 81: uint8(66),
  40274. 82: uint8(66),
  40275. 83: uint8(66),
  40276. 84: uint8(66),
  40277. 85: uint8(66),
  40278. 86: uint8(66),
  40279. 87: uint8(66),
  40280. 88: uint8(66),
  40281. 89: uint8(66),
  40282. 90: uint8(66),
  40283. 91: uint8(66),
  40284. 92: uint8(66),
  40285. 93: uint8(66),
  40286. 94: uint8(66),
  40287. 95: uint8(66),
  40288. 96: uint8(66),
  40289. 97: uint8(4),
  40290. 98: uint8(10),
  40291. 99: uint8(32),
  40292. 100: uint8(21),
  40293. 101: uint8(29),
  40294. 102: uint8(28),
  40295. 103: uint8(49),
  40296. 104: uint8(14),
  40297. 105: uint8(4),
  40298. 106: uint8(66),
  40299. 107: uint8(66),
  40300. 108: uint8(5),
  40301. 109: uint8(31),
  40302. 110: uint8(18),
  40303. 111: uint8(22),
  40304. 112: uint8(27),
  40305. 113: uint8(66),
  40306. 114: uint8(15),
  40307. 115: uint8(9),
  40308. 116: uint8(8),
  40309. 117: uint8(23),
  40310. 118: uint8(23),
  40311. 119: uint8(13),
  40312. 120: uint8(23),
  40313. 121: uint8(16),
  40314. 122: uint8(4),
  40315. 123: uint8(66),
  40316. 124: uint8(66),
  40317. 125: uint8(66),
  40318. 126: uint8(66),
  40319. 127: uint8(66),
  40320. 128: uint8(66),
  40321. 129: uint8(66),
  40322. 130: uint8(66),
  40323. 131: uint8(66),
  40324. 132: uint8(66),
  40325. 133: uint8(66),
  40326. 134: uint8(66),
  40327. 135: uint8(66),
  40328. 136: uint8(66),
  40329. 137: uint8(66),
  40330. 138: uint8(66),
  40331. 139: uint8(66),
  40332. 140: uint8(66),
  40333. 141: uint8(66),
  40334. 142: uint8(66),
  40335. 143: uint8(66),
  40336. 144: uint8(66),
  40337. 145: uint8(66),
  40338. 146: uint8(66),
  40339. 147: uint8(66),
  40340. 148: uint8(66),
  40341. 149: uint8(66),
  40342. 150: uint8(66),
  40343. 151: uint8(66),
  40344. 152: uint8(66),
  40345. 153: uint8(66),
  40346. 154: uint8(66),
  40347. 155: uint8(66),
  40348. 156: uint8(66),
  40349. 157: uint8(66),
  40350. 158: uint8(66),
  40351. 159: uint8(66),
  40352. 160: uint8(66),
  40353. 161: uint8(66),
  40354. 162: uint8(66),
  40355. 163: uint8(66),
  40356. 164: uint8(66),
  40357. 165: uint8(66),
  40358. 166: uint8(66),
  40359. 167: uint8(66),
  40360. 168: uint8(66),
  40361. 169: uint8(66),
  40362. 170: uint8(66),
  40363. 171: uint8(66),
  40364. 172: uint8(66),
  40365. 173: uint8(66),
  40366. 174: uint8(66),
  40367. 175: uint8(66),
  40368. 176: uint8(66),
  40369. 177: uint8(66),
  40370. 178: uint8(66),
  40371. 179: uint8(66),
  40372. 180: uint8(66),
  40373. 181: uint8(66),
  40374. 182: uint8(66),
  40375. 183: uint8(66),
  40376. 184: uint8(66),
  40377. 185: uint8(66),
  40378. 186: uint8(66),
  40379. 187: uint8(66),
  40380. 188: uint8(66),
  40381. 189: uint8(66),
  40382. 190: uint8(66),
  40383. 191: uint8(66),
  40384. 192: uint8(66),
  40385. 193: uint8(66),
  40386. 194: uint8(66),
  40387. 195: uint8(66),
  40388. 196: uint8(66),
  40389. 197: uint8(66),
  40390. 198: uint8(66),
  40391. 199: uint8(66),
  40392. 200: uint8(66),
  40393. 201: uint8(66),
  40394. 202: uint8(66),
  40395. 203: uint8(66),
  40396. 204: uint8(66),
  40397. 205: uint8(66),
  40398. 206: uint8(66),
  40399. 207: uint8(66),
  40400. 208: uint8(66),
  40401. 209: uint8(66),
  40402. 210: uint8(66),
  40403. 211: uint8(66),
  40404. 212: uint8(66),
  40405. 213: uint8(66),
  40406. 214: uint8(66),
  40407. 215: uint8(66),
  40408. 216: uint8(66),
  40409. 217: uint8(66),
  40410. 218: uint8(66),
  40411. 219: uint8(66),
  40412. 220: uint8(66),
  40413. 221: uint8(66),
  40414. 222: uint8(66),
  40415. 223: uint8(66),
  40416. 224: uint8(66),
  40417. 225: uint8(66),
  40418. 226: uint8(66),
  40419. 227: uint8(66),
  40420. 228: uint8(66),
  40421. 229: uint8(66),
  40422. 230: uint8(66),
  40423. 231: uint8(66),
  40424. 232: uint8(66),
  40425. 233: uint8(66),
  40426. 234: uint8(66),
  40427. 235: uint8(66),
  40428. 236: uint8(66),
  40429. 237: uint8(66),
  40430. 238: uint8(66),
  40431. 239: uint8(66),
  40432. 240: uint8(66),
  40433. 241: uint8(66),
  40434. 242: uint8(66),
  40435. 243: uint8(66),
  40436. 244: uint8(66),
  40437. 245: uint8(66),
  40438. 246: uint8(66),
  40439. 247: uint8(66),
  40440. 248: uint8(66),
  40441. 249: uint8(66),
  40442. 250: uint8(66),
  40443. 251: uint8(66),
  40444. 252: uint8(66),
  40445. 253: uint8(66),
  40446. 254: uint8(66),
  40447. 255: uint8(66),
  40448. }
  40449. type TFcObjectTypeNamePool_t = struct {
  40450. FFcObjectTypeNamePool_str7 [4]int8
  40451. FFcObjectTypeNamePool_str8 [5]int8
  40452. FFcObjectTypeNamePool_str9 [5]int8
  40453. FFcObjectTypeNamePool_str13 [5]int8
  40454. FFcObjectTypeNamePool_str14 [5]int8
  40455. FFcObjectTypeNamePool_str15 [8]int8
  40456. FFcObjectTypeNamePool_str16 [9]int8
  40457. FFcObjectTypeNamePool_str17 [6]int8
  40458. FFcObjectTypeNamePool_str18 [7]int8
  40459. FFcObjectTypeNamePool_str19 [8]int8
  40460. FFcObjectTypeNamePool_str20 [8]int8
  40461. FFcObjectTypeNamePool_str21 [10]int8
  40462. FFcObjectTypeNamePool_str22 [5]int8
  40463. FFcObjectTypeNamePool_str23 [9]int8
  40464. FFcObjectTypeNamePool_str24 [7]int8
  40465. FFcObjectTypeNamePool_str25 [6]int8
  40466. FFcObjectTypeNamePool_str26 [10]int8
  40467. FFcObjectTypeNamePool_str27 [9]int8
  40468. FFcObjectTypeNamePool_str28 [11]int8
  40469. FFcObjectTypeNamePool_str29 [8]int8
  40470. FFcObjectTypeNamePool_str30 [9]int8
  40471. FFcObjectTypeNamePool_str31 [9]int8
  40472. FFcObjectTypeNamePool_str32 [15]int8
  40473. FFcObjectTypeNamePool_str33 [15]int8
  40474. FFcObjectTypeNamePool_str34 [10]int8
  40475. FFcObjectTypeNamePool_str35 [13]int8
  40476. FFcObjectTypeNamePool_str36 [10]int8
  40477. FFcObjectTypeNamePool_str37 [10]int8
  40478. FFcObjectTypeNamePool_str38 [6]int8
  40479. FFcObjectTypeNamePool_str39 [14]int8
  40480. FFcObjectTypeNamePool_str40 [6]int8
  40481. FFcObjectTypeNamePool_str41 [6]int8
  40482. FFcObjectTypeNamePool_str42 [7]int8
  40483. FFcObjectTypeNamePool_str43 [12]int8
  40484. FFcObjectTypeNamePool_str44 [9]int8
  40485. FFcObjectTypeNamePool_str45 [15]int8
  40486. FFcObjectTypeNamePool_str46 [11]int8
  40487. FFcObjectTypeNamePool_str47 [11]int8
  40488. FFcObjectTypeNamePool_str48 [11]int8
  40489. FFcObjectTypeNamePool_str49 [6]int8
  40490. FFcObjectTypeNamePool_str50 [6]int8
  40491. FFcObjectTypeNamePool_str51 [8]int8
  40492. FFcObjectTypeNamePool_str52 [12]int8
  40493. FFcObjectTypeNamePool_str53 [9]int8
  40494. FFcObjectTypeNamePool_str54 [10]int8
  40495. FFcObjectTypeNamePool_str55 [15]int8
  40496. FFcObjectTypeNamePool_str56 [11]int8
  40497. FFcObjectTypeNamePool_str57 [11]int8
  40498. FFcObjectTypeNamePool_str58 [13]int8
  40499. FFcObjectTypeNamePool_str59 [7]int8
  40500. FFcObjectTypeNamePool_str60 [8]int8
  40501. FFcObjectTypeNamePool_str65 [7]int8
  40502. }
  40503. var _FcObjectTypeNamePool_contents = TFcObjectTypeNamePool_t{
  40504. FFcObjectTypeNamePool_str7: [4]int8{'d', 'p', 'i'},
  40505. FFcObjectTypeNamePool_str8: [5]int8{'s', 'i', 'z', 'e'},
  40506. FFcObjectTypeNamePool_str9: [5]int8{'f', 'i', 'l', 'e'},
  40507. FFcObjectTypeNamePool_str13: [5]int8{'h', 'a', 's', 'h'},
  40508. FFcObjectTypeNamePool_str14: [5]int8{'r', 'g', 'b', 'a'},
  40509. FFcObjectTypeNamePool_str15: [8]int8{'s', 'p', 'a', 'c', 'i', 'n', 'g'},
  40510. FFcObjectTypeNamePool_str16: [9]int8{'s', 'c', 'a', 'l', 'a', 'b', 'l', 'e'},
  40511. FFcObjectTypeNamePool_str17: [6]int8{'s', 'l', 'a', 'n', 't'},
  40512. FFcObjectTypeNamePool_str18: [7]int8{'m', 'a', 't', 'r', 'i', 'x'},
  40513. FFcObjectTypeNamePool_str19: [8]int8{'o', 'u', 't', 'l', 'i', 'n', 'e'},
  40514. FFcObjectTypeNamePool_str20: [8]int8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  40515. FFcObjectTypeNamePool_str21: [10]int8{'a', 'n', 't', 'i', 'a', 'l', 'i', 'a', 's'},
  40516. FFcObjectTypeNamePool_str22: [5]int8{'l', 'a', 'n', 'g'},
  40517. FFcObjectTypeNamePool_str23: [9]int8{'e', 'm', 'b', 'o', 'l', 'd', 'e', 'n'},
  40518. FFcObjectTypeNamePool_str24: [7]int8{'w', 'e', 'i', 'g', 'h', 't'},
  40519. FFcObjectTypeNamePool_str25: [6]int8{'c', 'o', 'l', 'o', 'r'},
  40520. FFcObjectTypeNamePool_str26: [10]int8{'c', 'h', 'a', 'r', 'w', 'i', 'd', 't', 'h'},
  40521. FFcObjectTypeNamePool_str27: [9]int8{'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e'},
  40522. FFcObjectTypeNamePool_str28: [11]int8{'c', 'h', 'a', 'r', 'h', 'e', 'i', 'g', 'h', 't'},
  40523. FFcObjectTypeNamePool_str29: [8]int8{'h', 'i', 'n', 't', 'i', 'n', 'g'},
  40524. FFcObjectTypeNamePool_str30: [9]int8{'a', 'u', 't', 'o', 'h', 'i', 'n', 't'},
  40525. FFcObjectTypeNamePool_str31: [9]int8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e'},
  40526. FFcObjectTypeNamePool_str32: [15]int8{'p', 'o', 's', 't', 's', 'c', 'r', 'i', 'p', 't', 'n', 'a', 'm', 'e'},
  40527. FFcObjectTypeNamePool_str33: [15]int8{'v', 'e', 'r', 't', 'i', 'c', 'a', 'l', 'l', 'a', 'y', 'o', 'u', 't'},
  40528. FFcObjectTypeNamePool_str34: [10]int8{'l', 'c', 'd', 'f', 'i', 'l', 't', 'e', 'r'},
  40529. FFcObjectTypeNamePool_str35: [13]int8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  40530. FFcObjectTypeNamePool_str36: [10]int8{'h', 'i', 'n', 't', 's', 't', 'y', 'l', 'e'},
  40531. FFcObjectTypeNamePool_str37: [10]int8{'p', 'i', 'x', 'e', 'l', 's', 'i', 'z', 'e'},
  40532. FFcObjectTypeNamePool_str38: [6]int8{'s', 'c', 'a', 'l', 'e'},
  40533. FFcObjectTypeNamePool_str39: [14]int8{'g', 'l', 'o', 'b', 'a', 'l', 'a', 'd', 'v', 'a', 'n', 'c', 'e'},
  40534. FFcObjectTypeNamePool_str40: [6]int8{'w', 'i', 'd', 't', 'h'},
  40535. FFcObjectTypeNamePool_str41: [6]int8{'o', 'r', 'd', 'e', 'r'},
  40536. FFcObjectTypeNamePool_str42: [7]int8{'f', 'a', 'm', 'i', 'l', 'y'},
  40537. FFcObjectTypeNamePool_str43: [12]int8{'f', 'o', 'n', 't', 'h', 'a', 's', 'h', 'i', 'n', 't'},
  40538. FFcObjectTypeNamePool_str44: [9]int8{'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  40539. FFcObjectTypeNamePool_str45: [15]int8{'e', 'm', 'b', 'e', 'd', 'd', 'e', 'd', 'b', 'i', 't', 'm', 'a', 'p'},
  40540. FFcObjectTypeNamePool_str46: [11]int8{'f', 'a', 'm', 'i', 'l', 'y', 'l', 'a', 'n', 'g'},
  40541. FFcObjectTypeNamePool_str47: [11]int8{'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y'},
  40542. FFcObjectTypeNamePool_str48: [11]int8{'r', 'a', 's', 't', 'e', 'r', 'i', 'z', 'e', 'r'},
  40543. FFcObjectTypeNamePool_str49: [6]int8{'i', 'n', 'd', 'e', 'x'},
  40544. FFcObjectTypeNamePool_str50: [6]int8{'s', 't', 'y', 'l', 'e'},
  40545. FFcObjectTypeNamePool_str51: [8]int8{'f', 'o', 'u', 'n', 'd', 'r', 'y'},
  40546. FFcObjectTypeNamePool_str52: [12]int8{'f', 'o', 'n', 't', 'v', 'e', 'r', 's', 'i', 'o', 'n'},
  40547. FFcObjectTypeNamePool_str53: [9]int8{'m', 'i', 'n', 's', 'p', 'a', 'c', 'e'},
  40548. FFcObjectTypeNamePool_str54: [10]int8{'s', 't', 'y', 'l', 'e', 'l', 'a', 'n', 'g'},
  40549. FFcObjectTypeNamePool_str55: [15]int8{'f', 'o', 'n', 't', 'v', 'a', 'r', 'i', 'a', 't', 'i', 'o', 'n', 's'},
  40550. FFcObjectTypeNamePool_str56: [11]int8{'f', 'o', 'n', 't', 'f', 'o', 'r', 'm', 'a', 't'},
  40551. FFcObjectTypeNamePool_str57: [11]int8{'d', 'e', 'c', 'o', 'r', 'a', 't', 'i', 'v', 'e'},
  40552. FFcObjectTypeNamePool_str58: [13]int8{'f', 'o', 'n', 't', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's'},
  40553. FFcObjectTypeNamePool_str59: [7]int8{'s', 'y', 'm', 'b', 'o', 'l'},
  40554. FFcObjectTypeNamePool_str60: [8]int8{'p', 'r', 'g', 'n', 'a', 'm', 'e'},
  40555. FFcObjectTypeNamePool_str65: [7]int8{'a', 's', 'p', 'e', 'c', 't'},
  40556. }
  40557. func _FcObjectTypeLookup(tls *libc.TLS, str uintptr, len1 uint32) (r uintptr) {
  40558. var key uint32
  40559. var o int32
  40560. var s uintptr
  40561. _, _, _ = key, o, s
  40562. if len1 <= libc.Uint32FromInt32(14) && len1 >= libc.Uint32FromInt32(3) {
  40563. key = _FcObjectTypeHash(tls, str, len1)
  40564. if key <= libc.Uint32FromInt32(65) {
  40565. o = _wordlist[key].Fname
  40566. if o >= 0 {
  40567. s = uintptr(o) + uintptr(unsafe.Pointer(&_FcObjectTypeNamePool_contents))
  40568. if int32(*(*int8)(unsafe.Pointer(str))) == int32(*(*int8)(unsafe.Pointer(s))) && !(libc.Xstrcmp(tls, str+uintptr(1), s+uintptr(1)) != 0) {
  40569. return uintptr(unsafe.Pointer(&_wordlist)) + uintptr(key)*8
  40570. }
  40571. }
  40572. }
  40573. }
  40574. return uintptr(0)
  40575. }
  40576. var _wordlist = [66]TFcObjectTypeInfo{
  40577. 0: {
  40578. Fname: -int32(1),
  40579. },
  40580. 1: {
  40581. Fname: -int32(1),
  40582. },
  40583. 2: {
  40584. Fname: -int32(1),
  40585. },
  40586. 3: {
  40587. Fname: -int32(1),
  40588. },
  40589. 4: {
  40590. Fname: -int32(1),
  40591. },
  40592. 5: {
  40593. Fname: -int32(1),
  40594. },
  40595. 6: {
  40596. Fname: -int32(1),
  40597. },
  40598. 7: {
  40599. Fid: int32(_FC_DPI_OBJECT),
  40600. },
  40601. 8: {
  40602. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 4)),
  40603. Fid: int32(_FC_SIZE_OBJECT),
  40604. },
  40605. 9: {
  40606. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 9)),
  40607. Fid: int32(_FC_FILE_OBJECT),
  40608. },
  40609. 10: {
  40610. Fname: -int32(1),
  40611. },
  40612. 11: {
  40613. Fname: -int32(1),
  40614. },
  40615. 12: {
  40616. Fname: -int32(1),
  40617. },
  40618. 13: {
  40619. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 14)),
  40620. Fid: int32(_FC_HASH_OBJECT),
  40621. },
  40622. 14: {
  40623. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 19)),
  40624. Fid: int32(_FC_RGBA_OBJECT),
  40625. },
  40626. 15: {
  40627. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 24)),
  40628. Fid: int32(_FC_SPACING_OBJECT),
  40629. },
  40630. 16: {
  40631. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 32)),
  40632. Fid: int32(_FC_SCALABLE_OBJECT),
  40633. },
  40634. 17: {
  40635. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 41)),
  40636. Fid: int32(_FC_SLANT_OBJECT),
  40637. },
  40638. 18: {
  40639. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 47)),
  40640. Fid: int32(_FC_MATRIX_OBJECT),
  40641. },
  40642. 19: {
  40643. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 54)),
  40644. Fid: int32(_FC_OUTLINE_OBJECT),
  40645. },
  40646. 20: {
  40647. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 62)),
  40648. Fid: int32(_FC_CHARSET_OBJECT),
  40649. },
  40650. 21: {
  40651. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 70)),
  40652. Fid: int32(_FC_ANTIALIAS_OBJECT),
  40653. },
  40654. 22: {
  40655. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 80)),
  40656. Fid: int32(_FC_LANG_OBJECT),
  40657. },
  40658. 23: {
  40659. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 85)),
  40660. Fid: int32(_FC_EMBOLDEN_OBJECT),
  40661. },
  40662. 24: {
  40663. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 94)),
  40664. Fid: int32(_FC_WEIGHT_OBJECT),
  40665. },
  40666. 25: {
  40667. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 101)),
  40668. Fid: int32(_FC_COLOR_OBJECT),
  40669. },
  40670. 26: {
  40671. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 107)),
  40672. Fid: int32(_FC_CHARWIDTH_OBJECT),
  40673. },
  40674. 27: {
  40675. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 117)),
  40676. Fid: int32(_FC_VARIABLE_OBJECT),
  40677. },
  40678. 28: {
  40679. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 126)),
  40680. Fid: int32(_FC_CHAR_HEIGHT_OBJECT),
  40681. },
  40682. 29: {
  40683. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 137)),
  40684. Fid: int32(_FC_HINTING_OBJECT),
  40685. },
  40686. 30: {
  40687. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 145)),
  40688. Fid: int32(_FC_AUTOHINT_OBJECT),
  40689. },
  40690. 31: {
  40691. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 154)),
  40692. Fid: int32(_FC_FULLNAME_OBJECT),
  40693. },
  40694. 32: {
  40695. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 163)),
  40696. Fid: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  40697. },
  40698. 33: {
  40699. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 178)),
  40700. Fid: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  40701. },
  40702. 34: {
  40703. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 193)),
  40704. Fid: int32(_FC_LCD_FILTER_OBJECT),
  40705. },
  40706. 35: {
  40707. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 203)),
  40708. Fid: int32(_FC_FULLNAMELANG_OBJECT),
  40709. },
  40710. 36: {
  40711. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 216)),
  40712. Fid: int32(_FC_HINT_STYLE_OBJECT),
  40713. },
  40714. 37: {
  40715. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 226)),
  40716. Fid: int32(_FC_PIXEL_SIZE_OBJECT),
  40717. },
  40718. 38: {
  40719. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 236)),
  40720. Fid: int32(_FC_SCALE_OBJECT),
  40721. },
  40722. 39: {
  40723. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 242)),
  40724. Fid: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  40725. },
  40726. 40: {
  40727. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 256)),
  40728. Fid: int32(_FC_WIDTH_OBJECT),
  40729. },
  40730. 41: {
  40731. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 262)),
  40732. Fid: int32(_FC_ORDER_OBJECT),
  40733. },
  40734. 42: {
  40735. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 268)),
  40736. Fid: int32(_FC_FAMILY_OBJECT),
  40737. },
  40738. 43: {
  40739. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 275)),
  40740. Fid: int32(_FC_FONT_HAS_HINT_OBJECT),
  40741. },
  40742. 44: {
  40743. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 287)),
  40744. Fid: int32(_FC_NAMELANG_OBJECT),
  40745. },
  40746. 45: {
  40747. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 296)),
  40748. Fid: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  40749. },
  40750. 46: {
  40751. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 311)),
  40752. Fid: int32(_FC_FAMILYLANG_OBJECT),
  40753. },
  40754. 47: {
  40755. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 322)),
  40756. Fid: int32(_FC_CAPABILITY_OBJECT),
  40757. },
  40758. 48: {
  40759. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 333)),
  40760. Fid: int32(_FC_RASTERIZER_OBJECT),
  40761. },
  40762. 49: {
  40763. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 344)),
  40764. Fid: int32(_FC_INDEX_OBJECT),
  40765. },
  40766. 50: {
  40767. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 350)),
  40768. Fid: int32(_FC_STYLE_OBJECT),
  40769. },
  40770. 51: {
  40771. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 356)),
  40772. Fid: int32(_FC_FOUNDRY_OBJECT),
  40773. },
  40774. 52: {
  40775. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 364)),
  40776. Fid: int32(_FC_FONTVERSION_OBJECT),
  40777. },
  40778. 53: {
  40779. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 376)),
  40780. Fid: int32(_FC_MINSPACE_OBJECT),
  40781. },
  40782. 54: {
  40783. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 385)),
  40784. Fid: int32(_FC_STYLELANG_OBJECT),
  40785. },
  40786. 55: {
  40787. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 395)),
  40788. Fid: int32(_FC_FONT_VARIATIONS_OBJECT),
  40789. },
  40790. 56: {
  40791. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 410)),
  40792. Fid: int32(_FC_FONTFORMAT_OBJECT),
  40793. },
  40794. 57: {
  40795. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 421)),
  40796. Fid: int32(_FC_DECORATIVE_OBJECT),
  40797. },
  40798. 58: {
  40799. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 432)),
  40800. Fid: int32(_FC_FONT_FEATURES_OBJECT),
  40801. },
  40802. 59: {
  40803. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 445)),
  40804. Fid: int32(_FC_SYMBOL_OBJECT),
  40805. },
  40806. 60: {
  40807. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 452)),
  40808. Fid: int32(_FC_PRGNAME_OBJECT),
  40809. },
  40810. 61: {
  40811. Fname: -int32(1),
  40812. },
  40813. 62: {
  40814. Fname: -int32(1),
  40815. },
  40816. 63: {
  40817. Fname: -int32(1),
  40818. },
  40819. 64: {
  40820. Fname: -int32(1),
  40821. },
  40822. 65: {
  40823. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 460)),
  40824. Fid: int32(_FC_ASPECT_OBJECT),
  40825. },
  40826. }
  40827. /*
  40828. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  40829. *
  40830. * @APPLE_LICENSE_HEADER_START@
  40831. *
  40832. * This file contains Original Code and/or Modifications of Original Code
  40833. * as defined in and that are subject to the Apple Public Source License
  40834. * Version 2.0 (the 'License'). You may not use this file except in
  40835. * compliance with the License. Please obtain a copy of the License at
  40836. * http://www.opensource.apple.com/apsl/ and read it before using this
  40837. * file.
  40838. *
  40839. * The Original Code and all software distributed under the License are
  40840. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  40841. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  40842. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  40843. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  40844. * Please see the License for the specific language governing rights and
  40845. * limitations under the License.
  40846. *
  40847. * @APPLE_LICENSE_HEADER_END@
  40848. */
  40849. /*-
  40850. * Copyright (c) 1990, 1993
  40851. * The Regents of the University of California. All rights reserved.
  40852. *
  40853. * Redistribution and use in source and binary forms, with or without
  40854. * modification, are permitted provided that the following conditions
  40855. * are met:
  40856. * 1. Redistributions of source code must retain the above copyright
  40857. * notice, this list of conditions and the following disclaimer.
  40858. * 2. Redistributions in binary form must reproduce the above copyright
  40859. * notice, this list of conditions and the following disclaimer in the
  40860. * documentation and/or other materials provided with the distribution.
  40861. * 3. All advertising materials mentioning features or use of this software
  40862. * must display the following acknowledgement:
  40863. * This product includes software developed by the University of
  40864. * California, Berkeley and its contributors.
  40865. * 4. Neither the name of the University nor the names of its contributors
  40866. * may be used to endorse or promote products derived from this software
  40867. * without specific prior written permission.
  40868. *
  40869. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  40870. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  40871. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  40872. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  40873. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  40874. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  40875. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  40876. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  40877. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  40878. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  40879. * SUCH DAMAGE.
  40880. *
  40881. * @(#)string.h 8.1 (Berkeley) 6/2/93
  40882. */
  40883. /*
  40884. * Copyright (c) 2023 Apple Inc. All rights reserved.
  40885. *
  40886. * @APPLE_LICENSE_HEADER_START@
  40887. *
  40888. * This file contains Original Code and/or Modifications of Original Code
  40889. * as defined in and that are subject to the Apple Public Source License
  40890. * Version 2.0 (the 'License'). You may not use this file except in
  40891. * compliance with the License. Please obtain a copy of the License at
  40892. * http://www.opensource.apple.com/apsl/ and read it before using this
  40893. * file.
  40894. *
  40895. * The Original Code and all software distributed under the License are
  40896. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  40897. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  40898. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  40899. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  40900. * Please see the License for the specific language governing rights and
  40901. * limitations under the License.
  40902. *
  40903. * @APPLE_LICENSE_HEADER_END@
  40904. */
  40905. /*-
  40906. * Copyright (c) 1990, 1993
  40907. * The Regents of the University of California. All rights reserved.
  40908. *
  40909. * Redistribution and use in source and binary forms, with or without
  40910. * modification, are permitted provided that the following conditions
  40911. * are met:
  40912. * 1. Redistributions of source code must retain the above copyright
  40913. * notice, this list of conditions and the following disclaimer.
  40914. * 2. Redistributions in binary form must reproduce the above copyright
  40915. * notice, this list of conditions and the following disclaimer in the
  40916. * documentation and/or other materials provided with the distribution.
  40917. * 3. All advertising materials mentioning features or use of this software
  40918. * must display the following acknowledgement:
  40919. * This product includes software developed by the University of
  40920. * California, Berkeley and its contributors.
  40921. * 4. Neither the name of the University nor the names of its contributors
  40922. * may be used to endorse or promote products derived from this software
  40923. * without specific prior written permission.
  40924. *
  40925. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  40926. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  40927. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  40928. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  40929. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  40930. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  40931. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  40932. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  40933. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  40934. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  40935. * SUCH DAMAGE.
  40936. *
  40937. * @(#)string.h 8.1 (Berkeley) 6/2/93
  40938. */
  40939. // C documentation
  40940. //
  40941. // /* The 1000 is to leave some room for future added internal objects, such
  40942. // * that caches from newer fontconfig can still be used with older fontconfig
  40943. // * without getting confused. */
  40944. var _next_id = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  40945. type TFcObjectOtherTypeInfo = struct {
  40946. Fnext uintptr
  40947. Fobject TFcObjectType
  40948. Fid TFcObject
  40949. }
  40950. func XFcObjectFini(tls *libc.TLS) {
  40951. var ot, ots uintptr
  40952. var v1 int32
  40953. _, _, _ = ot, ots, v1
  40954. goto retry
  40955. retry:
  40956. ;
  40957. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  40958. if !(ots != 0) {
  40959. return
  40960. }
  40961. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  40962. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = libc.UintptrFromInt32(0)
  40963. v1 = libc.Int32FromInt32(m_FcTrue)
  40964. } else {
  40965. v1 = m_FcFalse
  40966. }
  40967. if !(v1 != 0) {
  40968. goto retry
  40969. }
  40970. for ots != 0 {
  40971. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fnext
  40972. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject != 0 {
  40973. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject)
  40974. }
  40975. libc.Xfree(tls, ots)
  40976. ots = ot
  40977. }
  40978. }
  40979. func __FcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr, id uintptr) (r uintptr) {
  40980. var ot, ots uintptr
  40981. var v2 int32
  40982. _, _, _ = ot, ots, v2
  40983. goto retry
  40984. retry:
  40985. ;
  40986. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  40987. ot = ots
  40988. for {
  40989. if !(ot != 0) {
  40990. break
  40991. }
  40992. if 0 == libc.Xstrcmp(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject, str) {
  40993. break
  40994. }
  40995. goto _1
  40996. _1:
  40997. ;
  40998. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  40999. }
  41000. if !(ot != 0) {
  41001. ot = libc.Xmalloc(tls, uint64(32))
  41002. if !(ot != 0) {
  41003. return libc.UintptrFromInt32(0)
  41004. }
  41005. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject = libc.Xstrdup(tls, str)
  41006. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Ftype1 = int32(_FcTypeUnknown)
  41007. _next_id += +libc.Int32FromInt32(1)
  41008. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid = _next_id - +libc.Int32FromInt32(1)
  41009. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid < int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1)+libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) {
  41010. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+6890, 0)
  41011. libc.Xabort(tls)
  41012. }
  41013. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext = ots
  41014. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  41015. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = ot
  41016. v2 = libc.Int32FromInt32(m_FcTrue)
  41017. } else {
  41018. v2 = m_FcFalse
  41019. }
  41020. if !(v2 != 0) {
  41021. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject != 0 {
  41022. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject)
  41023. }
  41024. libc.Xfree(tls, ot)
  41025. goto retry
  41026. }
  41027. }
  41028. if id != 0 {
  41029. *(*TFcObject)(unsafe.Pointer(id)) = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid
  41030. }
  41031. return ot + 8
  41032. }
  41033. func XFcObjectLookupBuiltinIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  41034. var o uintptr
  41035. _ = o
  41036. o = _FcObjectTypeLookup(tls, str, uint32(libc.Xstrlen(tls, str)))
  41037. if o != 0 {
  41038. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  41039. }
  41040. return 0
  41041. }
  41042. func XFcObjectLookupIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  41043. bp := tls.Alloc(16)
  41044. defer tls.Free(16)
  41045. var o uintptr
  41046. var _ /* id at bp+0 */ TFcObject
  41047. _ = o
  41048. o = _FcObjectTypeLookup(tls, str, uint32(libc.Xstrlen(tls, str)))
  41049. if o != 0 {
  41050. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  41051. }
  41052. if __FcObjectLookupOtherTypeByName(tls, str, bp) != 0 {
  41053. return *(*TFcObject)(unsafe.Pointer(bp))
  41054. }
  41055. return 0
  41056. }
  41057. func XFcObjectLookupOtherNameById(tls *libc.TLS, id TFcObject) (r uintptr) {
  41058. var ot uintptr
  41059. _ = ot
  41060. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  41061. for {
  41062. if !(ot != 0) {
  41063. break
  41064. }
  41065. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  41066. return (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject
  41067. }
  41068. goto _1
  41069. _1:
  41070. ;
  41071. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  41072. }
  41073. return libc.UintptrFromInt32(0)
  41074. }
  41075. func XFcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr) (r uintptr) {
  41076. return __FcObjectLookupOtherTypeByName(tls, str, libc.UintptrFromInt32(0))
  41077. }
  41078. func XFcObjectLookupOtherTypeById(tls *libc.TLS, id TFcObject) (r uintptr) {
  41079. var ot uintptr
  41080. _ = ot
  41081. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  41082. for {
  41083. if !(ot != 0) {
  41084. break
  41085. }
  41086. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  41087. return ot + 8
  41088. }
  41089. goto _1
  41090. _1:
  41091. ;
  41092. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  41093. }
  41094. return libc.UintptrFromInt32(0)
  41095. }
  41096. /* Objects MT-safe for readonly access. */
  41097. func XFcPatternCreate(tls *libc.TLS) (r uintptr) {
  41098. var p uintptr
  41099. _ = p
  41100. p = libc.Xmalloc(tls, uint64(24))
  41101. if !(p != 0) {
  41102. return uintptr(0)
  41103. }
  41104. libc.X__builtin___memset_chk(tls, p, 0, uint64(24), ^t__predefined_size_t(0))
  41105. (*TFcPattern)(unsafe.Pointer(p)).Fnum = 0
  41106. (*TFcPattern)(unsafe.Pointer(p)).Fsize = 0
  41107. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(libc.UintptrFromInt32(0)) - int64(p)
  41108. (*TFcRef)(unsafe.Pointer(p + 16)).Fcount = int32(1)
  41109. return p
  41110. }
  41111. func XFcValueDestroy(tls *libc.TLS, _v TFcValue) {
  41112. bp := tls.Alloc(16)
  41113. defer tls.Free(16)
  41114. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  41115. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  41116. case int32(_FcTypeString):
  41117. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  41118. case int32(_FcTypeMatrix):
  41119. XFcMatrixFree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  41120. case int32(_FcTypeCharSet):
  41121. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  41122. case int32(_FcTypeLangSet):
  41123. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  41124. case int32(_FcTypeRange):
  41125. XFcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  41126. default:
  41127. break
  41128. }
  41129. }
  41130. func XFcValueCanonicalize(tls *libc.TLS, v uintptr) (r TFcValue) {
  41131. bp := tls.Alloc(16)
  41132. defer tls.Free(16)
  41133. var v1, v2, v3, v4 uintptr
  41134. var _ /* new at bp+0 */ TFcValue
  41135. _, _, _, _ = v1, v2, v3, v4
  41136. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  41137. case int32(_FcTypeString):
  41138. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41139. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41140. } else {
  41141. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  41142. }
  41143. *(*uintptr)(unsafe.Pointer(bp + 8)) = v1
  41144. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  41145. case int32(_FcTypeCharSet):
  41146. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41147. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41148. } else {
  41149. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  41150. }
  41151. *(*uintptr)(unsafe.Pointer(bp + 8)) = v2
  41152. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  41153. case int32(_FcTypeLangSet):
  41154. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41155. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41156. } else {
  41157. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  41158. }
  41159. *(*uintptr)(unsafe.Pointer(bp + 8)) = v3
  41160. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  41161. case int32(_FcTypeRange):
  41162. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41163. v4 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41164. } else {
  41165. v4 = *(*uintptr)(unsafe.Pointer(v + 8))
  41166. }
  41167. *(*uintptr)(unsafe.Pointer(bp + 8)) = v4
  41168. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  41169. default:
  41170. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(v))
  41171. break
  41172. }
  41173. return *(*TFcValue)(unsafe.Pointer(bp))
  41174. }
  41175. func XFcValueSave(tls *libc.TLS, _v TFcValue) (r TFcValue) {
  41176. bp := tls.Alloc(16)
  41177. defer tls.Free(16)
  41178. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  41179. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  41180. case int32(_FcTypeString):
  41181. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  41182. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  41183. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  41184. }
  41185. case int32(_FcTypeMatrix):
  41186. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcMatrixCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  41187. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  41188. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  41189. }
  41190. case int32(_FcTypeCharSet):
  41191. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  41192. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  41193. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  41194. }
  41195. case int32(_FcTypeLangSet):
  41196. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  41197. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  41198. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  41199. }
  41200. case int32(_FcTypeRange):
  41201. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  41202. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  41203. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  41204. }
  41205. default:
  41206. break
  41207. }
  41208. return *(*TFcValue)(unsafe.Pointer(bp))
  41209. }
  41210. func XFcValueListCreate(tls *libc.TLS) (r TFcValueListPtr) {
  41211. return libc.Xcalloc(tls, uint64(1), uint64(32))
  41212. }
  41213. func XFcValueListDestroy(tls *libc.TLS, l TFcValueListPtr) {
  41214. var next TFcValueListPtr
  41215. var v2 uintptr
  41216. _, _ = next, v2
  41217. for {
  41218. if !(l != 0) {
  41219. break
  41220. }
  41221. XFcValueDestroy(tls, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  41222. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  41223. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41224. } else {
  41225. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41226. }
  41227. next = v2
  41228. libc.Xfree(tls, l)
  41229. goto _1
  41230. _1:
  41231. ;
  41232. l = next
  41233. }
  41234. }
  41235. func XFcValueListPrepend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  41236. var new1 TFcValueListPtr
  41237. _ = new1
  41238. if value.Ftype1 == int32(_FcTypeVoid) {
  41239. return vallist
  41240. }
  41241. new1 = XFcValueListCreate(tls)
  41242. if !(new1 != 0) {
  41243. return vallist
  41244. }
  41245. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XFcValueSave(tls, value)
  41246. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  41247. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = vallist
  41248. return new1
  41249. }
  41250. func XFcValueListAppend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  41251. var last, new1 TFcValueListPtr
  41252. var v2, v3 uintptr
  41253. _, _, _, _ = last, new1, v2, v3
  41254. if value.Ftype1 == int32(_FcTypeVoid) {
  41255. return vallist
  41256. }
  41257. new1 = XFcValueListCreate(tls)
  41258. if !(new1 != 0) {
  41259. return vallist
  41260. }
  41261. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XFcValueSave(tls, value)
  41262. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  41263. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  41264. if vallist != 0 {
  41265. last = vallist
  41266. for {
  41267. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  41268. v2 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41269. } else {
  41270. v2 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  41271. }
  41272. if !(v2 != 0) {
  41273. break
  41274. }
  41275. goto _1
  41276. _1:
  41277. ;
  41278. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  41279. v3 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41280. } else {
  41281. v3 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  41282. }
  41283. last = v3
  41284. }
  41285. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = new1
  41286. } else {
  41287. vallist = new1
  41288. }
  41289. return vallist
  41290. }
  41291. func XFcValueListDuplicate(tls *libc.TLS, orig TFcValueListPtr) (r TFcValueListPtr) {
  41292. var l, new1, t, v2 TFcValueListPtr
  41293. var v TFcValue
  41294. var v3, v4 uintptr
  41295. _, _, _, _, _, _, _ = l, new1, t, v, v2, v3, v4
  41296. new1 = libc.UintptrFromInt32(0)
  41297. t = libc.UintptrFromInt32(0)
  41298. l = orig
  41299. for {
  41300. if !(l != libc.UintptrFromInt32(0)) {
  41301. break
  41302. }
  41303. if !(new1 != 0) {
  41304. v2 = XFcValueListCreate(tls)
  41305. new1 = v2
  41306. t = v2
  41307. } else {
  41308. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  41309. if int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(1) != 0 {
  41310. v3 = uintptr(int64(t) + int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41311. } else {
  41312. v3 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  41313. }
  41314. t = v3
  41315. }
  41316. v = XFcValueCanonicalize(tls, l+8)
  41317. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XFcValueSave(tls, v)
  41318. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  41319. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  41320. goto _1
  41321. _1:
  41322. ;
  41323. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  41324. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41325. } else {
  41326. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41327. }
  41328. l = v4
  41329. }
  41330. return new1
  41331. }
  41332. func XFcValueEqual(tls *libc.TLS, _va TFcValue, _vb TFcValue) (r TFcBool) {
  41333. bp := tls.Alloc(32)
  41334. defer tls.Free(32)
  41335. *(*TFcValue)(unsafe.Pointer(bp)) = _va
  41336. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _vb
  41337. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  41338. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeInteger) {
  41339. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  41340. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  41341. }
  41342. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeInteger) {
  41343. (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 = int32(_FcTypeDouble)
  41344. *(*float64)(unsafe.Pointer(bp + 16 + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  41345. }
  41346. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  41347. return m_FcFalse
  41348. }
  41349. }
  41350. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  41351. case int32(_FcTypeUnknown):
  41352. return m_FcFalse /* don't know how to compare this object */
  41353. case int32(_FcTypeVoid):
  41354. return int32(m_FcTrue)
  41355. case int32(_FcTypeInteger):
  41356. return libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 8)) == *(*int32)(unsafe.Pointer(bp + 16 + 8)))
  41357. case int32(_FcTypeDouble):
  41358. return libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) == *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  41359. case int32(_FcTypeString):
  41360. return libc.BoolInt32(XFcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  41361. case int32(_FcTypeBool):
  41362. return libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  41363. case int32(_FcTypeMatrix):
  41364. return XFcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  41365. case int32(_FcTypeCharSet):
  41366. return XFcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  41367. case int32(_FcTypeFTFace):
  41368. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) == *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  41369. case int32(_FcTypeLangSet):
  41370. return XFcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  41371. case int32(_FcTypeRange):
  41372. return XFcRangeIsInRange(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  41373. }
  41374. return m_FcFalse
  41375. }
  41376. func _FcDoubleHash(tls *libc.TLS, d float64) (r TFcChar32) {
  41377. if d < libc.Float64FromInt32(0) {
  41378. d = -d
  41379. }
  41380. if d > libc.Float64FromUint32(0xffffffff) {
  41381. d = libc.Float64FromUint32(0xffffffff)
  41382. }
  41383. return uint32(d)
  41384. }
  41385. func XFcStringHash(tls *libc.TLS, s uintptr) (r TFcChar32) {
  41386. var c, v1 TFcChar8
  41387. var h TFcChar32
  41388. var v2 uintptr
  41389. _, _, _, _ = c, h, v1, v2
  41390. h = uint32(0)
  41391. if s != 0 {
  41392. for {
  41393. v2 = s
  41394. s++
  41395. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  41396. c = v1
  41397. if !(v1 != 0) {
  41398. break
  41399. }
  41400. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ uint32(c)
  41401. }
  41402. }
  41403. return h
  41404. }
  41405. func _FcValueHash(tls *libc.TLS, v uintptr) (r TFcChar32) {
  41406. var v1, v2, v3, v4 uintptr
  41407. _, _, _, _ = v1, v2, v3, v4
  41408. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  41409. case int32(_FcTypeUnknown):
  41410. fallthrough
  41411. case int32(_FcTypeVoid):
  41412. return uint32(0)
  41413. case int32(_FcTypeInteger):
  41414. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  41415. case int32(_FcTypeDouble):
  41416. return _FcDoubleHash(tls, *(*float64)(unsafe.Pointer(v + 8)))
  41417. case int32(_FcTypeString):
  41418. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41419. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41420. } else {
  41421. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  41422. }
  41423. return XFcStringHash(tls, v1)
  41424. case int32(_FcTypeBool):
  41425. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  41426. case int32(_FcTypeMatrix):
  41427. return _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fxx) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fxy) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fyx) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fyy)
  41428. case int32(_FcTypeCharSet):
  41429. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41430. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41431. } else {
  41432. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  41433. }
  41434. return libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(v2)).Fnum)
  41435. case int32(_FcTypeFTFace):
  41436. return XFcStringHash(tls, (*TFT_FaceRec_)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Ffamily_name) ^ XFcStringHash(tls, (*TFT_FaceRec_)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fstyle_name)
  41437. case int32(_FcTypeLangSet):
  41438. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41439. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41440. } else {
  41441. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  41442. }
  41443. return XFcLangSetHash(tls, v3)
  41444. case int32(_FcTypeRange):
  41445. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41446. v4 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41447. } else {
  41448. v4 = *(*uintptr)(unsafe.Pointer(v + 8))
  41449. }
  41450. return XFcRangeHash(tls, v4)
  41451. }
  41452. return uint32(0)
  41453. }
  41454. func _FcValueListEqual(tls *libc.TLS, la TFcValueListPtr, lb TFcValueListPtr) (r TFcBool) {
  41455. var v1, v2 uintptr
  41456. _, _ = v1, v2
  41457. if la == lb {
  41458. return int32(m_FcTrue)
  41459. }
  41460. for la != 0 && lb != 0 {
  41461. if !(XFcValueEqual(tls, (*T_FcValueList)(unsafe.Pointer(la)).Fvalue, (*T_FcValueList)(unsafe.Pointer(lb)).Fvalue) != 0) {
  41462. return m_FcFalse
  41463. }
  41464. if int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(1) != 0 {
  41465. v1 = uintptr(int64(la) + int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41466. } else {
  41467. v1 = (*T_FcValueList)(unsafe.Pointer(la)).Fnext
  41468. }
  41469. la = v1
  41470. if int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(1) != 0 {
  41471. v2 = uintptr(int64(lb) + int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41472. } else {
  41473. v2 = (*T_FcValueList)(unsafe.Pointer(lb)).Fnext
  41474. }
  41475. lb = v2
  41476. }
  41477. if la != 0 || lb != 0 {
  41478. return m_FcFalse
  41479. }
  41480. return int32(m_FcTrue)
  41481. }
  41482. func _FcValueListHash(tls *libc.TLS, l TFcValueListPtr) (r TFcChar32) {
  41483. var hash TFcChar32
  41484. var v2 uintptr
  41485. _, _ = hash, v2
  41486. hash = uint32(0)
  41487. for {
  41488. if !(l != 0) {
  41489. break
  41490. }
  41491. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcValueHash(tls, l+8)
  41492. goto _1
  41493. _1:
  41494. ;
  41495. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  41496. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41497. } else {
  41498. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41499. }
  41500. l = v2
  41501. }
  41502. return hash
  41503. }
  41504. func _FcPatternGetCacheObject(tls *libc.TLS, p uintptr) (r uintptr) {
  41505. var v1 uintptr
  41506. _ = v1
  41507. /* We use a value to find the cache, instead of the FcPattern object
  41508. * because the pattern itself may be a cache allocation if we rewrote the path,
  41509. * so the p may not be in the cached region. */
  41510. if int64((*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int64(1) != 0 {
  41511. v1 = uintptr(Tintptr_t(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)) + int64((*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41512. } else {
  41513. v1 = (*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues
  41514. }
  41515. return v1
  41516. }
  41517. func XFcPatternCacheRewriteFile(tls *libc.TLS, p uintptr, cache uintptr, relocated_font_file uintptr) (r uintptr) {
  41518. var data, elt, elts, new_elts, new_p, new_path, new_value_list, v3 uintptr
  41519. var i, j, new_path_len, v2, v4 Tsize_t
  41520. _, _, _, _, _, _, _, _, _, _, _, _, _ = data, elt, elts, i, j, new_elts, new_p, new_path, new_path_len, new_value_list, v2, v3, v4
  41521. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41522. new_path_len = libc.Xstrlen(tls, relocated_font_file)
  41523. /* Allocate space for the patter, the PatternElt headers and
  41524. * the FC_FILE FcValueList and path that will be freed with the
  41525. * cache */
  41526. data = XFcCacheAllocate(tls, cache, uint64(24)+libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)*uint64(16)+uint64(32)+new_path_len+uint64(1))
  41527. new_p = data
  41528. data += uintptr(24)
  41529. new_elts = data
  41530. data += uintptr(libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum) * uint64(16))
  41531. new_value_list = data
  41532. data += uintptr(32)
  41533. new_path = data
  41534. *(*TFcPattern)(unsafe.Pointer(new_p)) = *(*TFcPattern)(unsafe.Pointer(p))
  41535. (*TFcPattern)(unsafe.Pointer(new_p)).Felts_offset = int64(new_elts) - int64(new_p)
  41536. /* Copy all but the FILE values from the cache */
  41537. i = uint64(0)
  41538. j = libc.Uint64FromInt32(0)
  41539. for {
  41540. if !(i < libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)) {
  41541. break
  41542. }
  41543. elt = elts + uintptr(i)*16
  41544. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(j)*16))).Fobject = (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject
  41545. if (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject != int32(_FC_FILE_OBJECT) {
  41546. v2 = j
  41547. j++
  41548. if int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(1) != 0 {
  41549. v3 = uintptr(int64(elt) + int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41550. } else {
  41551. v3 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  41552. }
  41553. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v2)*16))).Fvalues = v3
  41554. } else {
  41555. v4 = j
  41556. j++
  41557. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v4)*16))).Fvalues = new_value_list
  41558. }
  41559. goto _1
  41560. _1:
  41561. ;
  41562. i++
  41563. }
  41564. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fnext = libc.UintptrFromInt32(0)
  41565. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fvalue.Ftype1 = int32(_FcTypeString)
  41566. *(*uintptr)(unsafe.Pointer(new_value_list + 8 + 8)) = new_path
  41567. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fbinding = int32(_FcValueBindingWeak)
  41568. /* Add rewritten path at the end */
  41569. libc.X__builtin___strcpy_chk(tls, new_path, relocated_font_file, ^t__predefined_size_t(0))
  41570. return new_p
  41571. }
  41572. func XFcPatternDestroy(tls *libc.TLS, p uintptr) {
  41573. var elts, v7, p5 uintptr
  41574. var i, v3 int32
  41575. var v1 TFcBool
  41576. _, _, _, _, _, _ = elts, i, v1, v3, v7, p5
  41577. if !(p != 0) {
  41578. return
  41579. }
  41580. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  41581. goto _2
  41582. _2:
  41583. if v1 != 0 {
  41584. XFcCacheObjectDereference(tls, _FcPatternGetCacheObject(tls, p))
  41585. return
  41586. }
  41587. p5 = p + 16
  41588. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  41589. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  41590. goto _4
  41591. _4:
  41592. if v3 != int32(1) {
  41593. return
  41594. }
  41595. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41596. i = 0
  41597. for {
  41598. if !(i < XFcPatternObjectCount(tls, p)) {
  41599. break
  41600. }
  41601. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  41602. v7 = uintptr(Tintptr_t(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41603. } else {
  41604. v7 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  41605. }
  41606. XFcValueListDestroy(tls, v7)
  41607. goto _6
  41608. _6:
  41609. ;
  41610. i++
  41611. }
  41612. libc.Xfree(tls, elts)
  41613. libc.Xfree(tls, p)
  41614. }
  41615. func XFcPatternObjectCount(tls *libc.TLS, pat uintptr) (r int32) {
  41616. if pat != 0 {
  41617. return (*TFcPattern)(unsafe.Pointer(pat)).Fnum
  41618. }
  41619. return 0
  41620. }
  41621. func _FcPatternObjectPosition(tls *libc.TLS, p uintptr, object TFcObject) (r int32) {
  41622. var c, high, low, mid int32
  41623. var elts uintptr
  41624. _, _, _, _, _ = c, elts, high, low, mid
  41625. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41626. low = 0
  41627. high = XFcPatternObjectCount(tls, p) - int32(1)
  41628. c = int32(1)
  41629. mid = 0
  41630. for low <= high {
  41631. mid = (low + high) >> int32(1)
  41632. c = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(mid)*16))).Fobject - object
  41633. if c == 0 {
  41634. return mid
  41635. }
  41636. if c < 0 {
  41637. low = mid + int32(1)
  41638. } else {
  41639. high = mid - int32(1)
  41640. }
  41641. }
  41642. if c < 0 {
  41643. mid++
  41644. }
  41645. return -(mid + int32(1))
  41646. }
  41647. func XFcPatternPosition(tls *libc.TLS, p uintptr, object uintptr) (r int32) {
  41648. return _FcPatternObjectPosition(tls, p, XFcObjectFromName(tls, object))
  41649. }
  41650. func XFcPatternObjectFindElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  41651. var i int32
  41652. _ = i
  41653. i = _FcPatternObjectPosition(tls, p, object)
  41654. if i < 0 {
  41655. return uintptr(0)
  41656. }
  41657. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  41658. }
  41659. func XFcPatternObjectInsertElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  41660. var e, e0 uintptr
  41661. var i, s int32
  41662. _, _, _, _ = e, e0, i, s
  41663. i = _FcPatternObjectPosition(tls, p, object)
  41664. if i < 0 {
  41665. i = -i - int32(1)
  41666. /* reallocate array */
  41667. if XFcPatternObjectCount(tls, p)+int32(1) >= (*TFcPattern)(unsafe.Pointer(p)).Fsize {
  41668. s = (*TFcPattern)(unsafe.Pointer(p)).Fsize + int32(16)
  41669. if (*TFcPattern)(unsafe.Pointer(p)).Fsize != 0 {
  41670. e0 = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41671. e = libc.Xrealloc(tls, e0, libc.Uint64FromInt32(s)*uint64(16))
  41672. if !(e != 0) { /* maybe it was mmapped */
  41673. e = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(16))
  41674. if e != 0 {
  41675. libc.X__builtin___memcpy_chk(tls, e, e0, libc.Uint64FromInt32(XFcPatternObjectCount(tls, p))*uint64(16), ^t__predefined_size_t(0))
  41676. }
  41677. }
  41678. } else {
  41679. e = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(16))
  41680. }
  41681. if !(e != 0) {
  41682. return uintptr(m_FcFalse)
  41683. }
  41684. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(e) - int64(p)
  41685. for (*TFcPattern)(unsafe.Pointer(p)).Fsize < s {
  41686. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fobject = 0
  41687. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fvalues = libc.UintptrFromInt32(0)
  41688. (*TFcPattern)(unsafe.Pointer(p)).Fsize++
  41689. }
  41690. }
  41691. e = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41692. /* move elts up */
  41693. libc.X__builtin___memmove_chk(tls, e+uintptr(i)*16+uintptr(1)*16, e+uintptr(i)*16, uint64(16)*libc.Uint64FromInt32(XFcPatternObjectCount(tls, p)-i), ^t__predefined_size_t(0))
  41694. /* bump count */
  41695. (*TFcPattern)(unsafe.Pointer(p)).Fnum++
  41696. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fobject = object
  41697. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fvalues = libc.UintptrFromInt32(0)
  41698. }
  41699. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  41700. }
  41701. func XFcPatternEqual(tls *libc.TLS, pa uintptr, pb uintptr) (r TFcBool) {
  41702. bp := tls.Alloc(32)
  41703. defer tls.Free(32)
  41704. var ra, rb TFcBool
  41705. var _ /* ia at bp+0 */ TFcPatternIter
  41706. var _ /* ib at bp+16 */ TFcPatternIter
  41707. _, _ = ra, rb
  41708. if pa == pb {
  41709. return int32(m_FcTrue)
  41710. }
  41711. if XFcPatternObjectCount(tls, pa) != XFcPatternObjectCount(tls, pb) {
  41712. return m_FcFalse
  41713. }
  41714. XFcPatternIterStart(tls, pa, bp)
  41715. XFcPatternIterStart(tls, pb, bp+16)
  41716. for cond := true; cond; cond = int32(1) != 0 {
  41717. if !(XFcPatternIterEqual(tls, pa, bp, pb, bp+16) != 0) {
  41718. return m_FcFalse
  41719. }
  41720. ra = XFcPatternIterNext(tls, pa, bp)
  41721. rb = XFcPatternIterNext(tls, pb, bp+16)
  41722. if !(ra != 0) && !(rb != 0) {
  41723. break
  41724. }
  41725. }
  41726. return int32(m_FcTrue)
  41727. }
  41728. func XFcPatternHash(tls *libc.TLS, p uintptr) (r TFcChar32) {
  41729. var h TFcChar32
  41730. var i int32
  41731. var pe, v2 uintptr
  41732. _, _, _, _ = h, i, pe, v2
  41733. h = uint32(0)
  41734. pe = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41735. i = 0
  41736. for {
  41737. if !(i < XFcPatternObjectCount(tls, p)) {
  41738. break
  41739. }
  41740. if int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  41741. v2 = uintptr(Tintptr_t(pe+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41742. } else {
  41743. v2 = (*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16)).Fvalues
  41744. }
  41745. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ libc.Uint32FromInt32((*(*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16))).Fobject) ^ _FcValueListHash(tls, v2)
  41746. goto _1
  41747. _1:
  41748. ;
  41749. i++
  41750. }
  41751. return h
  41752. }
  41753. func XFcPatternEqualSubset(tls *libc.TLS, pai uintptr, pbi uintptr, os uintptr) (r TFcBool) {
  41754. var ea, eb, v2, v3 uintptr
  41755. var i int32
  41756. var object TFcObject
  41757. _, _, _, _, _, _ = ea, eb, i, object, v2, v3
  41758. i = 0
  41759. for {
  41760. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  41761. break
  41762. }
  41763. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  41764. ea = XFcPatternObjectFindElt(tls, pai, object)
  41765. eb = XFcPatternObjectFindElt(tls, pbi, object)
  41766. if ea != 0 {
  41767. if !(eb != 0) {
  41768. return m_FcFalse
  41769. }
  41770. if int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(1) != 0 {
  41771. v2 = uintptr(int64(ea) + int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41772. } else {
  41773. v2 = (*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues
  41774. }
  41775. if int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(1) != 0 {
  41776. v3 = uintptr(int64(eb) + int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41777. } else {
  41778. v3 = (*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues
  41779. }
  41780. if !(_FcValueListEqual(tls, v2, v3) != 0) {
  41781. return m_FcFalse
  41782. }
  41783. } else {
  41784. if eb != 0 {
  41785. return m_FcFalse
  41786. }
  41787. }
  41788. goto _1
  41789. _1:
  41790. ;
  41791. i++
  41792. }
  41793. return int32(m_FcTrue)
  41794. }
  41795. func XFcPatternObjectListAdd(tls *libc.TLS, p uintptr, object TFcObject, _list TFcValueListPtr, append1 TFcBool) (r TFcBool) {
  41796. bp := tls.Alloc(32)
  41797. defer tls.Free(32)
  41798. *(*TFcValueListPtr)(unsafe.Pointer(bp)) = _list
  41799. var e, prev, v4 uintptr
  41800. var l TFcValueListPtr
  41801. var v1 TFcBool
  41802. _, _, _, _, _ = e, l, prev, v1, v4
  41803. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  41804. goto _2
  41805. _2:
  41806. if v1 != 0 {
  41807. goto bail0
  41808. }
  41809. /*
  41810. * Make sure the stored type is valid for built-in objects
  41811. */
  41812. l = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  41813. for {
  41814. if !(l != libc.UintptrFromInt32(0)) {
  41815. break
  41816. }
  41817. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  41818. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1204, libc.VaList(bp+16, XFcObjectName(tls, object)))
  41819. XFcValuePrintFile(tls, libc.X__stderrp, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  41820. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  41821. goto bail0
  41822. }
  41823. goto _3
  41824. _3:
  41825. ;
  41826. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  41827. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41828. } else {
  41829. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41830. }
  41831. l = v4
  41832. }
  41833. e = XFcPatternObjectInsertElt(tls, p, object)
  41834. if !(e != 0) {
  41835. goto bail0
  41836. }
  41837. if append1 != 0 {
  41838. prev = e + 8
  41839. for {
  41840. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  41841. break
  41842. }
  41843. goto _5
  41844. _5:
  41845. ;
  41846. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  41847. }
  41848. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  41849. } else {
  41850. prev = bp
  41851. for {
  41852. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  41853. break
  41854. }
  41855. goto _6
  41856. _6:
  41857. ;
  41858. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  41859. }
  41860. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  41861. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  41862. }
  41863. return int32(m_FcTrue)
  41864. goto bail0
  41865. bail0:
  41866. ;
  41867. return m_FcFalse
  41868. return r
  41869. }
  41870. func XFcPatternObjectAddWithBinding(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, binding TFcValueBinding, append1 TFcBool) (r TFcBool) {
  41871. bp := tls.Alloc(16)
  41872. defer tls.Free(16)
  41873. var e, prev uintptr
  41874. var new1 TFcValueListPtr
  41875. var v1 TFcBool
  41876. _, _, _, _ = e, new1, prev, v1
  41877. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  41878. goto _2
  41879. _2:
  41880. if v1 != 0 {
  41881. goto bail0
  41882. }
  41883. new1 = XFcValueListCreate(tls)
  41884. if !(new1 != 0) {
  41885. goto bail0
  41886. }
  41887. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XFcValueSave(tls, value)
  41888. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  41889. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  41890. if (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  41891. goto bail1
  41892. }
  41893. /*
  41894. * Make sure the stored type is valid for built-in objects
  41895. */
  41896. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1) != 0) {
  41897. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1204, libc.VaList(bp+8, XFcObjectName(tls, object)))
  41898. XFcValuePrintFile(tls, libc.X__stderrp, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue)
  41899. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  41900. goto bail1
  41901. }
  41902. e = XFcPatternObjectInsertElt(tls, p, object)
  41903. if !(e != 0) {
  41904. goto bail1
  41905. }
  41906. if append1 != 0 {
  41907. prev = e + 8
  41908. for {
  41909. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  41910. break
  41911. }
  41912. goto _3
  41913. _3:
  41914. ;
  41915. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  41916. }
  41917. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  41918. } else {
  41919. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  41920. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = new1
  41921. }
  41922. return int32(m_FcTrue)
  41923. goto bail1
  41924. bail1:
  41925. ;
  41926. XFcValueListDestroy(tls, new1)
  41927. goto bail0
  41928. bail0:
  41929. ;
  41930. return m_FcFalse
  41931. return r
  41932. }
  41933. func XFcPatternObjectAdd(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, append1 TFcBool) (r TFcBool) {
  41934. return XFcPatternObjectAddWithBinding(tls, p, object, value, int32(_FcValueBindingStrong), append1)
  41935. }
  41936. func XFcPatternAdd(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  41937. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingStrong), append1)
  41938. }
  41939. func XFcPatternAddWeak(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  41940. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingWeak), append1)
  41941. }
  41942. func XFcPatternObjectDel(tls *libc.TLS, p uintptr, object TFcObject) (r TFcBool) {
  41943. var e uintptr
  41944. _ = e
  41945. e = XFcPatternObjectFindElt(tls, p, object)
  41946. if !(e != 0) {
  41947. return m_FcFalse
  41948. }
  41949. /* destroy value */
  41950. XFcValueListDestroy(tls, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  41951. /* shuffle existing ones down */
  41952. libc.X__builtin___memmove_chk(tls, e, e+uintptr(1)*16, libc.Uint64FromInt64((int64(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)+uintptr(XFcPatternObjectCount(tls, p))*16)-int64(e+libc.UintptrFromInt32(1)*16))/16)*uint64(16), ^t__predefined_size_t(0))
  41953. (*TFcPattern)(unsafe.Pointer(p)).Fnum--
  41954. e = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(XFcPatternObjectCount(tls, p))*16
  41955. (*TFcPatternElt)(unsafe.Pointer(e)).Fobject = 0
  41956. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = libc.UintptrFromInt32(0)
  41957. return int32(m_FcTrue)
  41958. }
  41959. func XFcPatternDel(tls *libc.TLS, p uintptr, object uintptr) (r TFcBool) {
  41960. return XFcPatternObjectDel(tls, p, XFcObjectFromName(tls, object))
  41961. }
  41962. func XFcPatternRemove(tls *libc.TLS, p uintptr, object uintptr, id int32) (r TFcBool) {
  41963. var e, prev uintptr
  41964. var l, v2 TFcValueListPtr
  41965. _, _, _, _ = e, l, prev, v2
  41966. e = XFcPatternObjectFindElt(tls, p, XFcObjectFromName(tls, object))
  41967. if !(e != 0) {
  41968. return m_FcFalse
  41969. }
  41970. prev = e + 8
  41971. for {
  41972. v2 = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  41973. l = v2
  41974. if !(v2 != 0) {
  41975. break
  41976. }
  41977. if !(id != 0) {
  41978. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41979. (*T_FcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  41980. XFcValueListDestroy(tls, l)
  41981. if !((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != 0) {
  41982. XFcPatternDel(tls, p, object)
  41983. }
  41984. return int32(m_FcTrue)
  41985. }
  41986. id--
  41987. goto _1
  41988. _1:
  41989. ;
  41990. prev = l
  41991. }
  41992. return m_FcFalse
  41993. }
  41994. func XFcPatternObjectAddInteger(tls *libc.TLS, p uintptr, object TFcObject, i int32) (r TFcBool) {
  41995. bp := tls.Alloc(16)
  41996. defer tls.Free(16)
  41997. var _ /* v at bp+0 */ TFcValue
  41998. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  41999. *(*int32)(unsafe.Pointer(bp + 8)) = i
  42000. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  42001. }
  42002. func XFcPatternAddInteger(tls *libc.TLS, p uintptr, object uintptr, i int32) (r TFcBool) {
  42003. return XFcPatternObjectAddInteger(tls, p, XFcObjectFromName(tls, object), i)
  42004. }
  42005. func XFcPatternObjectAddDouble(tls *libc.TLS, p uintptr, object TFcObject, d float64) (r TFcBool) {
  42006. bp := tls.Alloc(16)
  42007. defer tls.Free(16)
  42008. var _ /* v at bp+0 */ TFcValue
  42009. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  42010. *(*float64)(unsafe.Pointer(bp + 8)) = d
  42011. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  42012. }
  42013. func XFcPatternAddDouble(tls *libc.TLS, p uintptr, object uintptr, d float64) (r TFcBool) {
  42014. return XFcPatternObjectAddDouble(tls, p, XFcObjectFromName(tls, object), d)
  42015. }
  42016. func XFcPatternObjectAddString(tls *libc.TLS, p uintptr, object TFcObject, s uintptr) (r TFcBool) {
  42017. bp := tls.Alloc(16)
  42018. defer tls.Free(16)
  42019. var _ /* v at bp+0 */ TFcValue
  42020. if !(s != 0) {
  42021. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  42022. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  42023. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  42024. }
  42025. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  42026. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  42027. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  42028. }
  42029. func XFcPatternAddString(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  42030. return XFcPatternObjectAddString(tls, p, XFcObjectFromName(tls, object), s)
  42031. }
  42032. func XFcPatternAddMatrix(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  42033. bp := tls.Alloc(16)
  42034. defer tls.Free(16)
  42035. var _ /* v at bp+0 */ TFcValue
  42036. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  42037. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  42038. return XFcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  42039. }
  42040. func XFcPatternObjectAddBool(tls *libc.TLS, p uintptr, object TFcObject, b TFcBool) (r TFcBool) {
  42041. bp := tls.Alloc(16)
  42042. defer tls.Free(16)
  42043. var _ /* v at bp+0 */ TFcValue
  42044. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  42045. *(*TFcBool)(unsafe.Pointer(bp + 8)) = b
  42046. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  42047. }
  42048. func XFcPatternAddBool(tls *libc.TLS, p uintptr, object uintptr, b TFcBool) (r TFcBool) {
  42049. return XFcPatternObjectAddBool(tls, p, XFcObjectFromName(tls, object), b)
  42050. }
  42051. func XFcPatternObjectAddCharSet(tls *libc.TLS, p uintptr, object TFcObject, c uintptr) (r TFcBool) {
  42052. bp := tls.Alloc(16)
  42053. defer tls.Free(16)
  42054. var _ /* v at bp+0 */ TFcValue
  42055. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  42056. *(*uintptr)(unsafe.Pointer(bp + 8)) = c
  42057. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  42058. }
  42059. func XFcPatternAddCharSet(tls *libc.TLS, p uintptr, object uintptr, c uintptr) (r TFcBool) {
  42060. return XFcPatternObjectAddCharSet(tls, p, XFcObjectFromName(tls, object), c)
  42061. }
  42062. func XFcPatternAddFTFace(tls *libc.TLS, p uintptr, object uintptr, f TFT_Face) (r TFcBool) {
  42063. bp := tls.Alloc(16)
  42064. defer tls.Free(16)
  42065. var _ /* v at bp+0 */ TFcValue
  42066. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeFTFace)
  42067. *(*uintptr)(unsafe.Pointer(bp + 8)) = f
  42068. return XFcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  42069. }
  42070. func XFcPatternObjectAddLangSet(tls *libc.TLS, p uintptr, object TFcObject, ls uintptr) (r TFcBool) {
  42071. bp := tls.Alloc(16)
  42072. defer tls.Free(16)
  42073. var _ /* v at bp+0 */ TFcValue
  42074. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  42075. *(*uintptr)(unsafe.Pointer(bp + 8)) = ls
  42076. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  42077. }
  42078. func XFcPatternAddLangSet(tls *libc.TLS, p uintptr, object uintptr, ls uintptr) (r TFcBool) {
  42079. return XFcPatternObjectAddLangSet(tls, p, XFcObjectFromName(tls, object), ls)
  42080. }
  42081. func XFcPatternObjectAddRange(tls *libc.TLS, p uintptr, object TFcObject, r uintptr) (r1 TFcBool) {
  42082. bp := tls.Alloc(16)
  42083. defer tls.Free(16)
  42084. var _ /* v at bp+0 */ TFcValue
  42085. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  42086. *(*uintptr)(unsafe.Pointer(bp + 8)) = r
  42087. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  42088. }
  42089. func XFcPatternAddRange(tls *libc.TLS, p uintptr, object uintptr, r uintptr) (r1 TFcBool) {
  42090. return XFcPatternObjectAddRange(tls, p, XFcObjectFromName(tls, object), r)
  42091. }
  42092. func XFcPatternObjectGetWithBinding(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr, b uintptr) (r TFcResult) {
  42093. var e, v2, v3 uintptr
  42094. var l TFcValueListPtr
  42095. _, _, _, _ = e, l, v2, v3
  42096. if !(p != 0) {
  42097. return int32(_FcResultNoMatch)
  42098. }
  42099. e = XFcPatternObjectFindElt(tls, p, object)
  42100. if !(e != 0) {
  42101. return int32(_FcResultNoMatch)
  42102. }
  42103. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  42104. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  42105. } else {
  42106. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  42107. }
  42108. l = v2
  42109. for {
  42110. if !(l != 0) {
  42111. break
  42112. }
  42113. if !(id != 0) {
  42114. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  42115. if b != 0 {
  42116. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  42117. }
  42118. return int32(_FcResultMatch)
  42119. }
  42120. id--
  42121. goto _1
  42122. _1:
  42123. ;
  42124. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  42125. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42126. } else {
  42127. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  42128. }
  42129. l = v3
  42130. }
  42131. return int32(_FcResultNoId)
  42132. }
  42133. func XFcPatternObjectGet(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr) (r TFcResult) {
  42134. return XFcPatternObjectGetWithBinding(tls, p, object, id, v, libc.UintptrFromInt32(0))
  42135. }
  42136. func XFcPatternGetWithBinding(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  42137. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, b)
  42138. }
  42139. func XFcPatternGet(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr) (r TFcResult) {
  42140. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, libc.UintptrFromInt32(0))
  42141. }
  42142. func XFcPatternObjectGetInteger(tls *libc.TLS, p uintptr, object TFcObject, id int32, i uintptr) (r1 TFcResult) {
  42143. bp := tls.Alloc(16)
  42144. defer tls.Free(16)
  42145. var r TFcResult
  42146. var _ /* v at bp+0 */ TFcValue
  42147. _ = r
  42148. r = XFcPatternObjectGet(tls, p, object, id, bp)
  42149. if r != int32(_FcResultMatch) {
  42150. return r
  42151. }
  42152. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  42153. case int32(_FcTypeDouble):
  42154. *(*int32)(unsafe.Pointer(i)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  42155. case int32(_FcTypeInteger):
  42156. *(*int32)(unsafe.Pointer(i)) = *(*int32)(unsafe.Pointer(bp + 8))
  42157. default:
  42158. return int32(_FcResultTypeMismatch)
  42159. }
  42160. return int32(_FcResultMatch)
  42161. }
  42162. func XFcPatternGetInteger(tls *libc.TLS, p uintptr, object uintptr, id int32, i uintptr) (r TFcResult) {
  42163. return XFcPatternObjectGetInteger(tls, p, XFcObjectFromName(tls, object), id, i)
  42164. }
  42165. func XFcPatternObjectGetDouble(tls *libc.TLS, p uintptr, object TFcObject, id int32, d uintptr) (r1 TFcResult) {
  42166. bp := tls.Alloc(16)
  42167. defer tls.Free(16)
  42168. var r TFcResult
  42169. var _ /* v at bp+0 */ TFcValue
  42170. _ = r
  42171. r = XFcPatternObjectGet(tls, p, object, id, bp)
  42172. if r != int32(_FcResultMatch) {
  42173. return r
  42174. }
  42175. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  42176. case int32(_FcTypeDouble):
  42177. *(*float64)(unsafe.Pointer(d)) = *(*float64)(unsafe.Pointer(bp + 8))
  42178. case int32(_FcTypeInteger):
  42179. *(*float64)(unsafe.Pointer(d)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  42180. default:
  42181. return int32(_FcResultTypeMismatch)
  42182. }
  42183. return int32(_FcResultMatch)
  42184. }
  42185. func XFcPatternGetDouble(tls *libc.TLS, p uintptr, object uintptr, id int32, d uintptr) (r TFcResult) {
  42186. return XFcPatternObjectGetDouble(tls, p, XFcObjectFromName(tls, object), id, d)
  42187. }
  42188. func XFcPatternObjectGetString(tls *libc.TLS, p uintptr, object TFcObject, id int32, s uintptr) (r1 TFcResult) {
  42189. bp := tls.Alloc(16)
  42190. defer tls.Free(16)
  42191. var r TFcResult
  42192. var _ /* v at bp+0 */ TFcValue
  42193. _ = r
  42194. r = XFcPatternObjectGet(tls, p, object, id, bp)
  42195. if r != int32(_FcResultMatch) {
  42196. return r
  42197. }
  42198. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeString) {
  42199. return int32(_FcResultTypeMismatch)
  42200. }
  42201. *(*uintptr)(unsafe.Pointer(s)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  42202. return int32(_FcResultMatch)
  42203. }
  42204. func XFcPatternGetString(tls *libc.TLS, p uintptr, object uintptr, id int32, s uintptr) (r TFcResult) {
  42205. return XFcPatternObjectGetString(tls, p, XFcObjectFromName(tls, object), id, s)
  42206. }
  42207. func XFcPatternGetMatrix(tls *libc.TLS, p uintptr, object uintptr, id int32, m uintptr) (r1 TFcResult) {
  42208. bp := tls.Alloc(16)
  42209. defer tls.Free(16)
  42210. var r TFcResult
  42211. var _ /* v at bp+0 */ TFcValue
  42212. _ = r
  42213. r = XFcPatternGet(tls, p, object, id, bp)
  42214. if r != int32(_FcResultMatch) {
  42215. return r
  42216. }
  42217. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeMatrix) {
  42218. return int32(_FcResultTypeMismatch)
  42219. }
  42220. *(*uintptr)(unsafe.Pointer(m)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  42221. return int32(_FcResultMatch)
  42222. }
  42223. func XFcPatternObjectGetBool(tls *libc.TLS, p uintptr, object TFcObject, id int32, b uintptr) (r1 TFcResult) {
  42224. bp := tls.Alloc(16)
  42225. defer tls.Free(16)
  42226. var r TFcResult
  42227. var _ /* v at bp+0 */ TFcValue
  42228. _ = r
  42229. r = XFcPatternObjectGet(tls, p, object, id, bp)
  42230. if r != int32(_FcResultMatch) {
  42231. return r
  42232. }
  42233. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeBool) {
  42234. return int32(_FcResultTypeMismatch)
  42235. }
  42236. *(*TFcBool)(unsafe.Pointer(b)) = *(*TFcBool)(unsafe.Pointer(bp + 8))
  42237. return int32(_FcResultMatch)
  42238. }
  42239. func XFcPatternGetBool(tls *libc.TLS, p uintptr, object uintptr, id int32, b uintptr) (r TFcResult) {
  42240. return XFcPatternObjectGetBool(tls, p, XFcObjectFromName(tls, object), id, b)
  42241. }
  42242. func XFcPatternGetCharSet(tls *libc.TLS, p uintptr, object uintptr, id int32, c uintptr) (r1 TFcResult) {
  42243. bp := tls.Alloc(16)
  42244. defer tls.Free(16)
  42245. var r TFcResult
  42246. var _ /* v at bp+0 */ TFcValue
  42247. _ = r
  42248. r = XFcPatternGet(tls, p, object, id, bp)
  42249. if r != int32(_FcResultMatch) {
  42250. return r
  42251. }
  42252. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeCharSet) {
  42253. return int32(_FcResultTypeMismatch)
  42254. }
  42255. *(*uintptr)(unsafe.Pointer(c)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  42256. return int32(_FcResultMatch)
  42257. }
  42258. func XFcPatternGetFTFace(tls *libc.TLS, p uintptr, object uintptr, id int32, f uintptr) (r1 TFcResult) {
  42259. bp := tls.Alloc(16)
  42260. defer tls.Free(16)
  42261. var r TFcResult
  42262. var _ /* v at bp+0 */ TFcValue
  42263. _ = r
  42264. r = XFcPatternGet(tls, p, object, id, bp)
  42265. if r != int32(_FcResultMatch) {
  42266. return r
  42267. }
  42268. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeFTFace) {
  42269. return int32(_FcResultTypeMismatch)
  42270. }
  42271. *(*TFT_Face)(unsafe.Pointer(f)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  42272. return int32(_FcResultMatch)
  42273. }
  42274. func XFcPatternGetLangSet(tls *libc.TLS, p uintptr, object uintptr, id int32, ls uintptr) (r1 TFcResult) {
  42275. bp := tls.Alloc(16)
  42276. defer tls.Free(16)
  42277. var r TFcResult
  42278. var _ /* v at bp+0 */ TFcValue
  42279. _ = r
  42280. r = XFcPatternGet(tls, p, object, id, bp)
  42281. if r != int32(_FcResultMatch) {
  42282. return r
  42283. }
  42284. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeLangSet) {
  42285. return int32(_FcResultTypeMismatch)
  42286. }
  42287. *(*uintptr)(unsafe.Pointer(ls)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  42288. return int32(_FcResultMatch)
  42289. }
  42290. func XFcPatternObjectGetRange(tls *libc.TLS, p uintptr, object TFcObject, id int32, r uintptr) (r1 TFcResult) {
  42291. bp := tls.Alloc(16)
  42292. defer tls.Free(16)
  42293. var res TFcResult
  42294. var _ /* v at bp+0 */ TFcValue
  42295. _ = res
  42296. res = XFcPatternObjectGet(tls, p, object, id, bp)
  42297. if res != int32(_FcResultMatch) {
  42298. return res
  42299. }
  42300. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  42301. case int32(_FcTypeRange):
  42302. *(*uintptr)(unsafe.Pointer(r)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  42303. default:
  42304. return int32(_FcResultTypeMismatch)
  42305. }
  42306. return int32(_FcResultMatch)
  42307. }
  42308. func XFcPatternGetRange(tls *libc.TLS, p uintptr, object uintptr, id int32, r uintptr) (r1 TFcResult) {
  42309. return XFcPatternObjectGetRange(tls, p, XFcObjectFromName(tls, object), id, r)
  42310. }
  42311. func XFcPatternDuplicate(tls *libc.TLS, orig uintptr) (r uintptr) {
  42312. bp := tls.Alloc(16)
  42313. defer tls.Free(16)
  42314. var l TFcValueListPtr
  42315. var new1, v2 uintptr
  42316. var _ /* iter at bp+0 */ TFcPatternIter
  42317. _, _, _ = l, new1, v2
  42318. if !(orig != 0) {
  42319. return libc.UintptrFromInt32(0)
  42320. }
  42321. new1 = XFcPatternCreate(tls)
  42322. if !(new1 != 0) {
  42323. goto bail0
  42324. }
  42325. XFcPatternIterStart(tls, orig, bp)
  42326. for cond := true; cond; cond = XFcPatternIterNext(tls, orig, bp) != 0 {
  42327. l = XFcPatternIterGetValues(tls, orig, bp)
  42328. for {
  42329. if !(l != 0) {
  42330. break
  42331. }
  42332. if !(XFcPatternObjectAddWithBinding(tls, new1, XFcPatternIterGetObjectId(tls, orig, bp), XFcValueCanonicalize(tls, l+8), (*T_FcValueList)(unsafe.Pointer(l)).Fbinding, int32(m_FcTrue)) != 0) {
  42333. goto bail1
  42334. }
  42335. goto _1
  42336. _1:
  42337. ;
  42338. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  42339. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42340. } else {
  42341. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  42342. }
  42343. l = v2
  42344. }
  42345. }
  42346. return new1
  42347. goto bail1
  42348. bail1:
  42349. ;
  42350. XFcPatternDestroy(tls, new1)
  42351. goto bail0
  42352. bail0:
  42353. ;
  42354. return uintptr(0)
  42355. return r
  42356. }
  42357. func XFcPatternReference(tls *libc.TLS, p uintptr) {
  42358. var v1 TFcBool
  42359. var p4 uintptr
  42360. _, _ = v1, p4
  42361. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  42362. goto _2
  42363. _2:
  42364. if !(v1 != 0) {
  42365. p4 = p + 16
  42366. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  42367. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  42368. goto _3
  42369. _3:
  42370. } else {
  42371. XFcCacheObjectReference(tls, _FcPatternGetCacheObject(tls, p))
  42372. }
  42373. }
  42374. func XFcPatternVaBuild(tls *libc.TLS, p uintptr, va Tva_list) (r uintptr) {
  42375. bp := tls.Alloc(16)
  42376. defer tls.Free(16)
  42377. var __o__, __p__, ret uintptr
  42378. var _ /* __v__ at bp+0 */ TFcValue
  42379. _, _, _ = __o__, __p__, ret
  42380. __p__ = p
  42381. if !(__p__ != 0) {
  42382. __p__ = XFcPatternCreate(tls)
  42383. if !(__p__ != 0) {
  42384. goto _FcPatternVapBuild_bail0
  42385. }
  42386. }
  42387. for {
  42388. __o__ = libc.VaUintptr(&va)
  42389. if !(__o__ != 0) {
  42390. break
  42391. }
  42392. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  42393. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  42394. case int32(_FcTypeUnknown):
  42395. fallthrough
  42396. case int32(_FcTypeVoid):
  42397. goto _FcPatternVapBuild_bail1
  42398. case int32(_FcTypeInteger):
  42399. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  42400. case int32(_FcTypeDouble):
  42401. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  42402. case int32(_FcTypeString):
  42403. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42404. case int32(_FcTypeBool):
  42405. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  42406. case int32(_FcTypeMatrix):
  42407. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42408. case int32(_FcTypeCharSet):
  42409. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42410. case int32(_FcTypeFTFace):
  42411. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42412. case int32(_FcTypeLangSet):
  42413. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42414. case int32(_FcTypeRange):
  42415. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42416. break
  42417. }
  42418. if !(XFcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  42419. goto _FcPatternVapBuild_bail1
  42420. }
  42421. goto _1
  42422. _1:
  42423. }
  42424. ret = __p__
  42425. goto _FcPatternVapBuild_return
  42426. goto _FcPatternVapBuild_bail1
  42427. _FcPatternVapBuild_bail1:
  42428. ;
  42429. if !(p != 0) {
  42430. XFcPatternDestroy(tls, __p__)
  42431. }
  42432. goto _FcPatternVapBuild_bail0
  42433. _FcPatternVapBuild_bail0:
  42434. ;
  42435. ret = libc.UintptrFromInt32(0)
  42436. goto _FcPatternVapBuild_return
  42437. _FcPatternVapBuild_return:
  42438. ;
  42439. return ret
  42440. }
  42441. func XFcPatternBuild(tls *libc.TLS, p uintptr, va1 uintptr) (r uintptr) {
  42442. bp := tls.Alloc(16)
  42443. defer tls.Free(16)
  42444. var __o__, __p__ uintptr
  42445. var va Tva_list
  42446. var _ /* __v__ at bp+0 */ TFcValue
  42447. _, _, _ = __o__, __p__, va
  42448. va = va1
  42449. __p__ = p
  42450. if !(__p__ != 0) {
  42451. __p__ = XFcPatternCreate(tls)
  42452. if !(__p__ != 0) {
  42453. goto _FcPatternVapBuild_bail0
  42454. }
  42455. }
  42456. for {
  42457. __o__ = libc.VaUintptr(&va)
  42458. if !(__o__ != 0) {
  42459. break
  42460. }
  42461. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  42462. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  42463. case int32(_FcTypeUnknown):
  42464. fallthrough
  42465. case int32(_FcTypeVoid):
  42466. goto _FcPatternVapBuild_bail1
  42467. case int32(_FcTypeInteger):
  42468. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  42469. case int32(_FcTypeDouble):
  42470. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  42471. case int32(_FcTypeString):
  42472. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42473. case int32(_FcTypeBool):
  42474. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  42475. case int32(_FcTypeMatrix):
  42476. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42477. case int32(_FcTypeCharSet):
  42478. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42479. case int32(_FcTypeFTFace):
  42480. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42481. case int32(_FcTypeLangSet):
  42482. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42483. case int32(_FcTypeRange):
  42484. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42485. break
  42486. }
  42487. if !(XFcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  42488. goto _FcPatternVapBuild_bail1
  42489. }
  42490. goto _1
  42491. _1:
  42492. }
  42493. p = __p__
  42494. goto _FcPatternVapBuild_return
  42495. goto _FcPatternVapBuild_bail1
  42496. _FcPatternVapBuild_bail1:
  42497. ;
  42498. if !(p != 0) {
  42499. XFcPatternDestroy(tls, __p__)
  42500. }
  42501. goto _FcPatternVapBuild_bail0
  42502. _FcPatternVapBuild_bail0:
  42503. ;
  42504. p = libc.UintptrFromInt32(0)
  42505. goto _FcPatternVapBuild_return
  42506. _FcPatternVapBuild_return:
  42507. ;
  42508. _ = va
  42509. return p
  42510. }
  42511. // C documentation
  42512. //
  42513. // /*
  42514. // * Add all of the elements in 's' to 'p'
  42515. // */
  42516. func XFcPatternAppend(tls *libc.TLS, p uintptr, s uintptr) (r TFcBool) {
  42517. bp := tls.Alloc(16)
  42518. defer tls.Free(16)
  42519. var v TFcValueListPtr
  42520. var v2 uintptr
  42521. var _ /* iter at bp+0 */ TFcPatternIter
  42522. _, _ = v, v2
  42523. XFcPatternIterStart(tls, s, bp)
  42524. for cond := true; cond; cond = XFcPatternIterNext(tls, s, bp) != 0 {
  42525. v = XFcPatternIterGetValues(tls, s, bp)
  42526. for {
  42527. if !(v != 0) {
  42528. break
  42529. }
  42530. if !(XFcPatternObjectAddWithBinding(tls, p, XFcPatternIterGetObjectId(tls, s, bp), XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  42531. return m_FcFalse
  42532. }
  42533. goto _1
  42534. _1:
  42535. ;
  42536. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  42537. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42538. } else {
  42539. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  42540. }
  42541. v = v2
  42542. }
  42543. }
  42544. return int32(m_FcTrue)
  42545. }
  42546. func XFcPatternFilter(tls *libc.TLS, p uintptr, os uintptr) (r uintptr) {
  42547. var e, ret, v3, v4 uintptr
  42548. var i int32
  42549. var object TFcObject
  42550. var v TFcValueListPtr
  42551. _, _, _, _, _, _, _ = e, i, object, ret, v, v3, v4
  42552. if !(os != 0) {
  42553. return XFcPatternDuplicate(tls, p)
  42554. }
  42555. ret = XFcPatternCreate(tls)
  42556. if !(ret != 0) {
  42557. return libc.UintptrFromInt32(0)
  42558. }
  42559. i = 0
  42560. for {
  42561. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  42562. break
  42563. }
  42564. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  42565. e = XFcPatternObjectFindElt(tls, p, object)
  42566. if e != 0 {
  42567. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  42568. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  42569. } else {
  42570. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  42571. }
  42572. v = v3
  42573. for {
  42574. if !(v != 0) {
  42575. break
  42576. }
  42577. if !(XFcPatternObjectAddWithBinding(tls, ret, (*TFcPatternElt)(unsafe.Pointer(e)).Fobject, XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  42578. goto bail0
  42579. }
  42580. goto _2
  42581. _2:
  42582. ;
  42583. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  42584. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42585. } else {
  42586. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  42587. }
  42588. v = v4
  42589. }
  42590. }
  42591. goto _1
  42592. _1:
  42593. ;
  42594. i++
  42595. }
  42596. return ret
  42597. goto bail0
  42598. bail0:
  42599. ;
  42600. XFcPatternDestroy(tls, ret)
  42601. return libc.UintptrFromInt32(0)
  42602. }
  42603. type TFcPatternPrivateIter = struct {
  42604. Felt uintptr
  42605. Fpos int32
  42606. }
  42607. type T_FcPatternPrivateIter = TFcPatternPrivateIter
  42608. func _FcPatternIterSet(tls *libc.TLS, pat uintptr, iter uintptr) {
  42609. var v1 uintptr
  42610. _ = v1
  42611. if XFcPatternObjectCount(tls, pat) > 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos < XFcPatternObjectCount(tls, pat) {
  42612. v1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr((*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos)*16
  42613. } else {
  42614. v1 = libc.UintptrFromInt32(0)
  42615. }
  42616. (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Felt = v1
  42617. }
  42618. func XFcPatternIterStart(tls *libc.TLS, pat uintptr, iter uintptr) {
  42619. var priv uintptr
  42620. _ = priv
  42621. priv = iter
  42622. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = 0
  42623. _FcPatternIterSet(tls, pat, priv)
  42624. }
  42625. func XFcPatternIterNext(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  42626. var priv uintptr
  42627. _ = priv
  42628. priv = iter
  42629. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos++
  42630. if (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos >= XFcPatternObjectCount(tls, pat) {
  42631. return m_FcFalse
  42632. }
  42633. _FcPatternIterSet(tls, pat, priv)
  42634. return int32(m_FcTrue)
  42635. }
  42636. func XFcPatternIterEqual(tls *libc.TLS, p1 uintptr, i1 uintptr, p2 uintptr, i2 uintptr) (r TFcBool) {
  42637. var b1, b2 TFcBool
  42638. _, _ = b1, b2
  42639. b1 = XFcPatternIterIsValid(tls, p1, i1)
  42640. b2 = XFcPatternIterIsValid(tls, p2, i2)
  42641. if !(i1 != 0) && !(i2 != 0) {
  42642. return int32(m_FcTrue)
  42643. }
  42644. if !(b1 != 0) || !(b2 != 0) {
  42645. return m_FcFalse
  42646. }
  42647. if XFcPatternIterGetObjectId(tls, p1, i1) != XFcPatternIterGetObjectId(tls, p2, i2) {
  42648. return m_FcFalse
  42649. }
  42650. return _FcValueListEqual(tls, XFcPatternIterGetValues(tls, p1, i1), XFcPatternIterGetValues(tls, p2, i2))
  42651. }
  42652. func XFcPatternFindObjectIter(tls *libc.TLS, pat uintptr, iter uintptr, object TFcObject) (r TFcBool) {
  42653. var i int32
  42654. var priv uintptr
  42655. _, _ = i, priv
  42656. priv = iter
  42657. i = _FcPatternObjectPosition(tls, pat, object)
  42658. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt = libc.UintptrFromInt32(0)
  42659. if i < 0 {
  42660. return m_FcFalse
  42661. }
  42662. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = i
  42663. _FcPatternIterSet(tls, pat, priv)
  42664. return int32(m_FcTrue)
  42665. }
  42666. func XFcPatternFindIter(tls *libc.TLS, pat uintptr, iter uintptr, object uintptr) (r TFcBool) {
  42667. return XFcPatternFindObjectIter(tls, pat, iter, XFcObjectFromName(tls, object))
  42668. }
  42669. func XFcPatternIterIsValid(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  42670. var priv uintptr
  42671. _ = priv
  42672. priv = iter
  42673. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  42674. return int32(m_FcTrue)
  42675. }
  42676. return m_FcFalse
  42677. }
  42678. func XFcPatternIterGetObjectId(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcObject) {
  42679. var priv uintptr
  42680. _ = priv
  42681. priv = iter
  42682. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  42683. return (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fobject
  42684. }
  42685. return 0
  42686. }
  42687. func XFcPatternIterGetObject(tls *libc.TLS, pat uintptr, iter uintptr) (r uintptr) {
  42688. return XFcObjectName(tls, XFcPatternIterGetObjectId(tls, pat, iter))
  42689. }
  42690. func XFcPatternIterGetValues(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcValueListPtr) {
  42691. var priv, v1 uintptr
  42692. _, _ = priv, v1
  42693. priv = iter
  42694. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  42695. if int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(1) != 0 {
  42696. v1 = uintptr(int64((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt) + int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  42697. } else {
  42698. v1 = (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues
  42699. }
  42700. return v1
  42701. }
  42702. return libc.UintptrFromInt32(0)
  42703. }
  42704. func XFcPatternIterValueCount(tls *libc.TLS, pat uintptr, iter uintptr) (r int32) {
  42705. var count int32
  42706. var l TFcValueListPtr
  42707. var v2 uintptr
  42708. _, _, _ = count, l, v2
  42709. count = 0
  42710. l = XFcPatternIterGetValues(tls, pat, iter)
  42711. for {
  42712. if !(l != 0) {
  42713. break
  42714. }
  42715. count++
  42716. goto _1
  42717. _1:
  42718. ;
  42719. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  42720. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42721. } else {
  42722. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  42723. }
  42724. l = v2
  42725. }
  42726. return count
  42727. }
  42728. func XFcPatternIterGetValue(tls *libc.TLS, pat uintptr, iter uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  42729. var l TFcValueListPtr
  42730. var v2 uintptr
  42731. _, _ = l, v2
  42732. l = XFcPatternIterGetValues(tls, pat, iter)
  42733. for {
  42734. if !(l != 0) {
  42735. break
  42736. }
  42737. if id == 0 {
  42738. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  42739. if b != 0 {
  42740. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  42741. }
  42742. return int32(_FcResultMatch)
  42743. }
  42744. id--
  42745. goto _1
  42746. _1:
  42747. ;
  42748. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  42749. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42750. } else {
  42751. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  42752. }
  42753. l = v2
  42754. }
  42755. return int32(_FcResultNoId)
  42756. }
  42757. func XFcPatternSerializeAlloc(tls *libc.TLS, serialize uintptr, pat uintptr) (r TFcBool) {
  42758. var elts, v2 uintptr
  42759. var i int32
  42760. _, _, _ = elts, i, v2
  42761. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  42762. if !(XFcSerializeAlloc(tls, serialize, pat, int32(24)) != 0) {
  42763. return m_FcFalse
  42764. }
  42765. if !(XFcSerializeAlloc(tls, serialize, elts, libc.Int32FromUint64(libc.Uint64FromInt32(XFcPatternObjectCount(tls, pat))*uint64(16))) != 0) {
  42766. return m_FcFalse
  42767. }
  42768. i = 0
  42769. for {
  42770. if !(i < XFcPatternObjectCount(tls, pat)) {
  42771. break
  42772. }
  42773. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  42774. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  42775. } else {
  42776. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  42777. }
  42778. if !(XFcValueListSerializeAlloc(tls, serialize, v2) != 0) {
  42779. return m_FcFalse
  42780. }
  42781. goto _1
  42782. _1:
  42783. ;
  42784. i++
  42785. }
  42786. return int32(m_FcTrue)
  42787. }
  42788. func XFcPatternSerialize(tls *libc.TLS, serialize uintptr, pat uintptr) (r uintptr) {
  42789. var elts, elts_serialized, pat_serialized, values_serialized, v2 uintptr
  42790. var i int32
  42791. _, _, _, _, _, _ = elts, elts_serialized, i, pat_serialized, values_serialized, v2
  42792. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  42793. pat_serialized = XFcSerializePtr(tls, serialize, pat)
  42794. if !(pat_serialized != 0) {
  42795. return libc.UintptrFromInt32(0)
  42796. }
  42797. *(*TFcPattern)(unsafe.Pointer(pat_serialized)) = *(*TFcPattern)(unsafe.Pointer(pat))
  42798. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Fsize = XFcPatternObjectCount(tls, pat)
  42799. (*TFcRef)(unsafe.Pointer(pat_serialized + 16)).Fcount = -libc.Int32FromInt32(1)
  42800. elts_serialized = XFcSerializePtr(tls, serialize, elts)
  42801. if !(elts_serialized != 0) {
  42802. return libc.UintptrFromInt32(0)
  42803. }
  42804. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Felts_offset = int64(elts_serialized) - int64(pat_serialized)
  42805. i = 0
  42806. for {
  42807. if !(i < XFcPatternObjectCount(tls, pat)) {
  42808. break
  42809. }
  42810. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  42811. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  42812. } else {
  42813. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  42814. }
  42815. values_serialized = XFcValueListSerialize(tls, serialize, v2)
  42816. if !(values_serialized != 0) {
  42817. return libc.UintptrFromInt32(0)
  42818. }
  42819. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fobject = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16))).Fobject
  42820. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fvalues = uintptr(int64(values_serialized) - Tintptr_t(elts_serialized+uintptr(i)*16) | libc.Int64FromInt32(1))
  42821. goto _1
  42822. _1:
  42823. ;
  42824. i++
  42825. }
  42826. if XFcDebugVal&int32(m_FC_DBG_CACHEV) != 0 {
  42827. libc.Xprintf(tls, __ccgo_ts+6932, 0)
  42828. XFcPatternPrint(tls, pat)
  42829. libc.Xprintf(tls, __ccgo_ts+6946, 0)
  42830. XFcPatternPrint(tls, pat_serialized)
  42831. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  42832. }
  42833. return pat_serialized
  42834. }
  42835. func XFcValueListSerializeAlloc(tls *libc.TLS, serialize uintptr, vl uintptr) (r TFcBool) {
  42836. for vl != 0 {
  42837. if !(XFcSerializeAlloc(tls, serialize, vl, int32(32)) != 0) {
  42838. return m_FcFalse
  42839. }
  42840. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  42841. case int32(_FcTypeString):
  42842. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  42843. return m_FcFalse
  42844. }
  42845. case int32(_FcTypeCharSet):
  42846. if !(XFcCharSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  42847. return m_FcFalse
  42848. }
  42849. case int32(_FcTypeLangSet):
  42850. if !(XFcLangSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  42851. return m_FcFalse
  42852. }
  42853. case int32(_FcTypeRange):
  42854. if !(XFcRangeSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  42855. return m_FcFalse
  42856. }
  42857. default:
  42858. break
  42859. }
  42860. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  42861. }
  42862. return int32(m_FcTrue)
  42863. }
  42864. func XFcValueListSerialize(tls *libc.TLS, serialize uintptr, vl uintptr) (r uintptr) {
  42865. var c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized uintptr
  42866. _, _, _, _, _, _, _ = c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized
  42867. head_serialized = libc.UintptrFromInt32(0)
  42868. prev_serialized = libc.UintptrFromInt32(0)
  42869. for vl != 0 {
  42870. vl_serialized = XFcSerializePtr(tls, serialize, vl)
  42871. if !(vl_serialized != 0) {
  42872. return libc.UintptrFromInt32(0)
  42873. }
  42874. if prev_serialized != 0 {
  42875. (*TFcValueList)(unsafe.Pointer(prev_serialized)).Fnext = uintptr(int64(vl_serialized) - int64(prev_serialized) | libc.Int64FromInt32(1))
  42876. } else {
  42877. head_serialized = vl_serialized
  42878. }
  42879. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fnext = libc.UintptrFromInt32(0)
  42880. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fvalue.Ftype1 = (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1
  42881. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  42882. case int32(_FcTypeInteger):
  42883. *(*int32)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*int32)(unsafe.Pointer(vl + 8 + 8))
  42884. case int32(_FcTypeDouble):
  42885. *(*float64)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*float64)(unsafe.Pointer(vl + 8 + 8))
  42886. case int32(_FcTypeString):
  42887. s_serialized = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  42888. if !(s_serialized != 0) {
  42889. return libc.UintptrFromInt32(0)
  42890. }
  42891. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(s_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  42892. case int32(_FcTypeBool):
  42893. *(*TFcBool)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*TFcBool)(unsafe.Pointer(vl + 8 + 8))
  42894. case int32(_FcTypeMatrix):
  42895. /* can't happen */
  42896. case int32(_FcTypeCharSet):
  42897. c_serialized = XFcCharSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  42898. if !(c_serialized != 0) {
  42899. return libc.UintptrFromInt32(0)
  42900. }
  42901. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(c_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  42902. case int32(_FcTypeFTFace):
  42903. /* can't happen */
  42904. case int32(_FcTypeLangSet):
  42905. l_serialized = XFcLangSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  42906. if !(l_serialized != 0) {
  42907. return libc.UintptrFromInt32(0)
  42908. }
  42909. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(l_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  42910. case int32(_FcTypeRange):
  42911. r_serialized = XFcRangeSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  42912. if !(r_serialized != 0) {
  42913. return libc.UintptrFromInt32(0)
  42914. }
  42915. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(r_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  42916. default:
  42917. break
  42918. }
  42919. prev_serialized = vl_serialized
  42920. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  42921. }
  42922. return head_serialized
  42923. }
  42924. func XFcRangeCreateDouble(tls *libc.TLS, begin float64, end float64) (r uintptr) {
  42925. var ret uintptr
  42926. _ = ret
  42927. ret = libc.Xmalloc(tls, uint64(16))
  42928. if ret != 0 {
  42929. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = begin
  42930. (*TFcRange)(unsafe.Pointer(ret)).Fend = end
  42931. }
  42932. return ret
  42933. }
  42934. func XFcRangeCreateInteger(tls *libc.TLS, begin TFcChar32, end TFcChar32) (r uintptr) {
  42935. var ret uintptr
  42936. _ = ret
  42937. ret = libc.Xmalloc(tls, uint64(16))
  42938. if ret != 0 {
  42939. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = float64(begin)
  42940. (*TFcRange)(unsafe.Pointer(ret)).Fend = float64(end)
  42941. }
  42942. return ret
  42943. }
  42944. func XFcRangeDestroy(tls *libc.TLS, range1 uintptr) {
  42945. libc.Xfree(tls, range1)
  42946. }
  42947. func XFcRangeCopy(tls *libc.TLS, range1 uintptr) (r uintptr) {
  42948. return XFcRangeCreateDouble(tls, (*TFcRange)(unsafe.Pointer(range1)).Fbegin, (*TFcRange)(unsafe.Pointer(range1)).Fend)
  42949. }
  42950. func XFcRangeGetDouble(tls *libc.TLS, range1 uintptr, begin uintptr, end uintptr) (r TFcBool) {
  42951. if !(range1 != 0) {
  42952. return m_FcFalse
  42953. }
  42954. if begin != 0 {
  42955. *(*float64)(unsafe.Pointer(begin)) = (*TFcRange)(unsafe.Pointer(range1)).Fbegin
  42956. }
  42957. if end != 0 {
  42958. *(*float64)(unsafe.Pointer(end)) = (*TFcRange)(unsafe.Pointer(range1)).Fend
  42959. }
  42960. return int32(m_FcTrue)
  42961. }
  42962. func XFcRangePromote(tls *libc.TLS, v float64, vbuf uintptr) (r uintptr) {
  42963. var buf uintptr
  42964. _ = buf
  42965. buf = vbuf
  42966. (*struct {
  42967. Fr TFcRange
  42968. })(unsafe.Pointer(buf)).Fr.Fbegin = v
  42969. (*struct {
  42970. Fr TFcRange
  42971. })(unsafe.Pointer(buf)).Fr.Fend = v
  42972. return buf
  42973. }
  42974. func XFcRangeIsInRange(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  42975. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fend)
  42976. }
  42977. func XFcRangeCompare(tls *libc.TLS, op TFcOp, a uintptr, b uintptr) (r TFcBool) {
  42978. switch op {
  42979. case int32(_FcOpEqual):
  42980. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin == (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend == (*TFcRange)(unsafe.Pointer(b)).Fend)
  42981. case int32(_FcOpContains):
  42982. fallthrough
  42983. case int32(_FcOpListing):
  42984. return XFcRangeIsInRange(tls, a, b)
  42985. case int32(_FcOpNotEqual):
  42986. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin != (*TFcRange)(unsafe.Pointer(b)).Fbegin || (*TFcRange)(unsafe.Pointer(a)).Fend != (*TFcRange)(unsafe.Pointer(b)).Fend)
  42987. case int32(_FcOpNotContains):
  42988. return libc.BoolInt32(!(XFcRangeIsInRange(tls, a, b) != 0))
  42989. case int32(_FcOpLess):
  42990. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend < (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  42991. case int32(_FcOpLessEqual):
  42992. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  42993. case int32(_FcOpMore):
  42994. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin > (*TFcRange)(unsafe.Pointer(b)).Fend)
  42995. case int32(_FcOpMoreEqual):
  42996. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fend)
  42997. default:
  42998. break
  42999. }
  43000. return m_FcFalse
  43001. }
  43002. func XFcRangeHash(tls *libc.TLS, r uintptr) (r1 TFcChar32) {
  43003. var b, e int32
  43004. _, _ = b, e
  43005. b = int32((*TFcRange)(unsafe.Pointer(r)).Fbegin * libc.Float64FromInt32(100))
  43006. e = int32((*TFcRange)(unsafe.Pointer(r)).Fend * libc.Float64FromInt32(100))
  43007. return libc.Uint32FromInt32(b ^ b<<int32(1) ^ e<<int32(9))
  43008. }
  43009. func XFcRangeSerializeAlloc(tls *libc.TLS, serialize uintptr, r uintptr) (r1 TFcBool) {
  43010. if !(XFcSerializeAlloc(tls, serialize, r, int32(16)) != 0) {
  43011. return m_FcFalse
  43012. }
  43013. return int32(m_FcTrue)
  43014. }
  43015. func XFcRangeSerialize(tls *libc.TLS, serialize uintptr, r uintptr) (r1 uintptr) {
  43016. var r_serialize uintptr
  43017. _ = r_serialize
  43018. r_serialize = XFcSerializePtr(tls, serialize, r)
  43019. if !(r_serialize != 0) {
  43020. return libc.UintptrFromInt32(0)
  43021. }
  43022. libc.X__builtin___memcpy_chk(tls, r_serialize, r, uint64(16), ^t__predefined_size_t(0))
  43023. return r_serialize
  43024. }
  43025. func XFcAlignSize(tls *libc.TLS, size Tintptr_t) (r Tintptr_t) {
  43026. var rem Tintptr_t
  43027. _ = rem
  43028. rem = libc.Int64FromUint64(libc.Uint64FromInt64(size) % uint64(8))
  43029. if rem != 0 {
  43030. size = Tintptr_t(uint64(size) + (libc.Uint64FromInt64(8) - libc.Uint64FromInt64(rem)))
  43031. }
  43032. return size
  43033. }
  43034. /*
  43035. * Serialization helper object -- allocate space in the
  43036. * yet-to-be-created linear array for a serialized font set
  43037. */
  43038. func XFcSerializeCreate(tls *libc.TLS) (r uintptr) {
  43039. var serialize uintptr
  43040. _ = serialize
  43041. serialize = libc.Xmalloc(tls, uint64(56))
  43042. if !(serialize != 0) {
  43043. return libc.UintptrFromInt32(0)
  43044. }
  43045. (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize = 0
  43046. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = libc.UintptrFromInt32(0)
  43047. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = libc.UintptrFromInt32(0)
  43048. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = libc.UintptrFromInt32(0)
  43049. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = uint64(0)
  43050. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint64(0)
  43051. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = uint64(0)
  43052. return serialize
  43053. }
  43054. func XFcSerializeDestroy(tls *libc.TLS, serialize uintptr) {
  43055. libc.Xfree(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets)
  43056. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  43057. XFcCharSetFreezerDestroy(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer)
  43058. }
  43059. libc.Xfree(tls, serialize)
  43060. }
  43061. func _FcSerializeNextBucketIndex(tls *libc.TLS, serialize uintptr, index Tsize_t) (r Tsize_t) {
  43062. if index == uint64(0) {
  43063. index = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  43064. }
  43065. index--
  43066. return index
  43067. }
  43068. // C documentation
  43069. //
  43070. // /*
  43071. // * Based on splittable64/splitmix64 from Mix13
  43072. // * https://zimbry.blogspot.com/2011/09/better-bit-mixing-improving-on.html
  43073. // * https://prng.di.unimi.it/splitmix64.c
  43074. // */
  43075. func _FcSerializeHashPtr(tls *libc.TLS, object uintptr) (r Tuintptr_t) {
  43076. var x Tuintptr_t
  43077. var v1 uint64
  43078. _, _ = x, v1
  43079. x = uint64(object)
  43080. x ^= x >> int32(30)
  43081. x *= uint64(0xbf58476d1ce4e5b9)
  43082. x ^= x >> int32(27)
  43083. x *= uint64(0x94d049bb133111eb)
  43084. x ^= x >> int32(31)
  43085. if x != 0 {
  43086. v1 = x
  43087. } else {
  43088. v1 = uint64(1)
  43089. }
  43090. return v1 /* 0 reserved to mark empty, x starts out 0 */
  43091. }
  43092. func _FcSerializeFind(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  43093. var bucket uintptr
  43094. var buckets_count, index, n Tsize_t
  43095. var hash Tuintptr_t
  43096. _, _, _, _, _ = bucket, buckets_count, hash, index, n
  43097. hash = _FcSerializeHashPtr(tls, object)
  43098. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  43099. index = hash & (buckets_count - uint64(1))
  43100. n = uint64(0)
  43101. for {
  43102. if !(n < buckets_count) {
  43103. break
  43104. }
  43105. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*24
  43106. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint64(0) {
  43107. return libc.UintptrFromInt32(0)
  43108. }
  43109. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  43110. return bucket
  43111. }
  43112. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  43113. goto _1
  43114. _1:
  43115. ;
  43116. n++
  43117. }
  43118. return libc.UintptrFromInt32(0)
  43119. }
  43120. func _FcSerializeUncheckedSet(tls *libc.TLS, serialize uintptr, insert uintptr) (r uintptr) {
  43121. var bucket, object uintptr
  43122. var buckets_count, index, n Tsize_t
  43123. _, _, _, _, _ = bucket, buckets_count, index, n, object
  43124. object = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fobject
  43125. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  43126. index = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fhash & (buckets_count - uint64(1))
  43127. n = uint64(0)
  43128. for {
  43129. if !(n < buckets_count) {
  43130. break
  43131. }
  43132. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*24
  43133. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint64(0) {
  43134. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  43135. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used++
  43136. return bucket
  43137. }
  43138. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  43139. /* FcSerializeAlloc should not allow this to happen. */
  43140. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  43141. return bucket
  43142. }
  43143. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  43144. goto _1
  43145. _1:
  43146. ;
  43147. n++
  43148. }
  43149. return libc.UintptrFromInt32(0)
  43150. }
  43151. func _FcSerializeResize(tls *libc.TLS, serialize uintptr, new_count Tsize_t) (r TFcBool) {
  43152. var b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end uintptr
  43153. var old_count, old_used Tsize_t
  43154. _, _, _, _, _, _, _, _ = b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end, old_count, old_used
  43155. old_used = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used
  43156. old_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  43157. old_buckets = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets
  43158. old_buckets_end = old_buckets + uintptr(old_count)*24
  43159. new_buckets = libc.Xmalloc(tls, new_count*uint64(24))
  43160. if !(new_buckets != 0) {
  43161. return m_FcFalse
  43162. }
  43163. new_buckets_end = new_buckets + uintptr(new_count)*24
  43164. b = new_buckets
  43165. for {
  43166. if !(b < new_buckets_end) {
  43167. break
  43168. }
  43169. (*TFcSerializeBucket)(unsafe.Pointer(b)).Fhash = uint64(0)
  43170. goto _1
  43171. _1:
  43172. ;
  43173. b += 24
  43174. }
  43175. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = new_buckets
  43176. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = new_count
  43177. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint64(0)
  43178. b1 = old_buckets
  43179. for {
  43180. if !(b1 < old_buckets_end) {
  43181. break
  43182. }
  43183. if (*TFcSerializeBucket)(unsafe.Pointer(b1)).Fhash != uint64(0) && !(_FcSerializeUncheckedSet(tls, serialize, b1) != 0) {
  43184. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = old_buckets
  43185. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = old_count
  43186. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = old_used
  43187. libc.Xfree(tls, new_buckets)
  43188. return m_FcFalse
  43189. }
  43190. goto _2
  43191. _2:
  43192. ;
  43193. b1 += 24
  43194. }
  43195. libc.Xfree(tls, old_buckets)
  43196. return int32(m_FcTrue)
  43197. }
  43198. func _FcSerializeSet(tls *libc.TLS, serialize uintptr, object uintptr, offset Tintptr_t) (r uintptr) {
  43199. bp := tls.Alloc(32)
  43200. defer tls.Free(32)
  43201. var capacity Tsize_t
  43202. var _ /* bucket at bp+0 */ TFcSerializeBucket
  43203. _ = capacity
  43204. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used >= (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max {
  43205. capacity = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  43206. if capacity == uint64(0) {
  43207. capacity = uint64(4)
  43208. } else {
  43209. if capacity > libc.Uint64FromUint64(18446744073709551615)/libc.Uint64FromUint32(2) {
  43210. return libc.UintptrFromInt32(0)
  43211. } else {
  43212. capacity *= uint64(2)
  43213. }
  43214. }
  43215. if !(_FcSerializeResize(tls, serialize, capacity) != 0) {
  43216. return libc.UintptrFromInt32(0)
  43217. }
  43218. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = capacity / uint64(4) * uint64(3)
  43219. }
  43220. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fobject = object
  43221. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Foffset = offset
  43222. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fhash = _FcSerializeHashPtr(tls, object)
  43223. return _FcSerializeUncheckedSet(tls, serialize, bp)
  43224. }
  43225. // C documentation
  43226. //
  43227. // /*
  43228. // * Allocate space for an object in the serialized array. Keep track
  43229. // * of where the object is placed and only allocate one copy of each object
  43230. // */
  43231. func XFcSerializeAlloc(tls *libc.TLS, serialize uintptr, object uintptr, size int32) (r TFcBool) {
  43232. var bucket uintptr
  43233. _ = bucket
  43234. bucket = _FcSerializeFind(tls, serialize, object)
  43235. if bucket != 0 {
  43236. return int32(m_FcTrue)
  43237. }
  43238. if !(_FcSerializeSet(tls, serialize, object, (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize) != 0) {
  43239. return m_FcFalse
  43240. }
  43241. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  43242. return int32(m_FcTrue)
  43243. }
  43244. // C documentation
  43245. //
  43246. // /*
  43247. // * Reserve space in the serialization array
  43248. // */
  43249. func XFcSerializeReserve(tls *libc.TLS, serialize uintptr, size int32) (r Tintptr_t) {
  43250. var offset Tintptr_t
  43251. _ = offset
  43252. offset = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  43253. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  43254. return offset
  43255. }
  43256. // C documentation
  43257. //
  43258. // /*
  43259. // * Given an object, return the offset in the serialized array where
  43260. // * the serialized copy of the object is stored
  43261. // */
  43262. func XFcSerializeOffset(tls *libc.TLS, serialize uintptr, object uintptr) (r Tintptr_t) {
  43263. var bucket uintptr
  43264. var v1 int64
  43265. _, _ = bucket, v1
  43266. bucket = _FcSerializeFind(tls, serialize, object)
  43267. if bucket != 0 {
  43268. v1 = (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Foffset
  43269. } else {
  43270. v1 = 0
  43271. }
  43272. return v1
  43273. }
  43274. // C documentation
  43275. //
  43276. // /*
  43277. // * Given a cache and an object, return a pointer to where
  43278. // * the serialized copy of the object is stored
  43279. // */
  43280. func XFcSerializePtr(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  43281. var offset Tintptr_t
  43282. _ = offset
  43283. offset = XFcSerializeOffset(tls, serialize, object)
  43284. if !(offset != 0) {
  43285. return libc.UintptrFromInt32(0)
  43286. }
  43287. return (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear + uintptr(offset)
  43288. }
  43289. func XFcStrSerializeAlloc(tls *libc.TLS, serialize uintptr, str uintptr) (r TFcBool) {
  43290. return XFcSerializeAlloc(tls, serialize, str, libc.Int32FromUint64(libc.Xstrlen(tls, str)+uint64(1)))
  43291. }
  43292. func XFcStrSerialize(tls *libc.TLS, serialize uintptr, str uintptr) (r uintptr) {
  43293. var str_serialize uintptr
  43294. _ = str_serialize
  43295. str_serialize = XFcSerializePtr(tls, serialize, str)
  43296. if !(str_serialize != 0) {
  43297. return libc.UintptrFromInt32(0)
  43298. }
  43299. libc.X__builtin___strcpy_chk(tls, str_serialize, str, ^t__predefined_size_t(0))
  43300. return str_serialize
  43301. }
  43302. const m_ALIGNBYTES = "__DARWIN_ALIGNBYTES"
  43303. const m_AQ_BUFSZ = "MAXAUDITDATA"
  43304. const m_AQ_HIWATER = 100
  43305. const m_AQ_LOWATER = 10
  43306. const m_AQ_MAXBUFSZ = 1048576
  43307. const m_AQ_MAXHIGH = 10000
  43308. const m_ATTR_BIT_MAP_COUNT = 5
  43309. const m_ATTR_CMNEXT_ATTRIBUTION_TAG = 0x00000800
  43310. const m_ATTR_CMNEXT_CLONEID = 0x00000100
  43311. const m_ATTR_CMNEXT_CLONE_REFCNT = 0x00001000
  43312. const m_ATTR_CMNEXT_EXT_FLAGS = 0x00000200
  43313. const m_ATTR_CMNEXT_LINKID = 0x00000010
  43314. const m_ATTR_CMNEXT_NOFIRMLINKPATH = 0x00000020
  43315. const m_ATTR_CMNEXT_PRIVATESIZE = 0x00000008
  43316. const m_ATTR_CMNEXT_REALDEVID = 0x00000040
  43317. const m_ATTR_CMNEXT_REALFSID = 0x00000080
  43318. const m_ATTR_CMNEXT_RECURSIVE_GENCOUNT = 0x00000400
  43319. const m_ATTR_CMNEXT_RELPATH = 0x00000004
  43320. const m_ATTR_CMNEXT_SETMASK = 0x00000000
  43321. const m_ATTR_CMNEXT_VALIDMASK = 0x00001ffc
  43322. const m_ATTR_CMN_ACCESSMASK = 0x00020000
  43323. const m_ATTR_CMN_ACCTIME = 0x00001000
  43324. const m_ATTR_CMN_ADDEDTIME = 0x10000000
  43325. const m_ATTR_CMN_BKUPTIME = 0x00002000
  43326. const m_ATTR_CMN_CHGTIME = 0x00000800
  43327. const m_ATTR_CMN_CRTIME = 0x00000200
  43328. const m_ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
  43329. const m_ATTR_CMN_DEVID = 0x00000002
  43330. const m_ATTR_CMN_DOCUMENT_ID = 0x00100000
  43331. const m_ATTR_CMN_ERROR = 0x20000000
  43332. const m_ATTR_CMN_EXTENDED_SECURITY = 0x00400000
  43333. const m_ATTR_CMN_FILEID = 0x02000000
  43334. const m_ATTR_CMN_FLAGS = 0x00040000
  43335. const m_ATTR_CMN_FNDRINFO = 0x00004000
  43336. const m_ATTR_CMN_FSID = 0x00000004
  43337. const m_ATTR_CMN_FULLPATH = 0x08000000
  43338. const m_ATTR_CMN_GEN_COUNT = 0x00080000
  43339. const m_ATTR_CMN_GRPID = 0x00010000
  43340. const m_ATTR_CMN_GRPUUID = 0x01000000
  43341. const m_ATTR_CMN_MODTIME = 0x00000400
  43342. const m_ATTR_CMN_NAME = 0x00000001
  43343. const m_ATTR_CMN_NAMEDATTRCOUNT = 0x00080000
  43344. const m_ATTR_CMN_NAMEDATTRLIST = 0x00100000
  43345. const m_ATTR_CMN_OBJID = 0x00000020
  43346. const m_ATTR_CMN_OBJPERMANENTID = 0x00000040
  43347. const m_ATTR_CMN_OBJTAG = 0x00000010
  43348. const m_ATTR_CMN_OBJTYPE = 0x00000008
  43349. const m_ATTR_CMN_OWNERID = 0x00008000
  43350. const m_ATTR_CMN_PARENTID = 0x04000000
  43351. const m_ATTR_CMN_PAROBJID = 0x00000080
  43352. const m_ATTR_CMN_RETURNED_ATTRS = 0x80000000
  43353. const m_ATTR_CMN_SCRIPT = 0x00000100
  43354. const m_ATTR_CMN_SETMASK = 0x51C7FF00
  43355. const m_ATTR_CMN_USERACCESS = 0x00200000
  43356. const m_ATTR_CMN_UUID = 0x00800000
  43357. const m_ATTR_CMN_VALIDMASK = 0xFFFFFFFF
  43358. const m_ATTR_CMN_VOLSETMASK = 0x00006700
  43359. const m_ATTR_DIR_ALLOCSIZE = 0x00000008
  43360. const m_ATTR_DIR_DATALENGTH = 0x00000020
  43361. const m_ATTR_DIR_ENTRYCOUNT = 0x00000002
  43362. const m_ATTR_DIR_IOBLOCKSIZE = 0x00000010
  43363. const m_ATTR_DIR_LINKCOUNT = 0x00000001
  43364. const m_ATTR_DIR_MOUNTSTATUS = 0x00000004
  43365. const m_ATTR_DIR_SETMASK = 0x00000000
  43366. const m_ATTR_DIR_VALIDMASK = 0x0000003f
  43367. const m_ATTR_FILE_ALLOCSIZE = 0x00000004
  43368. const m_ATTR_FILE_CLUMPSIZE = 0x00000010
  43369. const m_ATTR_FILE_DATAALLOCSIZE = 0x00000400
  43370. const m_ATTR_FILE_DATAEXTENTS = 0x00000800
  43371. const m_ATTR_FILE_DATALENGTH = 0x00000200
  43372. const m_ATTR_FILE_DEVTYPE = 0x00000020
  43373. const m_ATTR_FILE_FILETYPE = 0x00000040
  43374. const m_ATTR_FILE_FORKCOUNT = 0x00000080
  43375. const m_ATTR_FILE_FORKLIST = 0x00000100
  43376. const m_ATTR_FILE_IOBLOCKSIZE = 0x00000008
  43377. const m_ATTR_FILE_LINKCOUNT = 0x00000001
  43378. const m_ATTR_FILE_RSRCALLOCSIZE = 0x00002000
  43379. const m_ATTR_FILE_RSRCEXTENTS = 0x00004000
  43380. const m_ATTR_FILE_RSRCLENGTH = 0x00001000
  43381. const m_ATTR_FILE_SETMASK = 0x00000020
  43382. const m_ATTR_FILE_TOTALSIZE = 0x00000002
  43383. const m_ATTR_FILE_VALIDMASK = 0x000037FF
  43384. const m_ATTR_FORK_ALLOCSIZE = 0x00000002
  43385. const m_ATTR_FORK_RESERVED = 0xffffffff
  43386. const m_ATTR_FORK_SETMASK = 0x00000000
  43387. const m_ATTR_FORK_TOTALSIZE = 0x00000001
  43388. const m_ATTR_FORK_VALIDMASK = 0x00000003
  43389. const m_ATTR_MAX_BUFFER = 8192
  43390. const m_ATTR_VOL_ALLOCATIONCLUMP = 0x00000040
  43391. const m_ATTR_VOL_ATTRIBUTES = 0x40000000
  43392. const m_ATTR_VOL_CAPABILITIES = 0x00020000
  43393. const m_ATTR_VOL_DIRCOUNT = 0x00000400
  43394. const m_ATTR_VOL_ENCODINGSUSED = 0x00010000
  43395. const m_ATTR_VOL_FILECOUNT = 0x00000200
  43396. const m_ATTR_VOL_FSSUBTYPE = 0x00200000
  43397. const m_ATTR_VOL_FSTYPE = 0x00000001
  43398. const m_ATTR_VOL_FSTYPENAME = 0x00100000
  43399. const m_ATTR_VOL_INFO = 0x80000000
  43400. const m_ATTR_VOL_IOBLOCKSIZE = 0x00000080
  43401. const m_ATTR_VOL_MAXOBJCOUNT = 0x00000800
  43402. const m_ATTR_VOL_MINALLOCATION = 0x00000020
  43403. const m_ATTR_VOL_MOUNTEDDEVICE = 0x00008000
  43404. const m_ATTR_VOL_MOUNTEXTFLAGS = 0x00080000
  43405. const m_ATTR_VOL_MOUNTFLAGS = 0x00004000
  43406. const m_ATTR_VOL_MOUNTPOINT = 0x00001000
  43407. const m_ATTR_VOL_NAME = 0x00002000
  43408. const m_ATTR_VOL_OBJCOUNT = 0x00000100
  43409. const m_ATTR_VOL_QUOTA_SIZE = 0x10000000
  43410. const m_ATTR_VOL_RESERVED_SIZE = 0x20000000
  43411. const m_ATTR_VOL_SETMASK = 0x80002000
  43412. const m_ATTR_VOL_SIGNATURE = 0x00000002
  43413. const m_ATTR_VOL_SIZE = 0x00000004
  43414. const m_ATTR_VOL_SPACEAVAIL = 0x00000010
  43415. const m_ATTR_VOL_SPACEFREE = 0x00000008
  43416. const m_ATTR_VOL_SPACEUSED = 0x00800000
  43417. const m_ATTR_VOL_UUID = 0x00040000
  43418. const m_ATTR_VOL_VALIDMASK = 0xF0BFFFFF
  43419. const m_AUC_AUDITING = 1
  43420. const m_AUC_NOAUDIT = 2
  43421. const m_AUC_UNSET = 0
  43422. const m_AUDITDEV_FILENAME = "audit"
  43423. const m_AUDIT_AHLT = 0x0002
  43424. const m_AUDIT_ARGE = 0x0008
  43425. const m_AUDIT_ARGV = 0x0004
  43426. const m_AUDIT_CNT = 0x0001
  43427. const m_AUDIT_GROUP = 0x0080
  43428. const m_AUDIT_HARD_LIMIT_FREE_BLOCKS = 4
  43429. const m_AUDIT_PATH = 0x0200
  43430. const m_AUDIT_PERZONE = 0x2000
  43431. const m_AUDIT_PUBLIC = 0x0800
  43432. const m_AUDIT_RECORD_MAGIC = 0x828a0f1b
  43433. const m_AUDIT_SCNT = 0x0400
  43434. const m_AUDIT_SEQ = 0x0010
  43435. const m_AUDIT_TRAIL = 0x0100
  43436. const m_AUDIT_TRIGGER_CLOSE_AND_DIE = 4
  43437. const m_AUDIT_TRIGGER_EXPIRE_TRAILS = 8
  43438. const m_AUDIT_TRIGGER_INITIALIZE = 7
  43439. const m_AUDIT_TRIGGER_LOW_SPACE = 1
  43440. const m_AUDIT_TRIGGER_MAX = 8
  43441. const m_AUDIT_TRIGGER_MIN = 1
  43442. const m_AUDIT_TRIGGER_NO_SPACE = 5
  43443. const m_AUDIT_TRIGGER_READ_FILE = 3
  43444. const m_AUDIT_TRIGGER_ROTATE_KERNEL = 2
  43445. const m_AUDIT_TRIGGER_ROTATE_USER = 6
  43446. const m_AUDIT_USER = 0x0040
  43447. const m_AUDIT_WINDATA = 0x0020
  43448. const m_AUDIT_ZONENAME = 0x1000
  43449. const m_AU_CLASS_MASK_RESERVED = 0x10000000
  43450. const m_AU_DEFAUDITSID = 0
  43451. const m_AU_FS_MINFREE = 20
  43452. const m_AU_IPv4 = 4
  43453. const m_AU_IPv6 = 16
  43454. const m_A_GETCAR = 9
  43455. const m_A_GETCLASS = 22
  43456. const m_A_GETCOND = 37
  43457. const m_A_GETCTLMODE = 41
  43458. const m_A_GETCWD = 8
  43459. const m_A_GETEXPAFTER = 43
  43460. const m_A_GETFSIZE = 27
  43461. const m_A_GETKAUDIT = 29
  43462. const m_A_GETKMASK = 4
  43463. const m_A_GETPINFO = 24
  43464. const m_A_GETPINFO_ADDR = 28
  43465. const m_A_GETPOLICY = 33
  43466. const m_A_GETQCTRL = 35
  43467. const m_A_GETSFLAGS = 39
  43468. const m_A_GETSINFO_ADDR = 32
  43469. const m_A_GETSTAT = 12
  43470. const m_A_OLDGETCOND = 20
  43471. const m_A_OLDGETPOLICY = 2
  43472. const m_A_OLDGETQCTRL = 6
  43473. const m_A_OLDSETCOND = 21
  43474. const m_A_OLDSETPOLICY = 3
  43475. const m_A_OLDSETQCTRL = 7
  43476. const m_A_SENDTRIGGER = 31
  43477. const m_A_SETCLASS = 23
  43478. const m_A_SETCOND = 38
  43479. const m_A_SETCTLMODE = 42
  43480. const m_A_SETEXPAFTER = 44
  43481. const m_A_SETFSIZE = 26
  43482. const m_A_SETKAUDIT = 30
  43483. const m_A_SETKMASK = 5
  43484. const m_A_SETPMASK = 25
  43485. const m_A_SETPOLICY = 34
  43486. const m_A_SETQCTRL = 36
  43487. const m_A_SETSFLAGS = 40
  43488. const m_A_SETSMASK = 15
  43489. const m_A_SETSTAT = 13
  43490. const m_A_SETUMASK = 14
  43491. const m_BC_BASE_MAX = 99
  43492. const m_BC_DIM_MAX = 2048
  43493. const m_BC_SCALE_MAX = 99
  43494. const m_BC_STRING_MAX = 1000
  43495. const m_BLKDEV_IOSIZE = 2048
  43496. const m_BSD = 199506
  43497. const m_BSD4_3 = 1
  43498. const m_BSD4_4 = 1
  43499. const m_CBLOCK = 64
  43500. const m_CHARCLASS_NAME_MAX = 14
  43501. const m_CHILD_MAX = 266
  43502. const m_CLOFF = "CLOFSET"
  43503. const m_CLSIZE = 1
  43504. const m_CLSIZELOG2 = 0
  43505. const m_CMASK = 022
  43506. const m_COLL_WEIGHTS_MAX = 2
  43507. const m_CRF_MAC_ENFORCE = 0x00000002
  43508. const m_CRF_NOMEMBERD = 0x00000001
  43509. const m_CRYPTEX_AUTH_STRUCT_VERSION = 2
  43510. const m_DEV_BSHIFT = 9
  43511. const m_DEV_BSIZE = 512
  43512. const m_DIR_MNTSTATUS_MNTPOINT = 0x00000001
  43513. const m_DIR_MNTSTATUS_TRIGGER = 0x00000002
  43514. const m_EQUIV_CLASS_MAX = 2
  43515. const m_EXPR_NEST_MAX = 32
  43516. const m_FALSE = 0
  43517. const m_FC_ARCH_ENDIAN1 = "le"
  43518. const m_FC_DIR_SEPARATOR3 = 47
  43519. const m_FSHIFT = 11
  43520. const m_FSOPT_ATTR_CMN_EXTENDED = 0x00000020
  43521. const m_FSOPT_NOFOLLOW = 0x00000001
  43522. const m_FSOPT_NOFOLLOW_ANY = 0x00000800
  43523. const m_FSOPT_NOINMEMUPDATE = 0x00000002
  43524. const m_FSOPT_PACK_INVAL_ATTRS = 0x00000008
  43525. const m_FSOPT_REPORT_FULLSIZE = 0x00000004
  43526. const m_FSOPT_RETURN_REALDEV = 0x00000200
  43527. const m_GID_MAX = 2147483647
  43528. const m_GRAFTDMG_SECURE_BOOT_CRYPTEX_ARGS_VERSION = 1
  43529. const m_GUARD_TYPE_MACH_PORT = 0x1
  43530. const m_LINE_MAX = 2048
  43531. const m_LINK_MAX = 32767
  43532. const m_M16KCLSHIFT = 14
  43533. const m_MACH_MSG_TYPE_INTEGER_T = "MACH_MSG_TYPE_INTEGER_32"
  43534. const m_MACH_PORT_DENAP_RECEIVER = 6
  43535. const m_MACH_PORT_DNREQUESTS_SIZE = 3
  43536. const m_MACH_PORT_DNREQUESTS_SIZE_COUNT = 1
  43537. const m_MACH_PORT_GUARD_INFO = 8
  43538. const m_MACH_PORT_IMPORTANCE_RECEIVER = 5
  43539. const m_MACH_PORT_INFO_EXT = 7
  43540. const m_MACH_PORT_LIMITS_INFO = 1
  43541. const m_MACH_PORT_NULL = 0
  43542. const m_MACH_PORT_QLIMIT_BASIC = 5
  43543. const m_MACH_PORT_QLIMIT_DEFAULT = "MACH_PORT_QLIMIT_BASIC"
  43544. const m_MACH_PORT_QLIMIT_KERNEL = 65534
  43545. const m_MACH_PORT_QLIMIT_LARGE = 1024
  43546. const m_MACH_PORT_QLIMIT_MAX = "MACH_PORT_QLIMIT_LARGE"
  43547. const m_MACH_PORT_QLIMIT_MIN = "MACH_PORT_QLIMIT_ZERO"
  43548. const m_MACH_PORT_QLIMIT_SMALL = 16
  43549. const m_MACH_PORT_QLIMIT_ZERO = 0
  43550. const m_MACH_PORT_RECEIVE_STATUS = 2
  43551. const m_MACH_PORT_SERVICE_THROTTLED = 9
  43552. const m_MACH_PORT_SERVICE_THROTTLED_COUNT = 1
  43553. const m_MACH_PORT_SRIGHTS_NONE = 0
  43554. const m_MACH_PORT_SRIGHTS_PRESENT = 1
  43555. const m_MACH_PORT_STATUS_FLAG_GUARDED = 0x02
  43556. const m_MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE = 0x40
  43557. const m_MACH_PORT_STATUS_FLAG_IMP_DONATION = 0x08
  43558. const m_MACH_PORT_STATUS_FLAG_NO_GRANT = 0x80
  43559. const m_MACH_PORT_STATUS_FLAG_REVIVE = 0x10
  43560. const m_MACH_PORT_STATUS_FLAG_STRICT_GUARD = 0x04
  43561. const m_MACH_PORT_STATUS_FLAG_TASKPTR = 0x20
  43562. const m_MACH_PORT_STATUS_FLAG_TEMPOWNER = 0x01
  43563. const m_MACH_PORT_TEMPOWNER = 4
  43564. const m_MACH_PORT_TYPE_DNREQUEST = 0x80000000
  43565. const m_MACH_PORT_TYPE_SPREQUEST = 0x40000000
  43566. const m_MACH_PORT_TYPE_SPREQUEST_DELAYED = 0x20000000
  43567. const m_MACH_SERVICE_PORT_INFO_STRING_NAME_MAX_BUF_LEN = 255
  43568. const m_MAXCOMLEN = 16
  43569. const m_MAXDOMNAMELEN = 256
  43570. const m_MAXFRAG = 8
  43571. const m_MAXHOSTNAMELEN = 256
  43572. const m_MAXINTERP = 64
  43573. const m_MAXLOGNAME = 255
  43574. const m_MAXPATHLEN = "PATH_MAX"
  43575. const m_MAXPHYSIO = "MAXPHYS"
  43576. const m_MAXPRI = 127
  43577. const m_MAXSYMLINKS = 32
  43578. const m_MAXUPRC = "CHILD_MAX"
  43579. const m_MAX_AUDIT_RECORDS = 20
  43580. const m_MAX_AUDIT_RECORD_SIZE = "MAXAUDITDATA"
  43581. const m_MAX_CANON = 1024
  43582. const m_MAX_GRAFT_ARGS_SIZE = 512
  43583. const m_MAX_INPUT = 1024
  43584. const m_MBIGCLSHIFT = 12
  43585. const m_MCLSHIFT = 11
  43586. const m_MFSNAMELEN = 15
  43587. const m_MFSTYPENAMELEN = 16
  43588. const m_MNAMELEN = "MAXPATHLEN"
  43589. const m_MNT_ASYNC = 0x00000040
  43590. const m_MNT_AUTOMOUNTED = 0x00400000
  43591. const m_MNT_CPROTECT = 0x00000080
  43592. const m_MNT_DEFWRITE = 0x02000000
  43593. const m_MNT_DONTBROWSE = 0x00100000
  43594. const m_MNT_DOVOLFS = 0x00008000
  43595. const m_MNT_DWAIT = 4
  43596. const m_MNT_EXPORTED = 0x00000100
  43597. const m_MNT_EXT_FSKIT = 0x00000002
  43598. const m_MNT_EXT_ROOT_DATA_VOL = 0x00000001
  43599. const m_MNT_FORCE = 0x00080000
  43600. const m_MNT_IGNORE_OWNERSHIP = 0x00200000
  43601. const m_MNT_JOURNALED = 0x00800000
  43602. const m_MNT_LOCAL = 4096
  43603. const m_MNT_MULTILABEL = 0x04000000
  43604. const m_MNT_NOATIME = 0x10000000
  43605. const m_MNT_NOBLOCK = 0x00020000
  43606. const m_MNT_NODEV = 0x00000010
  43607. const m_MNT_NOEXEC = 0x00000004
  43608. const m_MNT_NOFOLLOW = 0x08000000
  43609. const m_MNT_NOSUID = 0x00000008
  43610. const m_MNT_NOUSERXATTR = 0x01000000
  43611. const m_MNT_NOWAIT = 2
  43612. const m_MNT_QUARANTINE = 0x00000400
  43613. const m_MNT_QUOTA = 0x00002000
  43614. const m_MNT_RDONLY = 0x00000001
  43615. const m_MNT_RELOAD = 0x00040000
  43616. const m_MNT_REMOVABLE = 0x00000200
  43617. const m_MNT_ROOTFS = 0x00004000
  43618. const m_MNT_SNAPSHOT = 0x40000000
  43619. const m_MNT_STRICTATIME = 0x80000000
  43620. const m_MNT_SYNCHRONOUS = 0x00000002
  43621. const m_MNT_UNION = 0x00000020
  43622. const m_MNT_UNKNOWNPERMISSIONS = "MNT_IGNORE_OWNERSHIP"
  43623. const m_MNT_UPDATE = 0x00010000
  43624. const m_MNT_WAIT = 1
  43625. const m_MPG_FLAGS_NONE = "0x00ull"
  43626. const m_MPG_IMMOVABLE_RECEIVE = 0x02
  43627. const m_MPG_STRICT = 0x01
  43628. const m_MPO_CONNECTION_PORT = 0x800
  43629. const m_MPO_CONTEXT_AS_GUARD = 0x01
  43630. const m_MPO_DENAP_RECEIVER = 0x40
  43631. const m_MPO_ENFORCE_REPLY_PORT_SEMANTICS = 0x2000
  43632. const m_MPO_EXCEPTION_PORT = 0x8000
  43633. const m_MPO_FILTER_MSG = 0x100
  43634. const m_MPO_IMMOVABLE_RECEIVE = 0x80
  43635. const m_MPO_IMPORTANCE_RECEIVER = 0x08
  43636. const m_MPO_INSERT_SEND_RIGHT = 0x10
  43637. const m_MPO_PROVISIONAL_REPLY_PORT = 0x4000
  43638. const m_MPO_QLIMIT = 0x02
  43639. const m_MPO_REPLY_PORT = 0x1000
  43640. const m_MPO_SERVICE_PORT = 0x400
  43641. const m_MPO_STRICT = 0x20
  43642. const m_MPO_TEMPOWNER = 0x04
  43643. const m_MPO_TG_BLOCK_TRACKING = 0x200
  43644. const m_MSIZESHIFT = 8
  43645. const m_NAME_MAX = 255
  43646. const m_NBPG = 4096
  43647. const m_NCARGS = "ARG_MAX"
  43648. const m_NFSV2_MAX_FH_SIZE = 32
  43649. const m_NFSV3_MAX_FH_SIZE = 64
  43650. const m_NFSV4_MAX_FH_SIZE = 128
  43651. const m_NFS_MAX_FH_SIZE = "NFSV4_MAX_FH_SIZE"
  43652. const m_NGROUPS = "NGROUPS_MAX"
  43653. const m_NGROUPS_MAX = 16
  43654. const m_NOFILE = 256
  43655. const m_NOGROUP = 65535
  43656. const m_NZERO = 20
  43657. const m_NeXTBSD = 1995064
  43658. const m_NeXTBSD4_0 = 0
  43659. const m_OPEN_MAX = 10240
  43660. const m_OS_ASSUME_PTR_ABI_SINGLE_BEGIN = "__ASSUME_PTR_ABI_SINGLE_BEGIN"
  43661. const m_OS_ASSUME_PTR_ABI_SINGLE_END = "__ASSUME_PTR_ABI_SINGLE_END"
  43662. const m_OS_HEADER_INDEXABLE = "__header_indexable"
  43663. const m_OS_UNSAFE_INDEXABLE = "__unsafe_indexable"
  43664. const m_O_CLOEXEC2 = 0x01000000
  43665. const m_O_CREAT1 = 0x00000200
  43666. const m_O_RDONLY2 = 0
  43667. const m_PATH_MAX = 1024
  43668. const m_PCATCH = 0x100
  43669. const m_PDROP = 0x400
  43670. const m_PGSHIFT = 12
  43671. const m_PINOD = 8
  43672. const m_PIPE_BUF = 512
  43673. const m_PLOCK = 36
  43674. const m_PPAUSE = 40
  43675. const m_PRIBIO = 16
  43676. const m_PRIMASK = 0x0ff
  43677. const m_PSOCK = 24
  43678. const m_PSPIN = 0x800
  43679. const m_PSWP = 0
  43680. const m_PTTYBLOCK = 0x200
  43681. const m_PUSER = 50
  43682. const m_PVFS = 20
  43683. const m_PVM = 4
  43684. const m_PWAIT = 32
  43685. const m_PZERO = 22
  43686. const m_RE_DUP_MAX = 255
  43687. const m_SBC_ALTERNATE_SHARED_REGION = 0x0002
  43688. const m_SBC_PANIC_ON_AUTHFAIL = 0x0008
  43689. const m_SBC_PRESERVE_GRAFT = 0x0020
  43690. const m_SBC_PRESERVE_MOUNT = 0x0001
  43691. const m_SBC_STRICT_AUTH = 0x0010
  43692. const m_SBC_SYSTEM_CONTENT = 0x0004
  43693. const m_SEARCHFS_MAX_SEARCHPARMS = 4096
  43694. const m_SRCHFS_MATCHDIRS = 0x00000004
  43695. const m_SRCHFS_MATCHFILES = 0x00000008
  43696. const m_SRCHFS_MATCHPARTIALNAMES = 0x00000002
  43697. const m_SRCHFS_NEGATEPARAMS = 0x80000000
  43698. const m_SRCHFS_SKIPINAPPROPRIATE = 0x00000080
  43699. const m_SRCHFS_SKIPINVISIBLE = 0x00000020
  43700. const m_SRCHFS_SKIPLINKS = 0x00000010
  43701. const m_SRCHFS_SKIPPACKAGES = 0x00000040
  43702. const m_SRCHFS_START = 0x00000001
  43703. const m_SRCHFS_VALIDOPTIONSMASK = 0x800000FF
  43704. const m_ST_NOSUID = 0x00000002
  43705. const m_ST_RDONLY = 0x00000001
  43706. const m_S_IFDIR3 = 16384
  43707. const m_S_IFMT5 = 61440
  43708. const m_TRUE = 1
  43709. const m_UID_MAX = 2147483647
  43710. const m_VFS_CONF = 2
  43711. const m_VFS_CTL_DISC = 0x00010008
  43712. const m_VFS_CTL_NEWADDR = 0x00010004
  43713. const m_VFS_CTL_NOLOCKS = 0x00010006
  43714. const m_VFS_CTL_NSTATUS = 0x0001000A
  43715. const m_VFS_CTL_OSTATFS = 0x00010001
  43716. const m_VFS_CTL_QUERY = 0x00010003
  43717. const m_VFS_CTL_SADDR = 0x00010007
  43718. const m_VFS_CTL_SERVERINFO = 0x00010009
  43719. const m_VFS_CTL_STATFS = "VFS_CTL_STATFS64"
  43720. const m_VFS_CTL_STATFS64 = 0x0001000B
  43721. const m_VFS_CTL_TIMEO = 0x00010005
  43722. const m_VFS_CTL_UMOUNT = 0x00010002
  43723. const m_VFS_CTL_VERS1 = 0x01
  43724. const m_VFS_GENERIC = 0
  43725. const m_VFS_MAXTYPENUM = 1
  43726. const m_VFS_NUMMNTOPS = 1
  43727. const m_VOL_CAPABILITIES_FORMAT = 0
  43728. const m_VOL_CAPABILITIES_INTERFACES = 1
  43729. const m_VOL_CAPABILITIES_RESERVED1 = 2
  43730. const m_VOL_CAPABILITIES_RESERVED2 = 3
  43731. const m_VOL_CAP_FMT_2TB_FILESIZE = 0x00000800
  43732. const m_VOL_CAP_FMT_64BIT_OBJECT_IDS = 0x00020000
  43733. const m_VOL_CAP_FMT_CASE_PRESERVING = 0x00000200
  43734. const m_VOL_CAP_FMT_CASE_SENSITIVE = 0x00000100
  43735. const m_VOL_CAP_FMT_CLONE_MAPPING = 0x04000000
  43736. const m_VOL_CAP_FMT_DECMPFS_COMPRESSION = 0x00010000
  43737. const m_VOL_CAP_FMT_DIR_HARDLINKS = 0x00040000
  43738. const m_VOL_CAP_FMT_DOCUMENT_ID = 0x00080000
  43739. const m_VOL_CAP_FMT_FAST_STATFS = 0x00000400
  43740. const m_VOL_CAP_FMT_HARDLINKS = 0x00000004
  43741. const m_VOL_CAP_FMT_HIDDEN_FILES = 0x00002000
  43742. const m_VOL_CAP_FMT_JOURNAL = 0x00000008
  43743. const m_VOL_CAP_FMT_JOURNAL_ACTIVE = 0x00000010
  43744. const m_VOL_CAP_FMT_NO_IMMUTABLE_FILES = 0x00200000
  43745. const m_VOL_CAP_FMT_NO_PERMISSIONS = 0x00400000
  43746. const m_VOL_CAP_FMT_NO_ROOT_TIMES = 0x00000020
  43747. const m_VOL_CAP_FMT_NO_VOLUME_SIZES = 0x00008000
  43748. const m_VOL_CAP_FMT_OPENDENYMODES = 0x00001000
  43749. const m_VOL_CAP_FMT_PATH_FROM_ID = 0x00004000
  43750. const m_VOL_CAP_FMT_PERSISTENTOBJECTIDS = 0x00000001
  43751. const m_VOL_CAP_FMT_SEALED = 0x02000000
  43752. const m_VOL_CAP_FMT_SHARED_SPACE = 0x00800000
  43753. const m_VOL_CAP_FMT_SPARSE_FILES = 0x00000040
  43754. const m_VOL_CAP_FMT_SYMBOLICLINKS = 0x00000002
  43755. const m_VOL_CAP_FMT_VOL_GROUPS = 0x01000000
  43756. const m_VOL_CAP_FMT_WRITE_GENERATION_COUNT = 0x00100000
  43757. const m_VOL_CAP_FMT_ZERO_RUNS = 0x00000080
  43758. const m_VOL_CAP_INT_ADVLOCK = 0x00000100
  43759. const m_VOL_CAP_INT_ALLOCATE = 0x00000040
  43760. const m_VOL_CAP_INT_ATTRIBUTION_TAG = 0x00400000
  43761. const m_VOL_CAP_INT_ATTRLIST = 0x00000002
  43762. const m_VOL_CAP_INT_CLONE = 0x00010000
  43763. const m_VOL_CAP_INT_COPYFILE = 0x00000020
  43764. const m_VOL_CAP_INT_EXCHANGEDATA = 0x00000010
  43765. const m_VOL_CAP_INT_EXTENDED_ATTR = 0x00004000
  43766. const m_VOL_CAP_INT_EXTENDED_SECURITY = 0x00000400
  43767. const m_VOL_CAP_INT_FLOCK = 0x00000200
  43768. const m_VOL_CAP_INT_MANLOCK = 0x00001000
  43769. const m_VOL_CAP_INT_NAMEDSTREAMS = 0x00002000
  43770. const m_VOL_CAP_INT_NFSEXPORT = 0x00000004
  43771. const m_VOL_CAP_INT_PUNCHHOLE = 0x00800000
  43772. const m_VOL_CAP_INT_READDIRATTR = 0x00000008
  43773. const m_VOL_CAP_INT_RENAME_EXCL = 0x00080000
  43774. const m_VOL_CAP_INT_RENAME_OPENFAIL = 0x00100000
  43775. const m_VOL_CAP_INT_RENAME_SECLUDE = 0x00200000
  43776. const m_VOL_CAP_INT_RENAME_SWAP = 0x00040000
  43777. const m_VOL_CAP_INT_SEARCHFS = 0x00000001
  43778. const m_VOL_CAP_INT_SNAPSHOT = 0x00020000
  43779. const m_VOL_CAP_INT_USERACCESS = 0x00000800
  43780. const m_VOL_CAP_INT_VOL_RENAME = 0x00000080
  43781. const m_VQ_ASSIST = 0x0040
  43782. const m_VQ_DEAD = 0x0020
  43783. const m_VQ_DESIRED_DISK = 0x4000
  43784. const m_VQ_FLAG20000 = 0x20000
  43785. const m_VQ_FREE_SPACE_CHANGE = 0x8000
  43786. const m_VQ_LOWDISK = 0x0004
  43787. const m_VQ_MOUNT = 0x0008
  43788. const m_VQ_NEARLOWDISK = 0x2000
  43789. const m_VQ_NEEDAUTH = 0x0002
  43790. const m_VQ_NOTRESP = 0x0001
  43791. const m_VQ_NOTRESPLOCK = 0x0080
  43792. const m_VQ_PURGEABLE_SPACE_CHANGE = 0x10000
  43793. const m_VQ_QUOTA = 0x1000
  43794. const m_VQ_SERVEREVENT = 0x0800
  43795. const m_VQ_SYNCEVENT = 0x0400
  43796. const m_VQ_UNMOUNT = 0x0010
  43797. const m_VQ_UPDATE = 0x0100
  43798. const m_VQ_VERYLOWDISK = 0x0200
  43799. const m_XUCRED_VERSION = 0
  43800. type Tfssearchblock = struct {
  43801. Freturnattrs uintptr
  43802. Freturnbuffer uintptr
  43803. Freturnbuffersize Tsize_t
  43804. Fmaxmatches Tu_long
  43805. Ftimelimit Ttimeval
  43806. Fsearchparams1 uintptr
  43807. Fsizeofsearchparams1 Tsize_t
  43808. Fsearchparams2 uintptr
  43809. Fsizeofsearchparams2 Tsize_t
  43810. Fsearchattrs Tattrlist
  43811. }
  43812. type Tsearchstate = struct {
  43813. Fss_union_flags Tuint32_t
  43814. Fss_union_layer Tuint32_t
  43815. Fss_fsstate [548]Tu_char
  43816. }
  43817. type Tstatvfs = struct {
  43818. Ff_bsize uint64
  43819. Ff_frsize uint64
  43820. Ff_blocks Tfsblkcnt_t
  43821. Ff_bfree Tfsblkcnt_t
  43822. Ff_bavail Tfsblkcnt_t
  43823. Ff_files Tfsfilcnt_t
  43824. Ff_ffree Tfsfilcnt_t
  43825. Ff_favail Tfsfilcnt_t
  43826. Ff_fsid uint64
  43827. Ff_flag uint64
  43828. Ff_namemax uint64
  43829. }
  43830. type Tau_id_t = uint32
  43831. type Tau_asid_t = int32
  43832. type Tau_event_t = uint16
  43833. type Tau_emod_t = uint16
  43834. type Tau_class_t = uint32
  43835. type Tau_asflgs_t = uint64
  43836. type Tau_ctlmode_t = uint8
  43837. type Tau_tid = struct {
  43838. Fport Tdev_t
  43839. Fmachine Tu_int32_t
  43840. }
  43841. type Tau_tid_t = struct {
  43842. Fport Tdev_t
  43843. Fmachine Tu_int32_t
  43844. }
  43845. type Tau_tid_addr = struct {
  43846. Fat_port Tdev_t
  43847. Fat_type Tu_int32_t
  43848. Fat_addr [4]Tu_int32_t
  43849. }
  43850. type Tau_tid_addr_t = struct {
  43851. Fat_port Tdev_t
  43852. Fat_type Tu_int32_t
  43853. Fat_addr [4]Tu_int32_t
  43854. }
  43855. type Tau_mask = struct {
  43856. Fam_success uint32
  43857. Fam_failure uint32
  43858. }
  43859. type Tau_mask_t = struct {
  43860. Fam_success uint32
  43861. Fam_failure uint32
  43862. }
  43863. type Tauditinfo = struct {
  43864. Fai_auid Tau_id_t
  43865. Fai_mask Tau_mask_t
  43866. Fai_termid Tau_tid_t
  43867. Fai_asid Tau_asid_t
  43868. }
  43869. type Tauditinfo_t = struct {
  43870. Fai_auid Tau_id_t
  43871. Fai_mask Tau_mask_t
  43872. Fai_termid Tau_tid_t
  43873. Fai_asid Tau_asid_t
  43874. }
  43875. type Tauditinfo_addr = struct {
  43876. Fai_auid Tau_id_t
  43877. Fai_mask Tau_mask_t
  43878. Fai_termid Tau_tid_addr_t
  43879. Fai_asid Tau_asid_t
  43880. Fai_flags Tau_asflgs_t
  43881. }
  43882. type Tauditinfo_addr_t = struct {
  43883. Fai_auid Tau_id_t
  43884. Fai_mask Tau_mask_t
  43885. Fai_termid Tau_tid_addr_t
  43886. Fai_asid Tau_asid_t
  43887. Fai_flags Tau_asflgs_t
  43888. }
  43889. type Tauditpinfo = struct {
  43890. Fap_pid Tpid_t
  43891. Fap_auid Tau_id_t
  43892. Fap_mask Tau_mask_t
  43893. Fap_termid Tau_tid_t
  43894. Fap_asid Tau_asid_t
  43895. }
  43896. type Tauditpinfo_t = struct {
  43897. Fap_pid Tpid_t
  43898. Fap_auid Tau_id_t
  43899. Fap_mask Tau_mask_t
  43900. Fap_termid Tau_tid_t
  43901. Fap_asid Tau_asid_t
  43902. }
  43903. type Tauditpinfo_addr = struct {
  43904. Fap_pid Tpid_t
  43905. Fap_auid Tau_id_t
  43906. Fap_mask Tau_mask_t
  43907. Fap_termid Tau_tid_addr_t
  43908. Fap_asid Tau_asid_t
  43909. Fap_flags Tau_asflgs_t
  43910. }
  43911. type Tauditpinfo_addr_t = struct {
  43912. Fap_pid Tpid_t
  43913. Fap_auid Tau_id_t
  43914. Fap_mask Tau_mask_t
  43915. Fap_termid Tau_tid_addr_t
  43916. Fap_asid Tau_asid_t
  43917. Fap_flags Tau_asflgs_t
  43918. }
  43919. type Tau_session = struct {
  43920. Fas_aia_p uintptr
  43921. Fas_mask Tau_mask_t
  43922. }
  43923. type Tau_session_t = struct {
  43924. Fas_aia_p uintptr
  43925. Fas_mask Tau_mask_t
  43926. }
  43927. type Tau_expire_after = struct {
  43928. Fage Ttime_t
  43929. Fsize Tsize_t
  43930. Fop_type uint8
  43931. }
  43932. type Tau_expire_after_t = struct {
  43933. Fage Ttime_t
  43934. Fsize Tsize_t
  43935. Fop_type uint8
  43936. }
  43937. type Tau_qctrl = struct {
  43938. Faq_hiwater int32
  43939. Faq_lowater int32
  43940. Faq_bufsz int32
  43941. Faq_delay int32
  43942. Faq_minfree int32
  43943. }
  43944. type Tau_qctrl_t = struct {
  43945. Faq_hiwater int32
  43946. Faq_lowater int32
  43947. Faq_bufsz int32
  43948. Faq_delay int32
  43949. Faq_minfree int32
  43950. }
  43951. type Taudit_stat = struct {
  43952. Fas_version uint32
  43953. Fas_numevent uint32
  43954. Fas_generated int32
  43955. Fas_nonattrib int32
  43956. Fas_kernel int32
  43957. Fas_audit int32
  43958. Fas_auditctl int32
  43959. Fas_enqueue int32
  43960. Fas_written int32
  43961. Fas_wblocked int32
  43962. Fas_rblocked int32
  43963. Fas_dropped int32
  43964. Fas_totalsize int32
  43965. Fas_memused uint32
  43966. }
  43967. type Tau_stat_t = struct {
  43968. Fas_version uint32
  43969. Fas_numevent uint32
  43970. Fas_generated int32
  43971. Fas_nonattrib int32
  43972. Fas_kernel int32
  43973. Fas_audit int32
  43974. Fas_auditctl int32
  43975. Fas_enqueue int32
  43976. Fas_written int32
  43977. Fas_wblocked int32
  43978. Fas_rblocked int32
  43979. Fas_dropped int32
  43980. Fas_totalsize int32
  43981. Fas_memused uint32
  43982. }
  43983. type Taudit_fstat = struct {
  43984. Faf_filesz Tu_int64_t
  43985. Faf_currsz Tu_int64_t
  43986. }
  43987. type Tau_fstat_t = struct {
  43988. Faf_filesz Tu_int64_t
  43989. Faf_currsz Tu_int64_t
  43990. }
  43991. type Tau_evclass_map = struct {
  43992. Fec_number Tau_event_t
  43993. Fec_class Tau_class_t
  43994. }
  43995. type Tau_evclass_map_t = struct {
  43996. Fec_number Tau_event_t
  43997. Fec_class Tau_class_t
  43998. }
  43999. type _audit_session_flags = int32
  44000. const _AU_SESSION_FLAG_IS_INITIAL = 1
  44001. const _AU_SESSION_FLAG_HAS_GRAPHIC_ACCESS = 16
  44002. const _AU_SESSION_FLAG_HAS_TTY = 32
  44003. const _AU_SESSION_FLAG_IS_REMOTE = 4096
  44004. const _AU_SESSION_FLAG_HAS_CONSOLE_ACCESS = 8192
  44005. const _AU_SESSION_FLAG_HAS_AUTHENTICATED = 16384
  44006. type Tboolean_t = uint32
  44007. type Tnatural_t = uint32
  44008. type Tinteger_t = int32
  44009. type Tvm_offset_t = uint64
  44010. type Tvm_size_t = uint64
  44011. type Tmach_vm_address_t = uint64
  44012. type Tmach_vm_offset_t = uint64
  44013. type Tmach_vm_size_t = uint64
  44014. type Tvm_map_offset_t = uint64
  44015. type Tvm_map_address_t = uint64
  44016. type Tvm_map_size_t = uint64
  44017. type Tmach_port_context_t = uint64
  44018. type Tmach_port_name_t = uint32
  44019. type Tmach_port_name_array_t = uintptr
  44020. type Tmach_port_t = uint32
  44021. type Tmach_port_array_t = uintptr
  44022. type Tmach_port_right_t = uint32
  44023. type Tmach_port_type_t = uint32
  44024. type Tmach_port_type_array_t = uintptr
  44025. type Tmach_port_urefs_t = uint32
  44026. type Tmach_port_delta_t = int32
  44027. type Tmach_port_seqno_t = uint32
  44028. type Tmach_port_mscount_t = uint32
  44029. type Tmach_port_msgcount_t = uint32
  44030. type Tmach_port_rights_t = uint32
  44031. type Tmach_port_srights_t = uint32
  44032. type Tmach_port_status_t = struct {
  44033. Fmps_pset Tmach_port_rights_t
  44034. Fmps_seqno Tmach_port_seqno_t
  44035. Fmps_mscount Tmach_port_mscount_t
  44036. Fmps_qlimit Tmach_port_msgcount_t
  44037. Fmps_msgcount Tmach_port_msgcount_t
  44038. Fmps_sorights Tmach_port_rights_t
  44039. Fmps_srights Tboolean_t
  44040. Fmps_pdrequest Tboolean_t
  44041. Fmps_nsrequest Tboolean_t
  44042. Fmps_flags Tnatural_t
  44043. }
  44044. type Tmach_port_status = Tmach_port_status_t
  44045. type Tmach_port_limits_t = struct {
  44046. Fmpl_qlimit Tmach_port_msgcount_t
  44047. }
  44048. type Tmach_port_limits = Tmach_port_limits_t
  44049. type Tmach_port_info_ext_t = struct {
  44050. Fmpie_status Tmach_port_status_t
  44051. Fmpie_boost_cnt Tmach_port_msgcount_t
  44052. Freserved [6]Tuint32_t
  44053. }
  44054. type Tmach_port_info_ext = Tmach_port_info_ext_t
  44055. type Tmach_port_guard_info_t = struct {
  44056. Fmpgi_guard Tuint64_t
  44057. }
  44058. type Tmach_port_guard_info = Tmach_port_guard_info_t
  44059. type Tmach_port_info_t = uintptr
  44060. type Tmach_port_flavor_t = int32
  44061. type Tmach_port_qos_t = struct {
  44062. F__ccgo0 uint32
  44063. Flen1 Tnatural_t
  44064. }
  44065. type Tmach_port_qos = Tmach_port_qos_t
  44066. type Tmach_service_port_info_data_t = struct {
  44067. Fmspi_string_name [255]int8
  44068. Fmspi_domain_type Tuint8_t
  44069. }
  44070. type Tmach_service_port_info = Tmach_service_port_info_data_t
  44071. type Tmach_service_port_info_t = uintptr
  44072. type Tmach_port_options_t = struct {
  44073. Fflags Tuint32_t
  44074. Fmpl Tmach_port_limits_t
  44075. F__ccgo2_8 struct {
  44076. Fwork_interval_port [0]Tmach_port_name_t
  44077. Fservice_port_info [0]Tmach_service_port_info_t
  44078. Fservice_port_name [0]Tmach_port_name_t
  44079. Freserved [2]Tuint64_t
  44080. }
  44081. }
  44082. type Tmach_port_options = Tmach_port_options_t
  44083. type Tmach_port_options_ptr_t = uintptr
  44084. type _mach_port_guard_exception_codes = int32
  44085. const _kGUARD_EXC_DESTROY = 1
  44086. const _kGUARD_EXC_MOD_REFS = 2
  44087. const _kGUARD_EXC_INVALID_OPTIONS = 3
  44088. const _kGUARD_EXC_SET_CONTEXT = 4
  44089. const _kGUARD_EXC_THREAD_SET_STATE = 5
  44090. const _kGUARD_EXC_EXCEPTION_BEHAVIOR_ENFORCE = 6
  44091. const _kGUARD_EXC_UNGUARDED = 8
  44092. const _kGUARD_EXC_INCORRECT_GUARD = 16
  44093. const _kGUARD_EXC_IMMOVABLE = 32
  44094. const _kGUARD_EXC_STRICT_REPLY = 64
  44095. const _kGUARD_EXC_MSG_FILTERED = 128
  44096. const _kGUARD_EXC_INVALID_RIGHT = 256
  44097. const _kGUARD_EXC_INVALID_NAME = 512
  44098. const _kGUARD_EXC_INVALID_VALUE = 1024
  44099. const _kGUARD_EXC_INVALID_ARGUMENT = 2048
  44100. const _kGUARD_EXC_RIGHT_EXISTS = 4096
  44101. const _kGUARD_EXC_KERN_NO_SPACE = 8192
  44102. const _kGUARD_EXC_KERN_FAILURE = 16384
  44103. const _kGUARD_EXC_KERN_RESOURCE = 32768
  44104. const _kGUARD_EXC_SEND_INVALID_REPLY = 65536
  44105. const _kGUARD_EXC_SEND_INVALID_VOUCHER = 131072
  44106. const _kGUARD_EXC_SEND_INVALID_RIGHT = 262144
  44107. const _kGUARD_EXC_RCV_INVALID_NAME = 524288
  44108. const _kGUARD_EXC_RCV_GUARDED_DESC = 1048576
  44109. const _kGUARD_EXC_MOD_REFS_NON_FATAL = 2097152
  44110. const _kGUARD_EXC_IMMOVABLE_NON_FATAL = 4194304
  44111. const _kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 8388608
  44112. type Tkauth_cred_t = uintptr
  44113. type Tposix_cred_t = uintptr
  44114. type Txucred = struct {
  44115. Fcr_version Tu_int
  44116. Fcr_uid Tuid_t
  44117. Fcr_ngroups int16
  44118. Fcr_groups [16]Tgid_t
  44119. }
  44120. type Ttext_encoding_t = uint32
  44121. type Tfsobj_type_t = uint32
  44122. type Tfsobj_tag_t = uint32
  44123. type Tfsfile_type_t = uint32
  44124. type Tfsvolid_t = uint32
  44125. type Tfsobj_id_t = struct {
  44126. Ffid_objno Tu_int32_t
  44127. Ffid_generation Tu_int32_t
  44128. }
  44129. type Tfsobj_id = Tfsobj_id_t
  44130. type Tattrgroup_t = uint32
  44131. type Tattrlist = struct {
  44132. Fbitmapcount Tu_short
  44133. Freserved Tu_int16_t
  44134. Fcommonattr Tattrgroup_t
  44135. Fvolattr Tattrgroup_t
  44136. Fdirattr Tattrgroup_t
  44137. Ffileattr Tattrgroup_t
  44138. Fforkattr Tattrgroup_t
  44139. }
  44140. type Tattribute_set_t = struct {
  44141. Fcommonattr Tattrgroup_t
  44142. Fvolattr Tattrgroup_t
  44143. Fdirattr Tattrgroup_t
  44144. Ffileattr Tattrgroup_t
  44145. Fforkattr Tattrgroup_t
  44146. }
  44147. type Tattribute_set = Tattribute_set_t
  44148. type Tattrreference_t = struct {
  44149. Fattr_dataoffset Tint32_t
  44150. Fattr_length Tu_int32_t
  44151. }
  44152. type Tattrreference = Tattrreference_t
  44153. type Tdiskextent = struct {
  44154. Fstartblock Tu_int32_t
  44155. Fblockcount Tu_int32_t
  44156. }
  44157. type Textentrecord = [8]Tdiskextent
  44158. type Tvol_capabilities_set_t = [4]Tu_int32_t
  44159. type Tvol_capabilities_attr_t = struct {
  44160. Fcapabilities Tvol_capabilities_set_t
  44161. Fvalid Tvol_capabilities_set_t
  44162. }
  44163. type Tvol_capabilities_attr = Tvol_capabilities_attr_t
  44164. type Tvol_attributes_attr_t = struct {
  44165. Fvalidattr Tattribute_set_t
  44166. Fnativeattr Tattribute_set_t
  44167. }
  44168. type Tvol_attributes_attr = Tvol_attributes_attr_t
  44169. type Tos_function_t = uintptr
  44170. type Tos_block_t = uintptr
  44171. type Tfsid_t = struct {
  44172. Fval [2]Tint32_t
  44173. }
  44174. type Tfsid = Tfsid_t
  44175. type Tsecure_boot_cryptex_args_t = struct {
  44176. Fsbc_version Tu_int32_t
  44177. Fsbc_4cc Tu_int32_t
  44178. Fsbc_authentic_manifest_fd int32
  44179. Fsbc_user_manifest_fd int32
  44180. Fsbc_payload_fd int32
  44181. Fsbc_flags Tu_int64_t
  44182. }
  44183. type Tsecure_boot_cryptex_args = Tsecure_boot_cryptex_args_t
  44184. type Tgraftdmg_args_un = struct {
  44185. Fsbc_args [0]Tsecure_boot_cryptex_args_t
  44186. Fmax_size [512]Tu_int8_t
  44187. }
  44188. type Tgraft_args = Tgraftdmg_args_un
  44189. type Tmount_t = uintptr
  44190. type Tvnode_t = uintptr
  44191. type Tstatfs64 = struct {
  44192. Ff_bsize Tuint32_t
  44193. Ff_iosize Tint32_t
  44194. Ff_blocks Tuint64_t
  44195. Ff_bfree Tuint64_t
  44196. Ff_bavail Tuint64_t
  44197. Ff_files Tuint64_t
  44198. Ff_ffree Tuint64_t
  44199. Ff_fsid Tfsid_t
  44200. Ff_owner Tuid_t
  44201. Ff_type Tuint32_t
  44202. Ff_flags Tuint32_t
  44203. Ff_fssubtype Tuint32_t
  44204. Ff_fstypename [16]int8
  44205. Ff_mntonname [1024]int8
  44206. Ff_mntfromname [1024]int8
  44207. Ff_flags_ext Tuint32_t
  44208. Ff_reserved [7]Tuint32_t
  44209. }
  44210. type Tstatfs = struct {
  44211. Ff_bsize Tuint32_t
  44212. Ff_iosize Tint32_t
  44213. Ff_blocks Tuint64_t
  44214. Ff_bfree Tuint64_t
  44215. Ff_bavail Tuint64_t
  44216. Ff_files Tuint64_t
  44217. Ff_ffree Tuint64_t
  44218. Ff_fsid Tfsid_t
  44219. Ff_owner Tuid_t
  44220. Ff_type Tuint32_t
  44221. Ff_flags Tuint32_t
  44222. Ff_fssubtype Tuint32_t
  44223. Ff_fstypename [16]int8
  44224. Ff_mntonname [1024]int8
  44225. Ff_mntfromname [1024]int8
  44226. Ff_flags_ext Tuint32_t
  44227. Ff_reserved [7]Tuint32_t
  44228. }
  44229. type Tvfsstatfs = struct {
  44230. Ff_bsize Tuint32_t
  44231. Ff_iosize Tsize_t
  44232. Ff_blocks Tuint64_t
  44233. Ff_bfree Tuint64_t
  44234. Ff_bavail Tuint64_t
  44235. Ff_bused Tuint64_t
  44236. Ff_files Tuint64_t
  44237. Ff_ffree Tuint64_t
  44238. Ff_fsid Tfsid_t
  44239. Ff_owner Tuid_t
  44240. Ff_flags Tuint64_t
  44241. Ff_fstypename [16]int8
  44242. Ff_mntonname [1024]int8
  44243. Ff_mntfromname [1024]int8
  44244. Ff_fssubtype Tuint32_t
  44245. Ff_reserved [2]uintptr
  44246. }
  44247. type Tvfsconf = struct {
  44248. Fvfc_reserved1 Tuint32_t
  44249. Fvfc_name [15]int8
  44250. Fvfc_typenum int32
  44251. Fvfc_refcount int32
  44252. Fvfc_flags int32
  44253. Fvfc_reserved2 Tuint32_t
  44254. Fvfc_reserved3 Tuint32_t
  44255. }
  44256. type Tvfsidctl = struct {
  44257. Fvc_vers int32
  44258. Fvc_fsid Tfsid_t
  44259. Fvc_ptr uintptr
  44260. Fvc_len Tsize_t
  44261. Fvc_spare [12]Tu_int32_t
  44262. }
  44263. type Tvfsquery = struct {
  44264. Fvq_flags Tu_int32_t
  44265. Fvq_spare [31]Tu_int32_t
  44266. }
  44267. type Tvfs_server = struct {
  44268. Fvs_minutes Tint32_t
  44269. Fvs_server_name [768]Tu_int8_t
  44270. }
  44271. type Tnetfs_status = struct {
  44272. F__ccgo_align [0]uint64
  44273. Fns_status Tu_int32_t
  44274. Fns_mountopts [512]int8
  44275. Fns_waittime Tuint32_t
  44276. Fns_threadcount Tuint32_t
  44277. }
  44278. type Tfhandle = struct {
  44279. Ffh_len uint32
  44280. Ffh_data [128]uint8
  44281. }
  44282. type Tfhandle_t = struct {
  44283. Ffh_len uint32
  44284. Ffh_data [128]uint8
  44285. }
  44286. type Tgraftdmg_type_t = uint32
  44287. const _GRAFTDMG_CRYPTEX_BOOT = 1
  44288. const _GRAFTDMG_CRYPTEX_PREBOOT = 2
  44289. const _GRAFTDMG_CRYPTEX_DOWNLEVEL = 3
  44290. const _GRAFTDMG_CRYPTEX_PDI_NONCE = 6
  44291. const _GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7
  44292. const _GRAFTDMG_CRYPTEX_MOBILE_ASSET = 8
  44293. const _GRAFTDMG_CRYPTEX_MAX = 8
  44294. type Tcryptex_auth_type_t = uint32
  44295. const _CRYPTEX1_AUTH_ENV_GENERIC = 4
  44296. const _CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5
  44297. const _CRYPTEX_AUTH_PDI_NONCE = 6
  44298. const _CRYPTEX_AUTH_MOBILE_ASSET = 8
  44299. const _CRYPTEX_AUTH_MAX = 8
  44300. /*
  44301. * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  44302. *
  44303. * @APPLE_LICENSE_HEADER_START@
  44304. *
  44305. * This file contains Original Code and/or Modifications of Original Code
  44306. * as defined in and that are subject to the Apple Public Source License
  44307. * Version 2.0 (the 'License'). You may not use this file except in
  44308. * compliance with the License. Please obtain a copy of the License at
  44309. * http://www.opensource.apple.com/apsl/ and read it before using this
  44310. * file.
  44311. *
  44312. * The Original Code and all software distributed under the License are
  44313. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44314. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44315. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44316. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44317. * Please see the License for the specific language governing rights and
  44318. * limitations under the License.
  44319. *
  44320. * @APPLE_LICENSE_HEADER_END@
  44321. */
  44322. /*
  44323. * Copyright (c) 2000-2012 Apple, Inc. All rights reserved.
  44324. *
  44325. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  44326. *
  44327. * This file contains Original Code and/or Modifications of Original Code
  44328. * as defined in and that are subject to the Apple Public Source License
  44329. * Version 2.0 (the 'License'). You may not use this file except in
  44330. * compliance with the License. The rights granted to you under the License
  44331. * may not be used to create, or enable the creation or redistribution of,
  44332. * unlawful or unlicensed copies of an Apple operating system, or to
  44333. * circumvent, violate, or enable the circumvention or violation of, any
  44334. * terms of an Apple operating system software license agreement.
  44335. *
  44336. * Please obtain a copy of the License at
  44337. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  44338. *
  44339. * The Original Code and all software distributed under the License are
  44340. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44341. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44342. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44343. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44344. * Please see the License for the specific language governing rights and
  44345. * limitations under the License.
  44346. *
  44347. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  44348. */
  44349. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  44350. /*
  44351. * Copyright (c) 1982, 1986, 1989, 1993
  44352. * The Regents of the University of California. All rights reserved.
  44353. * (c) UNIX System Laboratories, Inc.
  44354. * All or some portions of this file are derived from material licensed
  44355. * to the University of California by American Telephone and Telegraph
  44356. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  44357. * the permission of UNIX System Laboratories, Inc.
  44358. *
  44359. * Redistribution and use in source and binary forms, with or without
  44360. * modification, are permitted provided that the following conditions
  44361. * are met:
  44362. * 1. Redistributions of source code must retain the above copyright
  44363. * notice, this list of conditions and the following disclaimer.
  44364. * 2. Redistributions in binary form must reproduce the above copyright
  44365. * notice, this list of conditions and the following disclaimer in the
  44366. * documentation and/or other materials provided with the distribution.
  44367. * 3. All advertising materials mentioning features or use of this software
  44368. * must display the following acknowledgement:
  44369. * This product includes software developed by the University of
  44370. * California, Berkeley and its contributors.
  44371. * 4. Neither the name of the University nor the names of its contributors
  44372. * may be used to endorse or promote products derived from this software
  44373. * without specific prior written permission.
  44374. *
  44375. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44376. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44377. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44378. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44379. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44380. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44381. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44382. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44383. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44384. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44385. * SUCH DAMAGE.
  44386. *
  44387. * @(#)errno.h 8.5 (Berkeley) 1/21/94
  44388. */
  44389. func XFcStat(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  44390. return libc.Xstat(tls, file, statb)
  44391. }
  44392. /* Adler-32 checksum implementation */
  44393. type TAdler32 = struct {
  44394. Fa int32
  44395. Fb int32
  44396. }
  44397. func _Adler32Init(tls *libc.TLS, ctx uintptr) {
  44398. (*TAdler32)(unsafe.Pointer(ctx)).Fa = int32(1)
  44399. (*TAdler32)(unsafe.Pointer(ctx)).Fb = 0
  44400. }
  44401. func _Adler32Update(tls *libc.TLS, ctx uintptr, data uintptr, data_len int32) {
  44402. var v1 int32
  44403. var v2 uintptr
  44404. _, _ = v1, v2
  44405. for {
  44406. v1 = data_len
  44407. data_len--
  44408. if !(v1 != 0) {
  44409. break
  44410. }
  44411. v2 = data
  44412. data++
  44413. (*TAdler32)(unsafe.Pointer(ctx)).Fa = ((*TAdler32)(unsafe.Pointer(ctx)).Fa + int32(*(*int8)(unsafe.Pointer(v2)))) % int32(65521)
  44414. (*TAdler32)(unsafe.Pointer(ctx)).Fb = ((*TAdler32)(unsafe.Pointer(ctx)).Fb + (*TAdler32)(unsafe.Pointer(ctx)).Fa) % int32(65521)
  44415. }
  44416. }
  44417. func _Adler32Finish(tls *libc.TLS, ctx uintptr) (r int32) {
  44418. return (*TAdler32)(unsafe.Pointer(ctx)).Fa + (*TAdler32)(unsafe.Pointer(ctx)).Fb<<int32(16)
  44419. }
  44420. // C documentation
  44421. //
  44422. // /* dirent.d_type can be relied upon on FAT filesystem */
  44423. func _FcDirChecksumScandirFilter(tls *libc.TLS, entry uintptr) (r TFcBool) {
  44424. return libc.BoolInt32(libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(entry)).Fd_type) != int32(m_DT_DIR))
  44425. }
  44426. func _FcDirChecksumScandirSorter(tls *libc.TLS, lhs uintptr, rhs uintptr) (r int32) {
  44427. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(lhs))+21, *(*uintptr)(unsafe.Pointer(rhs))+21)
  44428. }
  44429. func _free_dirent(tls *libc.TLS, p uintptr) {
  44430. var x uintptr
  44431. _ = x
  44432. x = p
  44433. for {
  44434. if !(*(*uintptr)(unsafe.Pointer(x)) != libc.UintptrFromInt32(0)) {
  44435. break
  44436. }
  44437. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(x)))
  44438. goto _1
  44439. _1:
  44440. ;
  44441. x += 8
  44442. }
  44443. libc.Xfree(tls, p)
  44444. }
  44445. func XFcScandir(tls *libc.TLS, dirp uintptr, namelist uintptr, filter uintptr, compar uintptr) (r int32) {
  44446. var d, dent, dlist, dlp, p, v1 uintptr
  44447. var dentlen, lsize, n, v2 Tsize_t
  44448. _, _, _, _, _, _, _, _, _, _ = d, dent, dentlen, dlist, dlp, lsize, n, p, v1, v2
  44449. lsize = uint64(128)
  44450. n = uint64(0)
  44451. d = libc.Xopendir(tls, dirp)
  44452. if !(d != 0) {
  44453. return -int32(1)
  44454. }
  44455. dlist = libc.Xmalloc(tls, uint64(8)*lsize)
  44456. if !(dlist != 0) {
  44457. libc.Xclosedir(tls, d)
  44458. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = int32(m_ENOMEM)
  44459. return -int32(1)
  44460. }
  44461. *(*uintptr)(unsafe.Pointer(dlist)) = libc.UintptrFromInt32(0)
  44462. for {
  44463. v1 = libc.Xreaddir(tls, d)
  44464. dent = v1
  44465. if !(v1 != 0) {
  44466. break
  44467. }
  44468. if !(filter != 0) || (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{filter})))(tls, dent) != 0 {
  44469. dentlen = libc.Uint64FromInt64(Tintptr_t(dent+21)-int64(dent)) + libc.Xstrlen(tls, dent+21) + uint64(1)
  44470. dentlen = (dentlen + libc.Uint64FromInt32(m_ALIGNOF_VOID_P) - libc.Uint64FromInt32(1)) & libc.Uint64FromInt32(^(libc.Int32FromInt32(m_ALIGNOF_VOID_P) - libc.Int32FromInt32(1)))
  44471. p = libc.Xmalloc(tls, dentlen)
  44472. if !(p != 0) {
  44473. _free_dirent(tls, dlist)
  44474. libc.Xclosedir(tls, d)
  44475. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = int32(m_ENOMEM)
  44476. return -int32(1)
  44477. }
  44478. libc.X__builtin___memcpy_chk(tls, p, dent, dentlen, ^t__predefined_size_t(0))
  44479. if n+uint64(1) >= lsize {
  44480. lsize += uint64(128)
  44481. dlp = libc.Xrealloc(tls, dlist, uint64(8)*lsize)
  44482. if !(dlp != 0) {
  44483. libc.Xfree(tls, p)
  44484. _free_dirent(tls, dlist)
  44485. libc.Xclosedir(tls, d)
  44486. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = int32(m_ENOMEM)
  44487. return -int32(1)
  44488. }
  44489. dlist = dlp
  44490. }
  44491. v2 = n
  44492. n++
  44493. *(*uintptr)(unsafe.Pointer(dlist + uintptr(v2)*8)) = p
  44494. *(*uintptr)(unsafe.Pointer(dlist + uintptr(n)*8)) = libc.UintptrFromInt32(0)
  44495. }
  44496. }
  44497. libc.Xclosedir(tls, d)
  44498. libc.Xqsort(tls, dlist, n, uint64(8), compar)
  44499. *(*uintptr)(unsafe.Pointer(namelist)) = dlist
  44500. return libc.Int32FromUint64(n)
  44501. }
  44502. func _FcDirChecksum1(tls *libc.TLS, dir uintptr, checksum uintptr) (r int32) {
  44503. bp := tls.Alloc(176)
  44504. defer tls.Free(176)
  44505. var dlen, len1 Tsize_t
  44506. var f uintptr
  44507. var n, ret, v1 int32
  44508. var _ /* ctx at bp+0 */ TAdler32
  44509. var _ /* dtype at bp+16 */ int32
  44510. var _ /* files at bp+8 */ uintptr
  44511. var _ /* statb at bp+24 */ Tstat
  44512. _, _, _, _, _, _ = dlen, f, len1, n, ret, v1
  44513. ret = 0
  44514. len1 = libc.Xstrlen(tls, dir)
  44515. _Adler32Init(tls, bp)
  44516. n = XFcScandir(tls, dir, bp+8, __ccgo_fp(_FcDirChecksumScandirFilter), __ccgo_fp(_FcDirChecksumScandirSorter))
  44517. if n == -int32(1) {
  44518. return -int32(1)
  44519. }
  44520. for {
  44521. v1 = n
  44522. n--
  44523. if !(v1 != 0) {
  44524. break
  44525. }
  44526. dlen = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+21)
  44527. *(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))).Fd_type)
  44528. if *(*int32)(unsafe.Pointer(bp + 16)) == m_DT_UNKNOWN {
  44529. f = libc.Xmalloc(tls, len1+uint64(1)+dlen+uint64(1))
  44530. if !(f != 0) {
  44531. ret = -int32(1)
  44532. goto bail
  44533. }
  44534. libc.X__builtin___memcpy_chk(tls, f, dir, len1, ^t__predefined_size_t(0))
  44535. *(*int8)(unsafe.Pointer(f + uintptr(len1))) = int8('/')
  44536. libc.X__builtin___memcpy_chk(tls, f+uintptr(len1+uint64(1)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+21, dlen, ^t__predefined_size_t(0))
  44537. *(*int8)(unsafe.Pointer(f + uintptr(len1+uint64(1)+dlen))) = 0
  44538. if libc.Xlstat(tls, f, bp+24) < 0 {
  44539. ret = -int32(1)
  44540. libc.Xfree(tls, f)
  44541. goto bail
  44542. }
  44543. if libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode)&int32(m_S_IFMT5) == int32(m_S_IFDIR3) {
  44544. libc.Xfree(tls, f)
  44545. goto bail
  44546. }
  44547. libc.Xfree(tls, f)
  44548. *(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode)
  44549. }
  44550. _Adler32Update(tls, bp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+21, libc.Int32FromUint64(dlen+uint64(1)))
  44551. _Adler32Update(tls, bp, bp+16, int32(4))
  44552. goto bail
  44553. bail:
  44554. ;
  44555. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))
  44556. }
  44557. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  44558. if ret == -int32(1) {
  44559. return -int32(1)
  44560. }
  44561. *(*Ttime_t)(unsafe.Pointer(checksum)) = int64(_Adler32Finish(tls, bp))
  44562. return 0
  44563. }
  44564. func XFcStatChecksum(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  44565. if XFcStat(tls, file, statb) == -int32(1) {
  44566. return -int32(1)
  44567. }
  44568. /* We have a workaround of the broken stat() in FcStat() for Win32.
  44569. * No need to do something further more.
  44570. */
  44571. if XFcIsFsMtimeBroken(tls, file) != 0 {
  44572. if _FcDirChecksum1(tls, file, statb+48) == -int32(1) {
  44573. return -int32(1)
  44574. }
  44575. }
  44576. return 0
  44577. }
  44578. func _FcFStatFs(tls *libc.TLS, fd int32, statb uintptr) (r int32) {
  44579. bp := tls.Alloc(2176)
  44580. defer tls.Free(2176)
  44581. var flag TFcBool
  44582. var p uintptr
  44583. var ret, v1 int32
  44584. var _ /* buf at bp+0 */ Tstatfs
  44585. _, _, _, _ = flag, p, ret, v1
  44586. p = libc.UintptrFromInt32(0)
  44587. ret = -int32(1)
  44588. flag = m_FcFalse
  44589. libc.X__builtin___memset_chk(tls, statb, 0, uint64(8), ^t__predefined_size_t(0))
  44590. v1 = libc.Xfstatfs(tls, fd, bp)
  44591. ret = v1
  44592. if v1 == 0 {
  44593. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = libc.BoolInt32(!((*(*Tstatfs)(unsafe.Pointer(bp))).Ff_flags&libc.Uint32FromInt32(m_MNT_LOCAL) != 0))
  44594. flag = int32(m_FcTrue)
  44595. p = bp + 72
  44596. }
  44597. if p != 0 {
  44598. if !(flag != 0) && libc.Xstrcmp(tls, p, __ccgo_ts+6967) == 0 {
  44599. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  44600. }
  44601. if libc.Xstrcmp(tls, p, __ccgo_ts+6971) == 0 || libc.Xstrcmp(tls, p, __ccgo_ts+6979) == 0 {
  44602. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  44603. }
  44604. }
  44605. return ret
  44606. }
  44607. func XFcIsFsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  44608. bp := tls.Alloc(16)
  44609. defer tls.Free(16)
  44610. var _ /* statb at bp+0 */ TFcStatFS
  44611. if _FcFStatFs(tls, fd, bp) < 0 {
  44612. return int32(m_FcTrue)
  44613. }
  44614. return libc.BoolInt32(!((*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_remote_fs != 0))
  44615. }
  44616. func XFcIsFsMtimeBroken(tls *libc.TLS, dir uintptr) (r TFcBool) {
  44617. bp := tls.Alloc(16)
  44618. defer tls.Free(16)
  44619. var fd, ret int32
  44620. var _ /* statb at bp+0 */ TFcStatFS
  44621. _, _ = fd, ret
  44622. fd = XFcOpen(tls, dir, m_O_RDONLY2, 0)
  44623. if fd != -int32(1) {
  44624. ret = _FcFStatFs(tls, fd, bp)
  44625. libc.Xclose(tls, fd)
  44626. if ret < 0 {
  44627. return m_FcFalse
  44628. }
  44629. return (*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_mtime_broken
  44630. }
  44631. return m_FcFalse
  44632. }
  44633. const m_FC_MAX_CASE_FOLD_CHARS = 6
  44634. const m_FC_MAX_CASE_FOLD_EXPAND = 4
  44635. const m_FC_MAX_FOLD_CHAR = 125217
  44636. const m_FC_MIN_FOLD_CHAR = 65
  44637. const m_FC_NUM_CASE_FOLD = 302
  44638. const m_FC_NUM_CASE_FOLD_CHARS = 471
  44639. const m_S_IFDIR4 = 0040000
  44640. const m_S_IFMT6 = 0170000
  44641. /*
  44642. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  44643. *
  44644. * @APPLE_LICENSE_HEADER_START@
  44645. *
  44646. * This file contains Original Code and/or Modifications of Original Code
  44647. * as defined in and that are subject to the Apple Public Source License
  44648. * Version 2.0 (the 'License'). You may not use this file except in
  44649. * compliance with the License. Please obtain a copy of the License at
  44650. * http://www.opensource.apple.com/apsl/ and read it before using this
  44651. * file.
  44652. *
  44653. * The Original Code and all software distributed under the License are
  44654. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44655. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44656. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44657. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44658. * Please see the License for the specific language governing rights and
  44659. * limitations under the License.
  44660. *
  44661. * @APPLE_LICENSE_HEADER_END@
  44662. */
  44663. /*-
  44664. * Copyright (c) 1990, 1993
  44665. * The Regents of the University of California. All rights reserved.
  44666. *
  44667. * Redistribution and use in source and binary forms, with or without
  44668. * modification, are permitted provided that the following conditions
  44669. * are met:
  44670. * 1. Redistributions of source code must retain the above copyright
  44671. * notice, this list of conditions and the following disclaimer.
  44672. * 2. Redistributions in binary form must reproduce the above copyright
  44673. * notice, this list of conditions and the following disclaimer in the
  44674. * documentation and/or other materials provided with the distribution.
  44675. * 3. All advertising materials mentioning features or use of this software
  44676. * must display the following acknowledgement:
  44677. * This product includes software developed by the University of
  44678. * California, Berkeley and its contributors.
  44679. * 4. Neither the name of the University nor the names of its contributors
  44680. * may be used to endorse or promote products derived from this software
  44681. * without specific prior written permission.
  44682. *
  44683. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44684. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44685. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44686. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44687. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44688. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44689. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44690. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44691. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44692. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44693. * SUCH DAMAGE.
  44694. *
  44695. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  44696. */
  44697. /*
  44698. * Copyright (c) 2023 Apple Inc. All rights reserved.
  44699. *
  44700. * @APPLE_LICENSE_HEADER_START@
  44701. *
  44702. * This file contains Original Code and/or Modifications of Original Code
  44703. * as defined in and that are subject to the Apple Public Source License
  44704. * Version 2.0 (the 'License'). You may not use this file except in
  44705. * compliance with the License. Please obtain a copy of the License at
  44706. * http://www.opensource.apple.com/apsl/ and read it before using this
  44707. * file.
  44708. *
  44709. * The Original Code and all software distributed under the License are
  44710. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44711. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44712. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44713. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44714. * Please see the License for the specific language governing rights and
  44715. * limitations under the License.
  44716. *
  44717. * @APPLE_LICENSE_HEADER_END@
  44718. */
  44719. /*-
  44720. * Copyright (c) 1990, 1993
  44721. * The Regents of the University of California. All rights reserved.
  44722. *
  44723. * Redistribution and use in source and binary forms, with or without
  44724. * modification, are permitted provided that the following conditions
  44725. * are met:
  44726. * 1. Redistributions of source code must retain the above copyright
  44727. * notice, this list of conditions and the following disclaimer.
  44728. * 2. Redistributions in binary form must reproduce the above copyright
  44729. * notice, this list of conditions and the following disclaimer in the
  44730. * documentation and/or other materials provided with the distribution.
  44731. * 3. All advertising materials mentioning features or use of this software
  44732. * must display the following acknowledgement:
  44733. * This product includes software developed by the University of
  44734. * California, Berkeley and its contributors.
  44735. * 4. Neither the name of the University nor the names of its contributors
  44736. * may be used to endorse or promote products derived from this software
  44737. * without specific prior written permission.
  44738. *
  44739. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44740. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44741. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44742. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44743. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44744. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44745. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44746. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44747. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44748. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44749. * SUCH DAMAGE.
  44750. *
  44751. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  44752. */
  44753. /*
  44754. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  44755. *
  44756. * @APPLE_LICENSE_HEADER_START@
  44757. *
  44758. * This file contains Original Code and/or Modifications of Original Code
  44759. * as defined in and that are subject to the Apple Public Source License
  44760. * Version 2.0 (the 'License'). You may not use this file except in
  44761. * compliance with the License. Please obtain a copy of the License at
  44762. * http://www.opensource.apple.com/apsl/ and read it before using this
  44763. * file.
  44764. *
  44765. * The Original Code and all software distributed under the License are
  44766. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44767. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44768. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44769. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44770. * Please see the License for the specific language governing rights and
  44771. * limitations under the License.
  44772. *
  44773. * @APPLE_LICENSE_HEADER_END@
  44774. */
  44775. /*
  44776. * Copyright (c) 1989, 1993
  44777. * The Regents of the University of California. All rights reserved.
  44778. * (c) UNIX System Laboratories, Inc.
  44779. * All or some portions of this file are derived from material licensed
  44780. * to the University of California by American Telephone and Telegraph
  44781. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  44782. * the permission of UNIX System Laboratories, Inc.
  44783. *
  44784. * This code is derived from software contributed to Berkeley by
  44785. * Paul Borman at Krystal Technologies.
  44786. *
  44787. * Redistribution and use in source and binary forms, with or without
  44788. * modification, are permitted provided that the following conditions
  44789. * are met:
  44790. * 1. Redistributions of source code must retain the above copyright
  44791. * notice, this list of conditions and the following disclaimer.
  44792. * 2. Redistributions in binary form must reproduce the above copyright
  44793. * notice, this list of conditions and the following disclaimer in the
  44794. * documentation and/or other materials provided with the distribution.
  44795. * 3. All advertising materials mentioning features or use of this software
  44796. * must display the following acknowledgement:
  44797. * This product includes software developed by the University of
  44798. * California, Berkeley and its contributors.
  44799. * 4. Neither the name of the University nor the names of its contributors
  44800. * may be used to endorse or promote products derived from this software
  44801. * without specific prior written permission.
  44802. *
  44803. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44804. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44805. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44806. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44807. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44808. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44809. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44810. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44811. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44812. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44813. * SUCH DAMAGE.
  44814. *
  44815. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  44816. */
  44817. /*
  44818. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  44819. *
  44820. * @APPLE_LICENSE_HEADER_START@
  44821. *
  44822. * This file contains Original Code and/or Modifications of Original Code
  44823. * as defined in and that are subject to the Apple Public Source License
  44824. * Version 2.0 (the 'License'). You may not use this file except in
  44825. * compliance with the License. Please obtain a copy of the License at
  44826. * http://www.opensource.apple.com/apsl/ and read it before using this
  44827. * file.
  44828. *
  44829. * The Original Code and all software distributed under the License are
  44830. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44831. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44832. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44833. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44834. * Please see the License for the specific language governing rights and
  44835. * limitations under the License.
  44836. *
  44837. * @APPLE_LICENSE_HEADER_END@
  44838. */
  44839. /*
  44840. * Copyright (c) 1989, 1993
  44841. * The Regents of the University of California. All rights reserved.
  44842. * (c) UNIX System Laboratories, Inc.
  44843. * All or some portions of this file are derived from material licensed
  44844. * to the University of California by American Telephone and Telegraph
  44845. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  44846. * the permission of UNIX System Laboratories, Inc.
  44847. *
  44848. * This code is derived from software contributed to Berkeley by
  44849. * Paul Borman at Krystal Technologies.
  44850. *
  44851. * Redistribution and use in source and binary forms, with or without
  44852. * modification, are permitted provided that the following conditions
  44853. * are met:
  44854. * 1. Redistributions of source code must retain the above copyright
  44855. * notice, this list of conditions and the following disclaimer.
  44856. * 2. Redistributions in binary form must reproduce the above copyright
  44857. * notice, this list of conditions and the following disclaimer in the
  44858. * documentation and/or other materials provided with the distribution.
  44859. * 3. All advertising materials mentioning features or use of this software
  44860. * must display the following acknowledgement:
  44861. * This product includes software developed by the University of
  44862. * California, Berkeley and its contributors.
  44863. * 4. Neither the name of the University nor the names of its contributors
  44864. * may be used to endorse or promote products derived from this software
  44865. * without specific prior written permission.
  44866. *
  44867. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44868. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44869. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44870. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44871. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44872. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44873. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44874. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44875. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44876. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44877. * SUCH DAMAGE.
  44878. *
  44879. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  44880. */
  44881. /*
  44882. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  44883. *
  44884. * @APPLE_LICENSE_HEADER_START@
  44885. *
  44886. * This file contains Original Code and/or Modifications of Original Code
  44887. * as defined in and that are subject to the Apple Public Source License
  44888. * Version 2.0 (the 'License'). You may not use this file except in
  44889. * compliance with the License. Please obtain a copy of the License at
  44890. * http://www.opensource.apple.com/apsl/ and read it before using this
  44891. * file.
  44892. *
  44893. * The Original Code and all software distributed under the License are
  44894. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44895. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44896. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44897. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44898. * Please see the License for the specific language governing rights and
  44899. * limitations under the License.
  44900. *
  44901. * @APPLE_LICENSE_HEADER_END@
  44902. */
  44903. /*-
  44904. * Copyright (c) 1990, 1993
  44905. * The Regents of the University of California. All rights reserved.
  44906. *
  44907. * Redistribution and use in source and binary forms, with or without
  44908. * modification, are permitted provided that the following conditions
  44909. * are met:
  44910. * 1. Redistributions of source code must retain the above copyright
  44911. * notice, this list of conditions and the following disclaimer.
  44912. * 2. Redistributions in binary form must reproduce the above copyright
  44913. * notice, this list of conditions and the following disclaimer in the
  44914. * documentation and/or other materials provided with the distribution.
  44915. * 3. All advertising materials mentioning features or use of this software
  44916. * must display the following acknowledgement:
  44917. * This product includes software developed by the University of
  44918. * California, Berkeley and its contributors.
  44919. * 4. Neither the name of the University nor the names of its contributors
  44920. * may be used to endorse or promote products derived from this software
  44921. * without specific prior written permission.
  44922. *
  44923. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44924. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44925. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44926. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44927. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44928. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44929. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44930. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44931. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44932. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44933. * SUCH DAMAGE.
  44934. *
  44935. * @(#)string.h 8.1 (Berkeley) 6/2/93
  44936. */
  44937. /*
  44938. * Copyright (c) 2023 Apple Inc. All rights reserved.
  44939. *
  44940. * @APPLE_LICENSE_HEADER_START@
  44941. *
  44942. * This file contains Original Code and/or Modifications of Original Code
  44943. * as defined in and that are subject to the Apple Public Source License
  44944. * Version 2.0 (the 'License'). You may not use this file except in
  44945. * compliance with the License. Please obtain a copy of the License at
  44946. * http://www.opensource.apple.com/apsl/ and read it before using this
  44947. * file.
  44948. *
  44949. * The Original Code and all software distributed under the License are
  44950. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44951. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44952. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44953. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44954. * Please see the License for the specific language governing rights and
  44955. * limitations under the License.
  44956. *
  44957. * @APPLE_LICENSE_HEADER_END@
  44958. */
  44959. /*-
  44960. * Copyright (c) 1990, 1993
  44961. * The Regents of the University of California. All rights reserved.
  44962. *
  44963. * Redistribution and use in source and binary forms, with or without
  44964. * modification, are permitted provided that the following conditions
  44965. * are met:
  44966. * 1. Redistributions of source code must retain the above copyright
  44967. * notice, this list of conditions and the following disclaimer.
  44968. * 2. Redistributions in binary form must reproduce the above copyright
  44969. * notice, this list of conditions and the following disclaimer in the
  44970. * documentation and/or other materials provided with the distribution.
  44971. * 3. All advertising materials mentioning features or use of this software
  44972. * must display the following acknowledgement:
  44973. * This product includes software developed by the University of
  44974. * California, Berkeley and its contributors.
  44975. * 4. Neither the name of the University nor the names of its contributors
  44976. * may be used to endorse or promote products derived from this software
  44977. * without specific prior written permission.
  44978. *
  44979. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44980. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44981. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44982. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44983. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44984. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44985. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44986. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44987. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44988. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44989. * SUCH DAMAGE.
  44990. *
  44991. * @(#)string.h 8.1 (Berkeley) 6/2/93
  44992. */
  44993. /* Objects MT-safe for readonly access. */
  44994. func XFcStrCopy(tls *libc.TLS, s uintptr) (r uintptr) {
  44995. return libc.Xstrdup(tls, s)
  44996. }
  44997. func _FcStrMakeTriple(tls *libc.TLS, s1 uintptr, s2 uintptr, s3 uintptr) (r uintptr) {
  44998. var l, s1l, s2l, s3l int32
  44999. var s uintptr
  45000. var v1, v2, v3 uint64
  45001. _, _, _, _, _, _, _, _ = l, s, s1l, s2l, s3l, v1, v2, v3
  45002. if s1 != 0 {
  45003. v1 = libc.Xstrlen(tls, s1)
  45004. } else {
  45005. v1 = uint64(0)
  45006. }
  45007. s1l = libc.Int32FromUint64(v1)
  45008. if s2 != 0 {
  45009. v2 = libc.Xstrlen(tls, s2)
  45010. } else {
  45011. v2 = uint64(0)
  45012. }
  45013. s2l = libc.Int32FromUint64(v2)
  45014. if s3 != 0 {
  45015. v3 = libc.Xstrlen(tls, s3)
  45016. } else {
  45017. v3 = uint64(0)
  45018. }
  45019. s3l = libc.Int32FromUint64(v3)
  45020. l = s1l + int32(1) + s2l + int32(1) + s3l + int32(1)
  45021. s = libc.Xmalloc(tls, libc.Uint64FromInt32(l))
  45022. if !(s != 0) {
  45023. return uintptr(0)
  45024. }
  45025. if s1 != 0 {
  45026. libc.X__builtin___memcpy_chk(tls, s, s1, libc.Uint64FromInt32(s1l+int32(1)), ^t__predefined_size_t(0))
  45027. } else {
  45028. *(*TFcChar8)(unsafe.Pointer(s)) = uint8('\000')
  45029. }
  45030. if s2 != 0 {
  45031. libc.X__builtin___memcpy_chk(tls, s+uintptr(s1l)+uintptr(1), s2, libc.Uint64FromInt32(s2l+int32(1)), ^t__predefined_size_t(0))
  45032. } else {
  45033. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)))) = uint8('\000')
  45034. }
  45035. if s3 != 0 {
  45036. libc.X__builtin___memcpy_chk(tls, s+uintptr(s1l)+uintptr(1)+uintptr(s2l)+uintptr(1), s3, libc.Uint64FromInt32(s3l+int32(1)), ^t__predefined_size_t(0))
  45037. } else {
  45038. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)+s2l+int32(1)))) = uint8('\000')
  45039. }
  45040. return s
  45041. }
  45042. func XFcStrPlus(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  45043. var l, s1l, s2l int32
  45044. var s uintptr
  45045. _, _, _, _ = l, s, s1l, s2l
  45046. s1l = libc.Int32FromUint64(libc.Xstrlen(tls, s1))
  45047. s2l = libc.Int32FromUint64(libc.Xstrlen(tls, s2))
  45048. l = s1l + s2l + int32(1)
  45049. s = libc.Xmalloc(tls, libc.Uint64FromInt32(l))
  45050. if !(s != 0) {
  45051. return uintptr(0)
  45052. }
  45053. libc.X__builtin___memcpy_chk(tls, s, s1, libc.Uint64FromInt32(s1l), ^t__predefined_size_t(0))
  45054. libc.X__builtin___memcpy_chk(tls, s+uintptr(s1l), s2, libc.Uint64FromInt32(s2l+int32(1)), ^t__predefined_size_t(0))
  45055. return s
  45056. }
  45057. func XFcStrFree(tls *libc.TLS, s uintptr) {
  45058. libc.Xfree(tls, s)
  45059. }
  45060. var _fcCaseFold = [302]TFcCaseFold{
  45061. 0: {
  45062. Fupper: uint32(0x00000041),
  45063. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  45064. Foffset: int16(32),
  45065. },
  45066. 1: {
  45067. Fupper: uint32(0x000000b5),
  45068. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45069. Foffset: int16(775),
  45070. },
  45071. 2: {
  45072. Fupper: uint32(0x000000c0),
  45073. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  45074. Foffset: int16(32),
  45075. },
  45076. 3: {
  45077. Fupper: uint32(0x000000d8),
  45078. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  45079. Foffset: int16(32),
  45080. },
  45081. 4: {
  45082. Fupper: uint32(0x000000df),
  45083. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45084. },
  45085. 5: {
  45086. Fupper: uint32(0x00000100),
  45087. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002f)&0x3fff<<2,
  45088. Foffset: int16(1),
  45089. },
  45090. 6: {
  45091. Fupper: uint32(0x00000130),
  45092. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45093. Foffset: int16(2),
  45094. },
  45095. 7: {
  45096. Fupper: uint32(0x00000132),
  45097. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45098. Foffset: int16(1),
  45099. },
  45100. 8: {
  45101. Fupper: uint32(0x00000139),
  45102. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  45103. Foffset: int16(1),
  45104. },
  45105. 9: {
  45106. Fupper: uint32(0x00000149),
  45107. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45108. Foffset: int16(5),
  45109. },
  45110. 10: {
  45111. Fupper: uint32(0x0000014a),
  45112. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  45113. Foffset: int16(1),
  45114. },
  45115. 11: {
  45116. Fupper: uint32(0x00000178),
  45117. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45118. Foffset: int16(-int32(121)),
  45119. },
  45120. 12: {
  45121. Fupper: uint32(0x00000179),
  45122. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45123. Foffset: int16(1),
  45124. },
  45125. 13: {
  45126. Fupper: uint32(0x0000017f),
  45127. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45128. Foffset: int16(-int32(268)),
  45129. },
  45130. 14: {
  45131. Fupper: uint32(0x00000181),
  45132. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45133. Foffset: int16(210),
  45134. },
  45135. 15: {
  45136. Fupper: uint32(0x00000182),
  45137. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45138. Foffset: int16(1),
  45139. },
  45140. 16: {
  45141. Fupper: uint32(0x00000186),
  45142. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45143. Foffset: int16(206),
  45144. },
  45145. 17: {
  45146. Fupper: uint32(0x00000187),
  45147. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45148. Foffset: int16(1),
  45149. },
  45150. 18: {
  45151. Fupper: uint32(0x00000189),
  45152. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45153. Foffset: int16(205),
  45154. },
  45155. 19: {
  45156. Fupper: uint32(0x0000018b),
  45157. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45158. Foffset: int16(1),
  45159. },
  45160. 20: {
  45161. Fupper: uint32(0x0000018e),
  45162. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45163. Foffset: int16(79),
  45164. },
  45165. 21: {
  45166. Fupper: uint32(0x0000018f),
  45167. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45168. Foffset: int16(202),
  45169. },
  45170. 22: {
  45171. Fupper: uint32(0x00000190),
  45172. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45173. Foffset: int16(203),
  45174. },
  45175. 23: {
  45176. Fupper: uint32(0x00000191),
  45177. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45178. Foffset: int16(1),
  45179. },
  45180. 24: {
  45181. Fupper: uint32(0x00000193),
  45182. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45183. Foffset: int16(205),
  45184. },
  45185. 25: {
  45186. Fupper: uint32(0x00000194),
  45187. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45188. Foffset: int16(207),
  45189. },
  45190. 26: {
  45191. Fupper: uint32(0x00000196),
  45192. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45193. Foffset: int16(211),
  45194. },
  45195. 27: {
  45196. Fupper: uint32(0x00000197),
  45197. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45198. Foffset: int16(209),
  45199. },
  45200. 28: {
  45201. Fupper: uint32(0x00000198),
  45202. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45203. Foffset: int16(1),
  45204. },
  45205. 29: {
  45206. Fupper: uint32(0x0000019c),
  45207. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45208. Foffset: int16(211),
  45209. },
  45210. 30: {
  45211. Fupper: uint32(0x0000019d),
  45212. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45213. Foffset: int16(213),
  45214. },
  45215. 31: {
  45216. Fupper: uint32(0x0000019f),
  45217. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45218. Foffset: int16(214),
  45219. },
  45220. 32: {
  45221. Fupper: uint32(0x000001a0),
  45222. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45223. Foffset: int16(1),
  45224. },
  45225. 33: {
  45226. Fupper: uint32(0x000001a6),
  45227. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45228. Foffset: int16(218),
  45229. },
  45230. 34: {
  45231. Fupper: uint32(0x000001a7),
  45232. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45233. Foffset: int16(1),
  45234. },
  45235. 35: {
  45236. Fupper: uint32(0x000001a9),
  45237. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45238. Foffset: int16(218),
  45239. },
  45240. 36: {
  45241. Fupper: uint32(0x000001ac),
  45242. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45243. Foffset: int16(1),
  45244. },
  45245. 37: {
  45246. Fupper: uint32(0x000001ae),
  45247. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45248. Foffset: int16(218),
  45249. },
  45250. 38: {
  45251. Fupper: uint32(0x000001af),
  45252. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45253. Foffset: int16(1),
  45254. },
  45255. 39: {
  45256. Fupper: uint32(0x000001b1),
  45257. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45258. Foffset: int16(217),
  45259. },
  45260. 40: {
  45261. Fupper: uint32(0x000001b3),
  45262. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45263. Foffset: int16(1),
  45264. },
  45265. 41: {
  45266. Fupper: uint32(0x000001b7),
  45267. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45268. Foffset: int16(219),
  45269. },
  45270. 42: {
  45271. Fupper: uint32(0x000001b8),
  45272. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45273. Foffset: int16(1),
  45274. },
  45275. 43: {
  45276. Fupper: uint32(0x000001bc),
  45277. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45278. Foffset: int16(1),
  45279. },
  45280. 44: {
  45281. Fupper: uint32(0x000001c4),
  45282. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45283. Foffset: int16(2),
  45284. },
  45285. 45: {
  45286. Fupper: uint32(0x000001c5),
  45287. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45288. Foffset: int16(1),
  45289. },
  45290. 46: {
  45291. Fupper: uint32(0x000001c7),
  45292. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45293. Foffset: int16(2),
  45294. },
  45295. 47: {
  45296. Fupper: uint32(0x000001c8),
  45297. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45298. Foffset: int16(1),
  45299. },
  45300. 48: {
  45301. Fupper: uint32(0x000001ca),
  45302. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45303. Foffset: int16(2),
  45304. },
  45305. 49: {
  45306. Fupper: uint32(0x000001cb),
  45307. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  45308. Foffset: int16(1),
  45309. },
  45310. 50: {
  45311. Fupper: uint32(0x000001de),
  45312. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  45313. Foffset: int16(1),
  45314. },
  45315. 51: {
  45316. Fupper: uint32(0x000001f0),
  45317. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45318. Foffset: int16(8),
  45319. },
  45320. 52: {
  45321. Fupper: uint32(0x000001f1),
  45322. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45323. Foffset: int16(2),
  45324. },
  45325. 53: {
  45326. Fupper: uint32(0x000001f2),
  45327. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45328. Foffset: int16(1),
  45329. },
  45330. 54: {
  45331. Fupper: uint32(0x000001f6),
  45332. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45333. Foffset: int16(-int32(97)),
  45334. },
  45335. 55: {
  45336. Fupper: uint32(0x000001f7),
  45337. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45338. Foffset: int16(-int32(56)),
  45339. },
  45340. 56: {
  45341. Fupper: uint32(0x000001f8),
  45342. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0027)&0x3fff<<2,
  45343. Foffset: int16(1),
  45344. },
  45345. 57: {
  45346. Fupper: uint32(0x00000220),
  45347. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45348. Foffset: int16(-int32(130)),
  45349. },
  45350. 58: {
  45351. Fupper: uint32(0x00000222),
  45352. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  45353. Foffset: int16(1),
  45354. },
  45355. 59: {
  45356. Fupper: uint32(0x0000023a),
  45357. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45358. Foffset: int16(10795),
  45359. },
  45360. 60: {
  45361. Fupper: uint32(0x0000023b),
  45362. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45363. Foffset: int16(1),
  45364. },
  45365. 61: {
  45366. Fupper: uint32(0x0000023d),
  45367. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45368. Foffset: int16(-int32(163)),
  45369. },
  45370. 62: {
  45371. Fupper: uint32(0x0000023e),
  45372. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45373. Foffset: int16(10792),
  45374. },
  45375. 63: {
  45376. Fupper: uint32(0x00000241),
  45377. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45378. Foffset: int16(1),
  45379. },
  45380. 64: {
  45381. Fupper: uint32(0x00000243),
  45382. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45383. Foffset: int16(-int32(195)),
  45384. },
  45385. 65: {
  45386. Fupper: uint32(0x00000244),
  45387. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45388. Foffset: int16(69),
  45389. },
  45390. 66: {
  45391. Fupper: uint32(0x00000245),
  45392. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45393. Foffset: int16(71),
  45394. },
  45395. 67: {
  45396. Fupper: uint32(0x00000246),
  45397. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  45398. Foffset: int16(1),
  45399. },
  45400. 68: {
  45401. Fupper: uint32(0x00000345),
  45402. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45403. Foffset: int16(116),
  45404. },
  45405. 69: {
  45406. Fupper: uint32(0x00000370),
  45407. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45408. Foffset: int16(1),
  45409. },
  45410. 70: {
  45411. Fupper: uint32(0x00000376),
  45412. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45413. Foffset: int16(1),
  45414. },
  45415. 71: {
  45416. Fupper: uint32(0x0000037f),
  45417. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45418. Foffset: int16(116),
  45419. },
  45420. 72: {
  45421. Fupper: uint32(0x00000386),
  45422. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45423. Foffset: int16(38),
  45424. },
  45425. 73: {
  45426. Fupper: uint32(0x00000388),
  45427. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45428. Foffset: int16(37),
  45429. },
  45430. 74: {
  45431. Fupper: uint32(0x0000038c),
  45432. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45433. Foffset: int16(64),
  45434. },
  45435. 75: {
  45436. Fupper: uint32(0x0000038e),
  45437. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45438. Foffset: int16(63),
  45439. },
  45440. 76: {
  45441. Fupper: uint32(0x00000390),
  45442. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45443. Foffset: int16(11),
  45444. },
  45445. 77: {
  45446. Fupper: uint32(0x00000391),
  45447. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  45448. Foffset: int16(32),
  45449. },
  45450. 78: {
  45451. Fupper: uint32(0x000003a3),
  45452. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  45453. Foffset: int16(32),
  45454. },
  45455. 79: {
  45456. Fupper: uint32(0x000003b0),
  45457. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45458. Foffset: int16(17),
  45459. },
  45460. 80: {
  45461. Fupper: uint32(0x000003c2),
  45462. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45463. Foffset: int16(1),
  45464. },
  45465. 81: {
  45466. Fupper: uint32(0x000003cf),
  45467. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45468. Foffset: int16(8),
  45469. },
  45470. 82: {
  45471. Fupper: uint32(0x000003d0),
  45472. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45473. Foffset: int16(-int32(30)),
  45474. },
  45475. 83: {
  45476. Fupper: uint32(0x000003d1),
  45477. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45478. Foffset: int16(-int32(25)),
  45479. },
  45480. 84: {
  45481. Fupper: uint32(0x000003d5),
  45482. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45483. Foffset: int16(-int32(15)),
  45484. },
  45485. 85: {
  45486. Fupper: uint32(0x000003d6),
  45487. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45488. Foffset: int16(-int32(22)),
  45489. },
  45490. 86: {
  45491. Fupper: uint32(0x000003d8),
  45492. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  45493. Foffset: int16(1),
  45494. },
  45495. 87: {
  45496. Fupper: uint32(0x000003f0),
  45497. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45498. Foffset: int16(-int32(54)),
  45499. },
  45500. 88: {
  45501. Fupper: uint32(0x000003f1),
  45502. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45503. Foffset: int16(-int32(48)),
  45504. },
  45505. 89: {
  45506. Fupper: uint32(0x000003f4),
  45507. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45508. Foffset: int16(-int32(60)),
  45509. },
  45510. 90: {
  45511. Fupper: uint32(0x000003f5),
  45512. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45513. Foffset: int16(-int32(64)),
  45514. },
  45515. 91: {
  45516. Fupper: uint32(0x000003f7),
  45517. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45518. Foffset: int16(1),
  45519. },
  45520. 92: {
  45521. Fupper: uint32(0x000003f9),
  45522. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45523. Foffset: int16(-int32(7)),
  45524. },
  45525. 93: {
  45526. Fupper: uint32(0x000003fa),
  45527. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45528. Foffset: int16(1),
  45529. },
  45530. 94: {
  45531. Fupper: uint32(0x000003fd),
  45532. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45533. Foffset: int16(-int32(130)),
  45534. },
  45535. 95: {
  45536. Fupper: uint32(0x00000400),
  45537. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  45538. Foffset: int16(80),
  45539. },
  45540. 96: {
  45541. Fupper: uint32(0x00000410),
  45542. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  45543. Foffset: int16(32),
  45544. },
  45545. 97: {
  45546. Fupper: uint32(0x00000460),
  45547. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0021)&0x3fff<<2,
  45548. Foffset: int16(1),
  45549. },
  45550. 98: {
  45551. Fupper: uint32(0x0000048a),
  45552. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0035)&0x3fff<<2,
  45553. Foffset: int16(1),
  45554. },
  45555. 99: {
  45556. Fupper: uint32(0x000004c0),
  45557. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45558. Foffset: int16(15),
  45559. },
  45560. 100: {
  45561. Fupper: uint32(0x000004c1),
  45562. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  45563. Foffset: int16(1),
  45564. },
  45565. 101: {
  45566. Fupper: uint32(0x000004d0),
  45567. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  45568. Foffset: int16(1),
  45569. },
  45570. 102: {
  45571. Fupper: uint32(0x00000531),
  45572. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  45573. Foffset: int16(48),
  45574. },
  45575. 103: {
  45576. Fupper: uint32(0x00000587),
  45577. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45578. Foffset: int16(23),
  45579. },
  45580. 104: {
  45581. Fupper: uint32(0x000010a0),
  45582. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  45583. Foffset: int16(7264),
  45584. },
  45585. 105: {
  45586. Fupper: uint32(0x000010c7),
  45587. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45588. Foffset: int16(7264),
  45589. },
  45590. 106: {
  45591. Fupper: uint32(0x000010cd),
  45592. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45593. Foffset: int16(7264),
  45594. },
  45595. 107: {
  45596. Fupper: uint32(0x000013f8),
  45597. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45598. Foffset: int16(-int32(8)),
  45599. },
  45600. 108: {
  45601. Fupper: uint32(0x00001c80),
  45602. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45603. Foffset: int16(-int32(6222)),
  45604. },
  45605. 109: {
  45606. Fupper: uint32(0x00001c81),
  45607. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45608. Foffset: int16(-int32(6221)),
  45609. },
  45610. 110: {
  45611. Fupper: uint32(0x00001c82),
  45612. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45613. Foffset: int16(-int32(6212)),
  45614. },
  45615. 111: {
  45616. Fupper: uint32(0x00001c83),
  45617. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45618. Foffset: int16(-int32(6210)),
  45619. },
  45620. 112: {
  45621. Fupper: uint32(0x00001c85),
  45622. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45623. Foffset: int16(-int32(6211)),
  45624. },
  45625. 113: {
  45626. Fupper: uint32(0x00001c86),
  45627. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45628. Foffset: int16(-int32(6204)),
  45629. },
  45630. 114: {
  45631. Fupper: uint32(0x00001c87),
  45632. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45633. Foffset: int16(-int32(6180)),
  45634. },
  45635. 115: {
  45636. Fupper: uint32(0x00001c88),
  45637. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45638. Foffset: int16(-int32(30269)),
  45639. },
  45640. 116: {
  45641. Fupper: uint32(0x00001c90),
  45642. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x002b)&0x3fff<<2,
  45643. Foffset: int16(-int32(3008)),
  45644. },
  45645. 117: {
  45646. Fupper: uint32(0x00001cbd),
  45647. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45648. Foffset: int16(-int32(3008)),
  45649. },
  45650. 118: {
  45651. Fupper: uint32(0x00001e00),
  45652. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0095)&0x3fff<<2,
  45653. Foffset: int16(1),
  45654. },
  45655. 119: {
  45656. Fupper: uint32(0x00001e96),
  45657. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45658. Foffset: int16(27),
  45659. },
  45660. 120: {
  45661. Fupper: uint32(0x00001e97),
  45662. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45663. Foffset: int16(30),
  45664. },
  45665. 121: {
  45666. Fupper: uint32(0x00001e98),
  45667. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45668. Foffset: int16(33),
  45669. },
  45670. 122: {
  45671. Fupper: uint32(0x00001e99),
  45672. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45673. Foffset: int16(36),
  45674. },
  45675. 123: {
  45676. Fupper: uint32(0x00001e9a),
  45677. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45678. Foffset: int16(39),
  45679. },
  45680. 124: {
  45681. Fupper: uint32(0x00001e9b),
  45682. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45683. Foffset: int16(-int32(58)),
  45684. },
  45685. 125: {
  45686. Fupper: uint32(0x00001e9e),
  45687. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45688. Foffset: int16(42),
  45689. },
  45690. 126: {
  45691. Fupper: uint32(0x00001ea0),
  45692. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  45693. Foffset: int16(1),
  45694. },
  45695. 127: {
  45696. Fupper: uint32(0x00001f08),
  45697. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  45698. Foffset: int16(-int32(8)),
  45699. },
  45700. 128: {
  45701. Fupper: uint32(0x00001f18),
  45702. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45703. Foffset: int16(-int32(8)),
  45704. },
  45705. 129: {
  45706. Fupper: uint32(0x00001f28),
  45707. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  45708. Foffset: int16(-int32(8)),
  45709. },
  45710. 130: {
  45711. Fupper: uint32(0x00001f38),
  45712. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  45713. Foffset: int16(-int32(8)),
  45714. },
  45715. 131: {
  45716. Fupper: uint32(0x00001f48),
  45717. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45718. Foffset: int16(-int32(8)),
  45719. },
  45720. 132: {
  45721. Fupper: uint32(0x00001f50),
  45722. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45723. Foffset: int16(44),
  45724. },
  45725. 133: {
  45726. Fupper: uint32(0x00001f52),
  45727. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45728. Foffset: int16(48),
  45729. },
  45730. 134: {
  45731. Fupper: uint32(0x00001f54),
  45732. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45733. Foffset: int16(54),
  45734. },
  45735. 135: {
  45736. Fupper: uint32(0x00001f56),
  45737. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45738. Foffset: int16(60),
  45739. },
  45740. 136: {
  45741. Fupper: uint32(0x00001f59),
  45742. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45743. Foffset: int16(-int32(8)),
  45744. },
  45745. 137: {
  45746. Fupper: uint32(0x00001f5b),
  45747. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45748. Foffset: int16(-int32(8)),
  45749. },
  45750. 138: {
  45751. Fupper: uint32(0x00001f5d),
  45752. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45753. Foffset: int16(-int32(8)),
  45754. },
  45755. 139: {
  45756. Fupper: uint32(0x00001f5f),
  45757. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45758. Foffset: int16(-int32(8)),
  45759. },
  45760. 140: {
  45761. Fupper: uint32(0x00001f68),
  45762. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  45763. Foffset: int16(-int32(8)),
  45764. },
  45765. 141: {
  45766. Fupper: uint32(0x00001f80),
  45767. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45768. Foffset: int16(66),
  45769. },
  45770. 142: {
  45771. Fupper: uint32(0x00001f81),
  45772. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45773. Foffset: int16(71),
  45774. },
  45775. 143: {
  45776. Fupper: uint32(0x00001f82),
  45777. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45778. Foffset: int16(76),
  45779. },
  45780. 144: {
  45781. Fupper: uint32(0x00001f83),
  45782. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45783. Foffset: int16(81),
  45784. },
  45785. 145: {
  45786. Fupper: uint32(0x00001f84),
  45787. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45788. Foffset: int16(86),
  45789. },
  45790. 146: {
  45791. Fupper: uint32(0x00001f85),
  45792. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45793. Foffset: int16(91),
  45794. },
  45795. 147: {
  45796. Fupper: uint32(0x00001f86),
  45797. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45798. Foffset: int16(96),
  45799. },
  45800. 148: {
  45801. Fupper: uint32(0x00001f87),
  45802. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45803. Foffset: int16(101),
  45804. },
  45805. 149: {
  45806. Fupper: uint32(0x00001f88),
  45807. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45808. Foffset: int16(106),
  45809. },
  45810. 150: {
  45811. Fupper: uint32(0x00001f89),
  45812. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45813. Foffset: int16(111),
  45814. },
  45815. 151: {
  45816. Fupper: uint32(0x00001f8a),
  45817. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45818. Foffset: int16(116),
  45819. },
  45820. 152: {
  45821. Fupper: uint32(0x00001f8b),
  45822. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45823. Foffset: int16(121),
  45824. },
  45825. 153: {
  45826. Fupper: uint32(0x00001f8c),
  45827. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45828. Foffset: int16(126),
  45829. },
  45830. 154: {
  45831. Fupper: uint32(0x00001f8d),
  45832. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45833. Foffset: int16(131),
  45834. },
  45835. 155: {
  45836. Fupper: uint32(0x00001f8e),
  45837. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45838. Foffset: int16(136),
  45839. },
  45840. 156: {
  45841. Fupper: uint32(0x00001f8f),
  45842. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45843. Foffset: int16(141),
  45844. },
  45845. 157: {
  45846. Fupper: uint32(0x00001f90),
  45847. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45848. Foffset: int16(146),
  45849. },
  45850. 158: {
  45851. Fupper: uint32(0x00001f91),
  45852. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45853. Foffset: int16(151),
  45854. },
  45855. 159: {
  45856. Fupper: uint32(0x00001f92),
  45857. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45858. Foffset: int16(156),
  45859. },
  45860. 160: {
  45861. Fupper: uint32(0x00001f93),
  45862. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45863. Foffset: int16(161),
  45864. },
  45865. 161: {
  45866. Fupper: uint32(0x00001f94),
  45867. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45868. Foffset: int16(166),
  45869. },
  45870. 162: {
  45871. Fupper: uint32(0x00001f95),
  45872. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45873. Foffset: int16(171),
  45874. },
  45875. 163: {
  45876. Fupper: uint32(0x00001f96),
  45877. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45878. Foffset: int16(176),
  45879. },
  45880. 164: {
  45881. Fupper: uint32(0x00001f97),
  45882. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45883. Foffset: int16(181),
  45884. },
  45885. 165: {
  45886. Fupper: uint32(0x00001f98),
  45887. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45888. Foffset: int16(186),
  45889. },
  45890. 166: {
  45891. Fupper: uint32(0x00001f99),
  45892. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45893. Foffset: int16(191),
  45894. },
  45895. 167: {
  45896. Fupper: uint32(0x00001f9a),
  45897. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45898. Foffset: int16(196),
  45899. },
  45900. 168: {
  45901. Fupper: uint32(0x00001f9b),
  45902. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45903. Foffset: int16(201),
  45904. },
  45905. 169: {
  45906. Fupper: uint32(0x00001f9c),
  45907. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45908. Foffset: int16(206),
  45909. },
  45910. 170: {
  45911. Fupper: uint32(0x00001f9d),
  45912. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45913. Foffset: int16(211),
  45914. },
  45915. 171: {
  45916. Fupper: uint32(0x00001f9e),
  45917. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45918. Foffset: int16(216),
  45919. },
  45920. 172: {
  45921. Fupper: uint32(0x00001f9f),
  45922. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45923. Foffset: int16(221),
  45924. },
  45925. 173: {
  45926. Fupper: uint32(0x00001fa0),
  45927. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45928. Foffset: int16(226),
  45929. },
  45930. 174: {
  45931. Fupper: uint32(0x00001fa1),
  45932. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45933. Foffset: int16(231),
  45934. },
  45935. 175: {
  45936. Fupper: uint32(0x00001fa2),
  45937. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45938. Foffset: int16(236),
  45939. },
  45940. 176: {
  45941. Fupper: uint32(0x00001fa3),
  45942. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45943. Foffset: int16(241),
  45944. },
  45945. 177: {
  45946. Fupper: uint32(0x00001fa4),
  45947. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45948. Foffset: int16(246),
  45949. },
  45950. 178: {
  45951. Fupper: uint32(0x00001fa5),
  45952. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45953. Foffset: int16(251),
  45954. },
  45955. 179: {
  45956. Fupper: uint32(0x00001fa6),
  45957. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45958. Foffset: int16(256),
  45959. },
  45960. 180: {
  45961. Fupper: uint32(0x00001fa7),
  45962. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45963. Foffset: int16(261),
  45964. },
  45965. 181: {
  45966. Fupper: uint32(0x00001fa8),
  45967. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45968. Foffset: int16(266),
  45969. },
  45970. 182: {
  45971. Fupper: uint32(0x00001fa9),
  45972. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45973. Foffset: int16(271),
  45974. },
  45975. 183: {
  45976. Fupper: uint32(0x00001faa),
  45977. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45978. Foffset: int16(276),
  45979. },
  45980. 184: {
  45981. Fupper: uint32(0x00001fab),
  45982. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45983. Foffset: int16(281),
  45984. },
  45985. 185: {
  45986. Fupper: uint32(0x00001fac),
  45987. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45988. Foffset: int16(286),
  45989. },
  45990. 186: {
  45991. Fupper: uint32(0x00001fad),
  45992. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45993. Foffset: int16(291),
  45994. },
  45995. 187: {
  45996. Fupper: uint32(0x00001fae),
  45997. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45998. Foffset: int16(296),
  45999. },
  46000. 188: {
  46001. Fupper: uint32(0x00001faf),
  46002. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  46003. Foffset: int16(301),
  46004. },
  46005. 189: {
  46006. Fupper: uint32(0x00001fb2),
  46007. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  46008. Foffset: int16(306),
  46009. },
  46010. 190: {
  46011. Fupper: uint32(0x00001fb3),
  46012. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46013. Foffset: int16(311),
  46014. },
  46015. 191: {
  46016. Fupper: uint32(0x00001fb4),
  46017. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46018. Foffset: int16(315),
  46019. },
  46020. 192: {
  46021. Fupper: uint32(0x00001fb6),
  46022. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46023. Foffset: int16(319),
  46024. },
  46025. 193: {
  46026. Fupper: uint32(0x00001fb7),
  46027. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  46028. Foffset: int16(323),
  46029. },
  46030. 194: {
  46031. Fupper: uint32(0x00001fb8),
  46032. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46033. Foffset: int16(-int32(8)),
  46034. },
  46035. 195: {
  46036. Fupper: uint32(0x00001fba),
  46037. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46038. Foffset: int16(-int32(74)),
  46039. },
  46040. 196: {
  46041. Fupper: uint32(0x00001fbc),
  46042. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46043. Foffset: int16(329),
  46044. },
  46045. 197: {
  46046. Fupper: uint32(0x00001fbe),
  46047. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46048. Foffset: int16(-int32(7173)),
  46049. },
  46050. 198: {
  46051. Fupper: uint32(0x00001fc2),
  46052. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  46053. Foffset: int16(333),
  46054. },
  46055. 199: {
  46056. Fupper: uint32(0x00001fc3),
  46057. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46058. Foffset: int16(338),
  46059. },
  46060. 200: {
  46061. Fupper: uint32(0x00001fc4),
  46062. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46063. Foffset: int16(342),
  46064. },
  46065. 201: {
  46066. Fupper: uint32(0x00001fc6),
  46067. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46068. Foffset: int16(346),
  46069. },
  46070. 202: {
  46071. Fupper: uint32(0x00001fc7),
  46072. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  46073. Foffset: int16(350),
  46074. },
  46075. 203: {
  46076. Fupper: uint32(0x00001fc8),
  46077. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46078. Foffset: int16(-int32(86)),
  46079. },
  46080. 204: {
  46081. Fupper: uint32(0x00001fcc),
  46082. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46083. Foffset: int16(356),
  46084. },
  46085. 205: {
  46086. Fupper: uint32(0x00001fd2),
  46087. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  46088. Foffset: int16(360),
  46089. },
  46090. 206: {
  46091. Fupper: uint32(0x00001fd3),
  46092. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  46093. Foffset: int16(366),
  46094. },
  46095. 207: {
  46096. Fupper: uint32(0x00001fd6),
  46097. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46098. Foffset: int16(372),
  46099. },
  46100. 208: {
  46101. Fupper: uint32(0x00001fd7),
  46102. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  46103. Foffset: int16(376),
  46104. },
  46105. 209: {
  46106. Fupper: uint32(0x00001fd8),
  46107. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46108. Foffset: int16(-int32(8)),
  46109. },
  46110. 210: {
  46111. Fupper: uint32(0x00001fda),
  46112. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46113. Foffset: int16(-int32(100)),
  46114. },
  46115. 211: {
  46116. Fupper: uint32(0x00001fe2),
  46117. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  46118. Foffset: int16(382),
  46119. },
  46120. 212: {
  46121. Fupper: uint32(0x00001fe3),
  46122. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  46123. Foffset: int16(388),
  46124. },
  46125. 213: {
  46126. Fupper: uint32(0x00001fe4),
  46127. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46128. Foffset: int16(394),
  46129. },
  46130. 214: {
  46131. Fupper: uint32(0x00001fe6),
  46132. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46133. Foffset: int16(398),
  46134. },
  46135. 215: {
  46136. Fupper: uint32(0x00001fe7),
  46137. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  46138. Foffset: int16(402),
  46139. },
  46140. 216: {
  46141. Fupper: uint32(0x00001fe8),
  46142. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46143. Foffset: int16(-int32(8)),
  46144. },
  46145. 217: {
  46146. Fupper: uint32(0x00001fea),
  46147. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46148. Foffset: int16(-int32(112)),
  46149. },
  46150. 218: {
  46151. Fupper: uint32(0x00001fec),
  46152. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46153. Foffset: int16(-int32(7)),
  46154. },
  46155. 219: {
  46156. Fupper: uint32(0x00001ff2),
  46157. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  46158. Foffset: int16(408),
  46159. },
  46160. 220: {
  46161. Fupper: uint32(0x00001ff3),
  46162. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46163. Foffset: int16(413),
  46164. },
  46165. 221: {
  46166. Fupper: uint32(0x00001ff4),
  46167. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46168. Foffset: int16(417),
  46169. },
  46170. 222: {
  46171. Fupper: uint32(0x00001ff6),
  46172. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46173. Foffset: int16(421),
  46174. },
  46175. 223: {
  46176. Fupper: uint32(0x00001ff7),
  46177. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  46178. Foffset: int16(425),
  46179. },
  46180. 224: {
  46181. Fupper: uint32(0x00001ff8),
  46182. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46183. Foffset: int16(-int32(128)),
  46184. },
  46185. 225: {
  46186. Fupper: uint32(0x00001ffa),
  46187. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46188. Foffset: int16(-int32(126)),
  46189. },
  46190. 226: {
  46191. Fupper: uint32(0x00001ffc),
  46192. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46193. Foffset: int16(431),
  46194. },
  46195. 227: {
  46196. Fupper: uint32(0x00002126),
  46197. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46198. Foffset: int16(-int32(7517)),
  46199. },
  46200. 228: {
  46201. Fupper: uint32(0x0000212a),
  46202. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46203. Foffset: int16(-int32(8383)),
  46204. },
  46205. 229: {
  46206. Fupper: uint32(0x0000212b),
  46207. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46208. Foffset: int16(-int32(8262)),
  46209. },
  46210. 230: {
  46211. Fupper: uint32(0x00002132),
  46212. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46213. Foffset: int16(28),
  46214. },
  46215. 231: {
  46216. Fupper: uint32(0x00002160),
  46217. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  46218. Foffset: int16(16),
  46219. },
  46220. 232: {
  46221. Fupper: uint32(0x00002183),
  46222. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46223. Foffset: int16(1),
  46224. },
  46225. 233: {
  46226. Fupper: uint32(0x000024b6),
  46227. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  46228. Foffset: int16(26),
  46229. },
  46230. 234: {
  46231. Fupper: uint32(0x00002c00),
  46232. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0030)&0x3fff<<2,
  46233. Foffset: int16(48),
  46234. },
  46235. 235: {
  46236. Fupper: uint32(0x00002c60),
  46237. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46238. Foffset: int16(1),
  46239. },
  46240. 236: {
  46241. Fupper: uint32(0x00002c62),
  46242. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46243. Foffset: int16(-int32(10743)),
  46244. },
  46245. 237: {
  46246. Fupper: uint32(0x00002c63),
  46247. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46248. Foffset: int16(-int32(3814)),
  46249. },
  46250. 238: {
  46251. Fupper: uint32(0x00002c64),
  46252. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46253. Foffset: int16(-int32(10727)),
  46254. },
  46255. 239: {
  46256. Fupper: uint32(0x00002c67),
  46257. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  46258. Foffset: int16(1),
  46259. },
  46260. 240: {
  46261. Fupper: uint32(0x00002c6d),
  46262. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46263. Foffset: int16(-int32(10780)),
  46264. },
  46265. 241: {
  46266. Fupper: uint32(0x00002c6e),
  46267. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46268. Foffset: int16(-int32(10749)),
  46269. },
  46270. 242: {
  46271. Fupper: uint32(0x00002c6f),
  46272. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46273. Foffset: int16(-int32(10783)),
  46274. },
  46275. 243: {
  46276. Fupper: uint32(0x00002c70),
  46277. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46278. Foffset: int16(-int32(10782)),
  46279. },
  46280. 244: {
  46281. Fupper: uint32(0x00002c72),
  46282. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46283. Foffset: int16(1),
  46284. },
  46285. 245: {
  46286. Fupper: uint32(0x00002c75),
  46287. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46288. Foffset: int16(1),
  46289. },
  46290. 246: {
  46291. Fupper: uint32(0x00002c7e),
  46292. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46293. Foffset: int16(-int32(10815)),
  46294. },
  46295. 247: {
  46296. Fupper: uint32(0x00002c80),
  46297. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0063)&0x3fff<<2,
  46298. Foffset: int16(1),
  46299. },
  46300. 248: {
  46301. Fupper: uint32(0x00002ceb),
  46302. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46303. Foffset: int16(1),
  46304. },
  46305. 249: {
  46306. Fupper: uint32(0x00002cf2),
  46307. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46308. Foffset: int16(1),
  46309. },
  46310. 250: {
  46311. Fupper: uint32(0x0000a640),
  46312. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  46313. Foffset: int16(1),
  46314. },
  46315. 251: {
  46316. Fupper: uint32(0x0000a680),
  46317. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x001b)&0x3fff<<2,
  46318. Foffset: int16(1),
  46319. },
  46320. 252: {
  46321. Fupper: uint32(0x0000a722),
  46322. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  46323. Foffset: int16(1),
  46324. },
  46325. 253: {
  46326. Fupper: uint32(0x0000a732),
  46327. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x003d)&0x3fff<<2,
  46328. Foffset: int16(1),
  46329. },
  46330. 254: {
  46331. Fupper: uint32(0x0000a779),
  46332. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46333. Foffset: int16(1),
  46334. },
  46335. 255: {
  46336. Fupper: uint32(0x0000a77d),
  46337. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46338. Foffset: int16(30204),
  46339. },
  46340. 256: {
  46341. Fupper: uint32(0x0000a77e),
  46342. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  46343. Foffset: int16(1),
  46344. },
  46345. 257: {
  46346. Fupper: uint32(0x0000a78b),
  46347. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46348. Foffset: int16(1),
  46349. },
  46350. 258: {
  46351. Fupper: uint32(0x0000a78d),
  46352. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46353. Foffset: int16(23256),
  46354. },
  46355. 259: {
  46356. Fupper: uint32(0x0000a790),
  46357. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46358. Foffset: int16(1),
  46359. },
  46360. 260: {
  46361. Fupper: uint32(0x0000a796),
  46362. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0013)&0x3fff<<2,
  46363. Foffset: int16(1),
  46364. },
  46365. 261: {
  46366. Fupper: uint32(0x0000a7aa),
  46367. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46368. Foffset: int16(23228),
  46369. },
  46370. 262: {
  46371. Fupper: uint32(0x0000a7ab),
  46372. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46373. Foffset: int16(23217),
  46374. },
  46375. 263: {
  46376. Fupper: uint32(0x0000a7ac),
  46377. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46378. Foffset: int16(23221),
  46379. },
  46380. 264: {
  46381. Fupper: uint32(0x0000a7ad),
  46382. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46383. Foffset: int16(23231),
  46384. },
  46385. 265: {
  46386. Fupper: uint32(0x0000a7ae),
  46387. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46388. Foffset: int16(23228),
  46389. },
  46390. 266: {
  46391. Fupper: uint32(0x0000a7b0),
  46392. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46393. Foffset: int16(23278),
  46394. },
  46395. 267: {
  46396. Fupper: uint32(0x0000a7b1),
  46397. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46398. Foffset: int16(23254),
  46399. },
  46400. 268: {
  46401. Fupper: uint32(0x0000a7b2),
  46402. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46403. Foffset: int16(23275),
  46404. },
  46405. 269: {
  46406. Fupper: uint32(0x0000a7b3),
  46407. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46408. Foffset: int16(928),
  46409. },
  46410. 270: {
  46411. Fupper: uint32(0x0000a7b4),
  46412. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  46413. Foffset: int16(1),
  46414. },
  46415. 271: {
  46416. Fupper: uint32(0x0000a7c4),
  46417. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46418. Foffset: int16(-int32(48)),
  46419. },
  46420. 272: {
  46421. Fupper: uint32(0x0000a7c5),
  46422. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46423. Foffset: int16(23229),
  46424. },
  46425. 273: {
  46426. Fupper: uint32(0x0000a7c6),
  46427. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46428. Foffset: int16(30152),
  46429. },
  46430. 274: {
  46431. Fupper: uint32(0x0000a7c7),
  46432. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46433. Foffset: int16(1),
  46434. },
  46435. 275: {
  46436. Fupper: uint32(0x0000a7d0),
  46437. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46438. Foffset: int16(1),
  46439. },
  46440. 276: {
  46441. Fupper: uint32(0x0000a7d6),
  46442. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46443. Foffset: int16(1),
  46444. },
  46445. 277: {
  46446. Fupper: uint32(0x0000a7f5),
  46447. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46448. Foffset: int16(1),
  46449. },
  46450. 278: {
  46451. Fupper: uint32(0x0000ab70),
  46452. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0050)&0x3fff<<2,
  46453. Foffset: int16(26672),
  46454. },
  46455. 279: {
  46456. Fupper: uint32(0x0000fb00),
  46457. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46458. Foffset: int16(435),
  46459. },
  46460. 280: {
  46461. Fupper: uint32(0x0000fb01),
  46462. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46463. Foffset: int16(437),
  46464. },
  46465. 281: {
  46466. Fupper: uint32(0x0000fb02),
  46467. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46468. Foffset: int16(439),
  46469. },
  46470. 282: {
  46471. Fupper: uint32(0x0000fb03),
  46472. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46473. Foffset: int16(441),
  46474. },
  46475. 283: {
  46476. Fupper: uint32(0x0000fb04),
  46477. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46478. Foffset: int16(444),
  46479. },
  46480. 284: {
  46481. Fupper: uint32(0x0000fb05),
  46482. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46483. Foffset: int16(447),
  46484. },
  46485. 285: {
  46486. Fupper: uint32(0x0000fb06),
  46487. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46488. Foffset: int16(449),
  46489. },
  46490. 286: {
  46491. Fupper: uint32(0x0000fb13),
  46492. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46493. Foffset: int16(451),
  46494. },
  46495. 287: {
  46496. Fupper: uint32(0x0000fb14),
  46497. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46498. Foffset: int16(455),
  46499. },
  46500. 288: {
  46501. Fupper: uint32(0x0000fb15),
  46502. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46503. Foffset: int16(459),
  46504. },
  46505. 289: {
  46506. Fupper: uint32(0x0000fb16),
  46507. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46508. Foffset: int16(463),
  46509. },
  46510. 290: {
  46511. Fupper: uint32(0x0000fb17),
  46512. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46513. Foffset: int16(467),
  46514. },
  46515. 291: {
  46516. Fupper: uint32(0x0000ff21),
  46517. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  46518. Foffset: int16(32),
  46519. },
  46520. 292: {
  46521. Fupper: uint32(0x00010400),
  46522. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0028)&0x3fff<<2,
  46523. Foffset: int16(40),
  46524. },
  46525. 293: {
  46526. Fupper: uint32(0x000104b0),
  46527. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0024)&0x3fff<<2,
  46528. Foffset: int16(40),
  46529. },
  46530. 294: {
  46531. Fupper: uint32(0x00010570),
  46532. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000b)&0x3fff<<2,
  46533. Foffset: int16(39),
  46534. },
  46535. 295: {
  46536. Fupper: uint32(0x0001057c),
  46537. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  46538. Foffset: int16(39),
  46539. },
  46540. 296: {
  46541. Fupper: uint32(0x0001058c),
  46542. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  46543. Foffset: int16(39),
  46544. },
  46545. 297: {
  46546. Fupper: uint32(0x00010594),
  46547. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46548. Foffset: int16(39),
  46549. },
  46550. 298: {
  46551. Fupper: uint32(0x00010c80),
  46552. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0033)&0x3fff<<2,
  46553. Foffset: int16(64),
  46554. },
  46555. 299: {
  46556. Fupper: uint32(0x000118a0),
  46557. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  46558. Foffset: int16(32),
  46559. },
  46560. 300: {
  46561. Fupper: uint32(0x00016e40),
  46562. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  46563. Foffset: int16(32),
  46564. },
  46565. 301: {
  46566. Fupper: uint32(0x0001e900),
  46567. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0022)&0x3fff<<2,
  46568. Foffset: int16(34),
  46569. },
  46570. }
  46571. var _fcCaseFoldChars = [471]TFcChar8{
  46572. 0: uint8(0x73),
  46573. 1: uint8(0x73),
  46574. 2: uint8(0x69),
  46575. 3: uint8(0xcc),
  46576. 4: uint8(0x87),
  46577. 5: uint8(0xca),
  46578. 6: uint8(0xbc),
  46579. 7: uint8(0x6e),
  46580. 8: uint8(0x6a),
  46581. 9: uint8(0xcc),
  46582. 10: uint8(0x8c),
  46583. 11: uint8(0xce),
  46584. 12: uint8(0xb9),
  46585. 13: uint8(0xcc),
  46586. 14: uint8(0x88),
  46587. 15: uint8(0xcc),
  46588. 16: uint8(0x81),
  46589. 17: uint8(0xcf),
  46590. 18: uint8(0x85),
  46591. 19: uint8(0xcc),
  46592. 20: uint8(0x88),
  46593. 21: uint8(0xcc),
  46594. 22: uint8(0x81),
  46595. 23: uint8(0xd5),
  46596. 24: uint8(0xa5),
  46597. 25: uint8(0xd6),
  46598. 26: uint8(0x82),
  46599. 27: uint8(0x68),
  46600. 28: uint8(0xcc),
  46601. 29: uint8(0xb1),
  46602. 30: uint8(0x74),
  46603. 31: uint8(0xcc),
  46604. 32: uint8(0x88),
  46605. 33: uint8(0x77),
  46606. 34: uint8(0xcc),
  46607. 35: uint8(0x8a),
  46608. 36: uint8(0x79),
  46609. 37: uint8(0xcc),
  46610. 38: uint8(0x8a),
  46611. 39: uint8(0x61),
  46612. 40: uint8(0xca),
  46613. 41: uint8(0xbe),
  46614. 42: uint8(0x73),
  46615. 43: uint8(0x73),
  46616. 44: uint8(0xcf),
  46617. 45: uint8(0x85),
  46618. 46: uint8(0xcc),
  46619. 47: uint8(0x93),
  46620. 48: uint8(0xcf),
  46621. 49: uint8(0x85),
  46622. 50: uint8(0xcc),
  46623. 51: uint8(0x93),
  46624. 52: uint8(0xcc),
  46625. 53: uint8(0x80),
  46626. 54: uint8(0xcf),
  46627. 55: uint8(0x85),
  46628. 56: uint8(0xcc),
  46629. 57: uint8(0x93),
  46630. 58: uint8(0xcc),
  46631. 59: uint8(0x81),
  46632. 60: uint8(0xcf),
  46633. 61: uint8(0x85),
  46634. 62: uint8(0xcc),
  46635. 63: uint8(0x93),
  46636. 64: uint8(0xcd),
  46637. 65: uint8(0x82),
  46638. 66: uint8(0xe1),
  46639. 67: uint8(0xbc),
  46640. 68: uint8(0x80),
  46641. 69: uint8(0xce),
  46642. 70: uint8(0xb9),
  46643. 71: uint8(0xe1),
  46644. 72: uint8(0xbc),
  46645. 73: uint8(0x81),
  46646. 74: uint8(0xce),
  46647. 75: uint8(0xb9),
  46648. 76: uint8(0xe1),
  46649. 77: uint8(0xbc),
  46650. 78: uint8(0x82),
  46651. 79: uint8(0xce),
  46652. 80: uint8(0xb9),
  46653. 81: uint8(0xe1),
  46654. 82: uint8(0xbc),
  46655. 83: uint8(0x83),
  46656. 84: uint8(0xce),
  46657. 85: uint8(0xb9),
  46658. 86: uint8(0xe1),
  46659. 87: uint8(0xbc),
  46660. 88: uint8(0x84),
  46661. 89: uint8(0xce),
  46662. 90: uint8(0xb9),
  46663. 91: uint8(0xe1),
  46664. 92: uint8(0xbc),
  46665. 93: uint8(0x85),
  46666. 94: uint8(0xce),
  46667. 95: uint8(0xb9),
  46668. 96: uint8(0xe1),
  46669. 97: uint8(0xbc),
  46670. 98: uint8(0x86),
  46671. 99: uint8(0xce),
  46672. 100: uint8(0xb9),
  46673. 101: uint8(0xe1),
  46674. 102: uint8(0xbc),
  46675. 103: uint8(0x87),
  46676. 104: uint8(0xce),
  46677. 105: uint8(0xb9),
  46678. 106: uint8(0xe1),
  46679. 107: uint8(0xbc),
  46680. 108: uint8(0x80),
  46681. 109: uint8(0xce),
  46682. 110: uint8(0xb9),
  46683. 111: uint8(0xe1),
  46684. 112: uint8(0xbc),
  46685. 113: uint8(0x81),
  46686. 114: uint8(0xce),
  46687. 115: uint8(0xb9),
  46688. 116: uint8(0xe1),
  46689. 117: uint8(0xbc),
  46690. 118: uint8(0x82),
  46691. 119: uint8(0xce),
  46692. 120: uint8(0xb9),
  46693. 121: uint8(0xe1),
  46694. 122: uint8(0xbc),
  46695. 123: uint8(0x83),
  46696. 124: uint8(0xce),
  46697. 125: uint8(0xb9),
  46698. 126: uint8(0xe1),
  46699. 127: uint8(0xbc),
  46700. 128: uint8(0x84),
  46701. 129: uint8(0xce),
  46702. 130: uint8(0xb9),
  46703. 131: uint8(0xe1),
  46704. 132: uint8(0xbc),
  46705. 133: uint8(0x85),
  46706. 134: uint8(0xce),
  46707. 135: uint8(0xb9),
  46708. 136: uint8(0xe1),
  46709. 137: uint8(0xbc),
  46710. 138: uint8(0x86),
  46711. 139: uint8(0xce),
  46712. 140: uint8(0xb9),
  46713. 141: uint8(0xe1),
  46714. 142: uint8(0xbc),
  46715. 143: uint8(0x87),
  46716. 144: uint8(0xce),
  46717. 145: uint8(0xb9),
  46718. 146: uint8(0xe1),
  46719. 147: uint8(0xbc),
  46720. 148: uint8(0xa0),
  46721. 149: uint8(0xce),
  46722. 150: uint8(0xb9),
  46723. 151: uint8(0xe1),
  46724. 152: uint8(0xbc),
  46725. 153: uint8(0xa1),
  46726. 154: uint8(0xce),
  46727. 155: uint8(0xb9),
  46728. 156: uint8(0xe1),
  46729. 157: uint8(0xbc),
  46730. 158: uint8(0xa2),
  46731. 159: uint8(0xce),
  46732. 160: uint8(0xb9),
  46733. 161: uint8(0xe1),
  46734. 162: uint8(0xbc),
  46735. 163: uint8(0xa3),
  46736. 164: uint8(0xce),
  46737. 165: uint8(0xb9),
  46738. 166: uint8(0xe1),
  46739. 167: uint8(0xbc),
  46740. 168: uint8(0xa4),
  46741. 169: uint8(0xce),
  46742. 170: uint8(0xb9),
  46743. 171: uint8(0xe1),
  46744. 172: uint8(0xbc),
  46745. 173: uint8(0xa5),
  46746. 174: uint8(0xce),
  46747. 175: uint8(0xb9),
  46748. 176: uint8(0xe1),
  46749. 177: uint8(0xbc),
  46750. 178: uint8(0xa6),
  46751. 179: uint8(0xce),
  46752. 180: uint8(0xb9),
  46753. 181: uint8(0xe1),
  46754. 182: uint8(0xbc),
  46755. 183: uint8(0xa7),
  46756. 184: uint8(0xce),
  46757. 185: uint8(0xb9),
  46758. 186: uint8(0xe1),
  46759. 187: uint8(0xbc),
  46760. 188: uint8(0xa0),
  46761. 189: uint8(0xce),
  46762. 190: uint8(0xb9),
  46763. 191: uint8(0xe1),
  46764. 192: uint8(0xbc),
  46765. 193: uint8(0xa1),
  46766. 194: uint8(0xce),
  46767. 195: uint8(0xb9),
  46768. 196: uint8(0xe1),
  46769. 197: uint8(0xbc),
  46770. 198: uint8(0xa2),
  46771. 199: uint8(0xce),
  46772. 200: uint8(0xb9),
  46773. 201: uint8(0xe1),
  46774. 202: uint8(0xbc),
  46775. 203: uint8(0xa3),
  46776. 204: uint8(0xce),
  46777. 205: uint8(0xb9),
  46778. 206: uint8(0xe1),
  46779. 207: uint8(0xbc),
  46780. 208: uint8(0xa4),
  46781. 209: uint8(0xce),
  46782. 210: uint8(0xb9),
  46783. 211: uint8(0xe1),
  46784. 212: uint8(0xbc),
  46785. 213: uint8(0xa5),
  46786. 214: uint8(0xce),
  46787. 215: uint8(0xb9),
  46788. 216: uint8(0xe1),
  46789. 217: uint8(0xbc),
  46790. 218: uint8(0xa6),
  46791. 219: uint8(0xce),
  46792. 220: uint8(0xb9),
  46793. 221: uint8(0xe1),
  46794. 222: uint8(0xbc),
  46795. 223: uint8(0xa7),
  46796. 224: uint8(0xce),
  46797. 225: uint8(0xb9),
  46798. 226: uint8(0xe1),
  46799. 227: uint8(0xbd),
  46800. 228: uint8(0xa0),
  46801. 229: uint8(0xce),
  46802. 230: uint8(0xb9),
  46803. 231: uint8(0xe1),
  46804. 232: uint8(0xbd),
  46805. 233: uint8(0xa1),
  46806. 234: uint8(0xce),
  46807. 235: uint8(0xb9),
  46808. 236: uint8(0xe1),
  46809. 237: uint8(0xbd),
  46810. 238: uint8(0xa2),
  46811. 239: uint8(0xce),
  46812. 240: uint8(0xb9),
  46813. 241: uint8(0xe1),
  46814. 242: uint8(0xbd),
  46815. 243: uint8(0xa3),
  46816. 244: uint8(0xce),
  46817. 245: uint8(0xb9),
  46818. 246: uint8(0xe1),
  46819. 247: uint8(0xbd),
  46820. 248: uint8(0xa4),
  46821. 249: uint8(0xce),
  46822. 250: uint8(0xb9),
  46823. 251: uint8(0xe1),
  46824. 252: uint8(0xbd),
  46825. 253: uint8(0xa5),
  46826. 254: uint8(0xce),
  46827. 255: uint8(0xb9),
  46828. 256: uint8(0xe1),
  46829. 257: uint8(0xbd),
  46830. 258: uint8(0xa6),
  46831. 259: uint8(0xce),
  46832. 260: uint8(0xb9),
  46833. 261: uint8(0xe1),
  46834. 262: uint8(0xbd),
  46835. 263: uint8(0xa7),
  46836. 264: uint8(0xce),
  46837. 265: uint8(0xb9),
  46838. 266: uint8(0xe1),
  46839. 267: uint8(0xbd),
  46840. 268: uint8(0xa0),
  46841. 269: uint8(0xce),
  46842. 270: uint8(0xb9),
  46843. 271: uint8(0xe1),
  46844. 272: uint8(0xbd),
  46845. 273: uint8(0xa1),
  46846. 274: uint8(0xce),
  46847. 275: uint8(0xb9),
  46848. 276: uint8(0xe1),
  46849. 277: uint8(0xbd),
  46850. 278: uint8(0xa2),
  46851. 279: uint8(0xce),
  46852. 280: uint8(0xb9),
  46853. 281: uint8(0xe1),
  46854. 282: uint8(0xbd),
  46855. 283: uint8(0xa3),
  46856. 284: uint8(0xce),
  46857. 285: uint8(0xb9),
  46858. 286: uint8(0xe1),
  46859. 287: uint8(0xbd),
  46860. 288: uint8(0xa4),
  46861. 289: uint8(0xce),
  46862. 290: uint8(0xb9),
  46863. 291: uint8(0xe1),
  46864. 292: uint8(0xbd),
  46865. 293: uint8(0xa5),
  46866. 294: uint8(0xce),
  46867. 295: uint8(0xb9),
  46868. 296: uint8(0xe1),
  46869. 297: uint8(0xbd),
  46870. 298: uint8(0xa6),
  46871. 299: uint8(0xce),
  46872. 300: uint8(0xb9),
  46873. 301: uint8(0xe1),
  46874. 302: uint8(0xbd),
  46875. 303: uint8(0xa7),
  46876. 304: uint8(0xce),
  46877. 305: uint8(0xb9),
  46878. 306: uint8(0xe1),
  46879. 307: uint8(0xbd),
  46880. 308: uint8(0xb0),
  46881. 309: uint8(0xce),
  46882. 310: uint8(0xb9),
  46883. 311: uint8(0xce),
  46884. 312: uint8(0xb1),
  46885. 313: uint8(0xce),
  46886. 314: uint8(0xb9),
  46887. 315: uint8(0xce),
  46888. 316: uint8(0xac),
  46889. 317: uint8(0xce),
  46890. 318: uint8(0xb9),
  46891. 319: uint8(0xce),
  46892. 320: uint8(0xb1),
  46893. 321: uint8(0xcd),
  46894. 322: uint8(0x82),
  46895. 323: uint8(0xce),
  46896. 324: uint8(0xb1),
  46897. 325: uint8(0xcd),
  46898. 326: uint8(0x82),
  46899. 327: uint8(0xce),
  46900. 328: uint8(0xb9),
  46901. 329: uint8(0xce),
  46902. 330: uint8(0xb1),
  46903. 331: uint8(0xce),
  46904. 332: uint8(0xb9),
  46905. 333: uint8(0xe1),
  46906. 334: uint8(0xbd),
  46907. 335: uint8(0xb4),
  46908. 336: uint8(0xce),
  46909. 337: uint8(0xb9),
  46910. 338: uint8(0xce),
  46911. 339: uint8(0xb7),
  46912. 340: uint8(0xce),
  46913. 341: uint8(0xb9),
  46914. 342: uint8(0xce),
  46915. 343: uint8(0xae),
  46916. 344: uint8(0xce),
  46917. 345: uint8(0xb9),
  46918. 346: uint8(0xce),
  46919. 347: uint8(0xb7),
  46920. 348: uint8(0xcd),
  46921. 349: uint8(0x82),
  46922. 350: uint8(0xce),
  46923. 351: uint8(0xb7),
  46924. 352: uint8(0xcd),
  46925. 353: uint8(0x82),
  46926. 354: uint8(0xce),
  46927. 355: uint8(0xb9),
  46928. 356: uint8(0xce),
  46929. 357: uint8(0xb7),
  46930. 358: uint8(0xce),
  46931. 359: uint8(0xb9),
  46932. 360: uint8(0xce),
  46933. 361: uint8(0xb9),
  46934. 362: uint8(0xcc),
  46935. 363: uint8(0x88),
  46936. 364: uint8(0xcc),
  46937. 365: uint8(0x80),
  46938. 366: uint8(0xce),
  46939. 367: uint8(0xb9),
  46940. 368: uint8(0xcc),
  46941. 369: uint8(0x88),
  46942. 370: uint8(0xcc),
  46943. 371: uint8(0x81),
  46944. 372: uint8(0xce),
  46945. 373: uint8(0xb9),
  46946. 374: uint8(0xcd),
  46947. 375: uint8(0x82),
  46948. 376: uint8(0xce),
  46949. 377: uint8(0xb9),
  46950. 378: uint8(0xcc),
  46951. 379: uint8(0x88),
  46952. 380: uint8(0xcd),
  46953. 381: uint8(0x82),
  46954. 382: uint8(0xcf),
  46955. 383: uint8(0x85),
  46956. 384: uint8(0xcc),
  46957. 385: uint8(0x88),
  46958. 386: uint8(0xcc),
  46959. 387: uint8(0x80),
  46960. 388: uint8(0xcf),
  46961. 389: uint8(0x85),
  46962. 390: uint8(0xcc),
  46963. 391: uint8(0x88),
  46964. 392: uint8(0xcc),
  46965. 393: uint8(0x81),
  46966. 394: uint8(0xcf),
  46967. 395: uint8(0x81),
  46968. 396: uint8(0xcc),
  46969. 397: uint8(0x93),
  46970. 398: uint8(0xcf),
  46971. 399: uint8(0x85),
  46972. 400: uint8(0xcd),
  46973. 401: uint8(0x82),
  46974. 402: uint8(0xcf),
  46975. 403: uint8(0x85),
  46976. 404: uint8(0xcc),
  46977. 405: uint8(0x88),
  46978. 406: uint8(0xcd),
  46979. 407: uint8(0x82),
  46980. 408: uint8(0xe1),
  46981. 409: uint8(0xbd),
  46982. 410: uint8(0xbc),
  46983. 411: uint8(0xce),
  46984. 412: uint8(0xb9),
  46985. 413: uint8(0xcf),
  46986. 414: uint8(0x89),
  46987. 415: uint8(0xce),
  46988. 416: uint8(0xb9),
  46989. 417: uint8(0xcf),
  46990. 418: uint8(0x8e),
  46991. 419: uint8(0xce),
  46992. 420: uint8(0xb9),
  46993. 421: uint8(0xcf),
  46994. 422: uint8(0x89),
  46995. 423: uint8(0xcd),
  46996. 424: uint8(0x82),
  46997. 425: uint8(0xcf),
  46998. 426: uint8(0x89),
  46999. 427: uint8(0xcd),
  47000. 428: uint8(0x82),
  47001. 429: uint8(0xce),
  47002. 430: uint8(0xb9),
  47003. 431: uint8(0xcf),
  47004. 432: uint8(0x89),
  47005. 433: uint8(0xce),
  47006. 434: uint8(0xb9),
  47007. 435: uint8(0x66),
  47008. 436: uint8(0x66),
  47009. 437: uint8(0x66),
  47010. 438: uint8(0x69),
  47011. 439: uint8(0x66),
  47012. 440: uint8(0x6c),
  47013. 441: uint8(0x66),
  47014. 442: uint8(0x66),
  47015. 443: uint8(0x69),
  47016. 444: uint8(0x66),
  47017. 445: uint8(0x66),
  47018. 446: uint8(0x6c),
  47019. 447: uint8(0x73),
  47020. 448: uint8(0x74),
  47021. 449: uint8(0x73),
  47022. 450: uint8(0x74),
  47023. 451: uint8(0xd5),
  47024. 452: uint8(0xb4),
  47025. 453: uint8(0xd5),
  47026. 454: uint8(0xb6),
  47027. 455: uint8(0xd5),
  47028. 456: uint8(0xb4),
  47029. 457: uint8(0xd5),
  47030. 458: uint8(0xa5),
  47031. 459: uint8(0xd5),
  47032. 460: uint8(0xb4),
  47033. 461: uint8(0xd5),
  47034. 462: uint8(0xab),
  47035. 463: uint8(0xd5),
  47036. 464: uint8(0xbe),
  47037. 465: uint8(0xd5),
  47038. 466: uint8(0xb6),
  47039. 467: uint8(0xd5),
  47040. 468: uint8(0xb4),
  47041. 469: uint8(0xd5),
  47042. 470: uint8(0xad),
  47043. }
  47044. type TFcCaseWalker = struct {
  47045. Fread uintptr
  47046. Fsrc uintptr
  47047. Futf8 [7]TFcChar8
  47048. }
  47049. type T_FcCaseWalker = TFcCaseWalker
  47050. func _FcStrCaseWalkerInit(tls *libc.TLS, src uintptr, w uintptr) {
  47051. (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc = src
  47052. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  47053. }
  47054. func _FcStrCaseWalkerLong(tls *libc.TLS, w uintptr, r TFcChar8) (r1 TFcChar8) {
  47055. bp := tls.Alloc(16)
  47056. defer tls.Free(16)
  47057. var dlen, len1, max, mid, min, slen, v1 int32
  47058. var fold, v2, v3 uintptr
  47059. var high, low TFcChar32
  47060. var _ /* ucs4 at bp+0 */ TFcChar32
  47061. _, _, _, _, _, _, _, _, _, _, _, _ = dlen, fold, high, len1, low, max, mid, min, slen, v1, v2, v3
  47062. len1 = libc.Int32FromUint64(libc.Xstrlen(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc))
  47063. slen = XFcUtf8ToUcs4(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc-uintptr(1), bp, len1+int32(1))
  47064. if slen <= 0 {
  47065. return r
  47066. }
  47067. if uint32(m_FC_MIN_FOLD_CHAR) <= *(*TFcChar32)(unsafe.Pointer(bp)) && *(*TFcChar32)(unsafe.Pointer(bp)) <= uint32(m_FC_MAX_FOLD_CHAR) {
  47068. min = 0
  47069. max = int32(m_FC_NUM_CASE_FOLD)
  47070. for min <= max {
  47071. mid = (min + max) >> int32(1)
  47072. low = _fcCaseFold[mid].Fupper
  47073. if int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4))&0x3>>0) == int32(m_FC_CASE_FOLD_FULL) {
  47074. v1 = int32(1)
  47075. } else {
  47076. v1 = int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4)) & 0xfffc >> 2)
  47077. }
  47078. high = low + libc.Uint32FromInt32(v1)
  47079. if high <= *(*TFcChar32)(unsafe.Pointer(bp)) {
  47080. min = mid + int32(1)
  47081. } else {
  47082. if *(*TFcChar32)(unsafe.Pointer(bp)) < low {
  47083. max = mid - int32(1)
  47084. } else {
  47085. fold = uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8
  47086. switch int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0x3 >> 0) {
  47087. case int32(m_FC_CASE_FOLD_EVEN_ODD):
  47088. if *(*TFcChar32)(unsafe.Pointer(bp))&uint32(1) != (*TFcCaseFold)(unsafe.Pointer(fold)).Fupper&uint32(1) {
  47089. return r
  47090. }
  47091. /* fall through ... */
  47092. fallthrough
  47093. default:
  47094. dlen = XFcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp))+libc.Uint32FromInt16((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), w+16)
  47095. case int32(m_FC_CASE_FOLD_FULL):
  47096. dlen = int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0xfffc >> 2)
  47097. libc.X__builtin___memcpy_chk(tls, w+16, uintptr(unsafe.Pointer(&_fcCaseFoldChars))+uintptr((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), libc.Uint64FromInt32(dlen), ^t__predefined_size_t(0))
  47098. break
  47099. }
  47100. /* consume rest of src utf-8 bytes */
  47101. *(*uintptr)(unsafe.Pointer(w + 8)) += uintptr(slen - int32(1))
  47102. /* read from temp buffer */
  47103. *(*TFcChar8)(unsafe.Pointer(w + 16 + uintptr(dlen))) = uint8('\000')
  47104. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = w + 16
  47105. v3 = w
  47106. v2 = *(*uintptr)(unsafe.Pointer(v3))
  47107. *(*uintptr)(unsafe.Pointer(v3))++
  47108. return *(*TFcChar8)(unsafe.Pointer(v2))
  47109. }
  47110. }
  47111. }
  47112. }
  47113. return r
  47114. }
  47115. func _FcStrCaseWalkerNextNonDelim(tls *libc.TLS, w uintptr, delims uintptr) (r1 TFcChar8) {
  47116. var r, v2 TFcChar8
  47117. var v1, v7 int32
  47118. var v3, v4, v5, v6 uintptr
  47119. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  47120. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  47121. v1 = int32(1)
  47122. } else {
  47123. v1 = 0
  47124. }
  47125. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  47126. v4 = w
  47127. v3 = *(*uintptr)(unsafe.Pointer(v4))
  47128. *(*uintptr)(unsafe.Pointer(v4))++
  47129. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  47130. r = v2
  47131. if v2 != 0 {
  47132. return r
  47133. }
  47134. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  47135. }
  47136. for cond := true; cond; cond = libc.Int32FromUint8(r) != 0 && delims != 0 && libc.Xstrchr(tls, delims, libc.Int32FromUint8(r)) != 0 {
  47137. v6 = w + 8
  47138. v5 = *(*uintptr)(unsafe.Pointer(v6))
  47139. *(*uintptr)(unsafe.Pointer(v6))++
  47140. r = *(*TFcChar8)(unsafe.Pointer(v5))
  47141. }
  47142. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  47143. v7 = int32(1)
  47144. } else {
  47145. v7 = 0
  47146. }
  47147. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  47148. return _FcStrCaseWalkerLong(tls, w, r)
  47149. }
  47150. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  47151. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  47152. }
  47153. return r
  47154. }
  47155. func _FcStrCaseWalkerNextNonBlank(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  47156. var r, v2 TFcChar8
  47157. var v1, v7 int32
  47158. var v3, v4, v5, v6 uintptr
  47159. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  47160. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  47161. v1 = int32(1)
  47162. } else {
  47163. v1 = 0
  47164. }
  47165. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  47166. v4 = w
  47167. v3 = *(*uintptr)(unsafe.Pointer(v4))
  47168. *(*uintptr)(unsafe.Pointer(v4))++
  47169. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  47170. r = v2
  47171. if v2 != 0 {
  47172. return r
  47173. }
  47174. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  47175. }
  47176. for cond := true; cond; cond = libc.Int32FromUint8(r) == int32(' ') {
  47177. v6 = w + 8
  47178. v5 = *(*uintptr)(unsafe.Pointer(v6))
  47179. *(*uintptr)(unsafe.Pointer(v6))++
  47180. r = *(*TFcChar8)(unsafe.Pointer(v5))
  47181. }
  47182. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  47183. v7 = int32(1)
  47184. } else {
  47185. v7 = 0
  47186. }
  47187. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  47188. return _FcStrCaseWalkerLong(tls, w, r)
  47189. }
  47190. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  47191. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  47192. }
  47193. return r
  47194. }
  47195. func _FcStrCaseWalkerNext(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  47196. var r, v2 TFcChar8
  47197. var v1, v7 int32
  47198. var v3, v4, v5, v6 uintptr
  47199. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  47200. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  47201. v1 = int32(1)
  47202. } else {
  47203. v1 = 0
  47204. }
  47205. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  47206. v4 = w
  47207. v3 = *(*uintptr)(unsafe.Pointer(v4))
  47208. *(*uintptr)(unsafe.Pointer(v4))++
  47209. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  47210. r = v2
  47211. if v2 != 0 {
  47212. return r
  47213. }
  47214. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  47215. }
  47216. v6 = w + 8
  47217. v5 = *(*uintptr)(unsafe.Pointer(v6))
  47218. *(*uintptr)(unsafe.Pointer(v6))++
  47219. r = *(*TFcChar8)(unsafe.Pointer(v5))
  47220. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  47221. v7 = int32(1)
  47222. } else {
  47223. v7 = 0
  47224. }
  47225. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  47226. return _FcStrCaseWalkerLong(tls, w, r)
  47227. }
  47228. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  47229. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  47230. }
  47231. return r
  47232. }
  47233. func XFcStrDowncase(tls *libc.TLS, s uintptr) (r uintptr) {
  47234. bp := tls.Alloc(32)
  47235. defer tls.Free(32)
  47236. var d, dst, v1, v3 uintptr
  47237. var len1 int32
  47238. var v2 TFcChar8
  47239. var _ /* w at bp+0 */ TFcCaseWalker
  47240. _, _, _, _, _, _ = d, dst, len1, v1, v2, v3
  47241. len1 = 0
  47242. _FcStrCaseWalkerInit(tls, s, bp)
  47243. for _FcStrCaseWalkerNext(tls, bp) != 0 {
  47244. len1++
  47245. }
  47246. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(len1+int32(1)))
  47247. dst = v1
  47248. d = v1
  47249. if !(d != 0) {
  47250. return uintptr(0)
  47251. }
  47252. _FcStrCaseWalkerInit(tls, s, bp)
  47253. for {
  47254. v2 = _FcStrCaseWalkerNext(tls, bp)
  47255. v3 = d
  47256. d++
  47257. *(*TFcChar8)(unsafe.Pointer(v3)) = v2
  47258. if !(v2 != 0) {
  47259. break
  47260. }
  47261. }
  47262. return dst
  47263. }
  47264. func XFcStrCmpIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  47265. bp := tls.Alloc(48)
  47266. defer tls.Free(48)
  47267. var c1, c2 TFcChar8
  47268. var _ /* w1 at bp+0 */ TFcCaseWalker
  47269. var _ /* w2 at bp+24 */ TFcCaseWalker
  47270. _, _ = c1, c2
  47271. if s1 == s2 {
  47272. return 0
  47273. }
  47274. _FcStrCaseWalkerInit(tls, s1, bp)
  47275. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47276. for {
  47277. c1 = _FcStrCaseWalkerNext(tls, bp)
  47278. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  47279. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47280. break
  47281. }
  47282. goto _1
  47283. _1:
  47284. }
  47285. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  47286. }
  47287. func XFcStrCmpIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  47288. bp := tls.Alloc(48)
  47289. defer tls.Free(48)
  47290. var c1, c2 TFcChar8
  47291. var _ /* w1 at bp+0 */ TFcCaseWalker
  47292. var _ /* w2 at bp+24 */ TFcCaseWalker
  47293. _, _ = c1, c2
  47294. if s1 == s2 {
  47295. return 0
  47296. }
  47297. _FcStrCaseWalkerInit(tls, s1, bp)
  47298. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47299. for {
  47300. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  47301. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+24)
  47302. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47303. break
  47304. }
  47305. goto _1
  47306. _1:
  47307. }
  47308. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  47309. }
  47310. func XFcStrCmp(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  47311. var c1, c2 TFcChar8
  47312. var v2, v3 uintptr
  47313. _, _, _, _ = c1, c2, v2, v3
  47314. if s1 == s2 {
  47315. return 0
  47316. }
  47317. for {
  47318. v2 = s1
  47319. s1++
  47320. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  47321. v3 = s2
  47322. s2++
  47323. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  47324. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47325. break
  47326. }
  47327. goto _1
  47328. _1:
  47329. }
  47330. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  47331. }
  47332. /*
  47333. * Return a hash value for a string
  47334. */
  47335. func XFcStrHashIgnoreCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  47336. bp := tls.Alloc(32)
  47337. defer tls.Free(32)
  47338. var c, v1 TFcChar8
  47339. var h TFcChar32
  47340. var _ /* w at bp+0 */ TFcCaseWalker
  47341. _, _, _ = c, h, v1
  47342. h = uint32(0)
  47343. _FcStrCaseWalkerInit(tls, s, bp)
  47344. for {
  47345. v1 = _FcStrCaseWalkerNext(tls, bp)
  47346. c = v1
  47347. if !(v1 != 0) {
  47348. break
  47349. }
  47350. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  47351. }
  47352. return h
  47353. }
  47354. func XFcStrHashIgnoreBlanksAndCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  47355. bp := tls.Alloc(32)
  47356. defer tls.Free(32)
  47357. var c, v1 TFcChar8
  47358. var h TFcChar32
  47359. var _ /* w at bp+0 */ TFcCaseWalker
  47360. _, _, _ = c, h, v1
  47361. h = uint32(0)
  47362. _FcStrCaseWalkerInit(tls, s, bp)
  47363. for {
  47364. v1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  47365. c = v1
  47366. if !(v1 != 0) {
  47367. break
  47368. }
  47369. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  47370. }
  47371. return h
  47372. }
  47373. /*
  47374. * Is the head of s1 equal to s2?
  47375. */
  47376. func _FcStrIsAtIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  47377. bp := tls.Alloc(48)
  47378. defer tls.Free(48)
  47379. var c1, c2 TFcChar8
  47380. var _ /* w1 at bp+0 */ TFcCaseWalker
  47381. var _ /* w2 at bp+24 */ TFcCaseWalker
  47382. _, _ = c1, c2
  47383. _FcStrCaseWalkerInit(tls, s1, bp)
  47384. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47385. for {
  47386. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  47387. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+24)
  47388. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47389. break
  47390. }
  47391. goto _1
  47392. _1:
  47393. }
  47394. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  47395. }
  47396. /*
  47397. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  47398. */
  47399. func XFcStrContainsIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  47400. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  47401. if _FcStrIsAtIgnoreBlanksAndCase(tls, s1, s2) != 0 {
  47402. return s1
  47403. }
  47404. s1++
  47405. }
  47406. return uintptr(0)
  47407. }
  47408. func _FcCharIsPunct1(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  47409. if libc.Int32FromUint8(c) < int32('0') {
  47410. return int32(m_FcTrue)
  47411. }
  47412. if libc.Int32FromUint8(c) <= int32('9') {
  47413. return m_FcFalse
  47414. }
  47415. if libc.Int32FromUint8(c) < int32('A') {
  47416. return int32(m_FcTrue)
  47417. }
  47418. if libc.Int32FromUint8(c) <= int32('Z') {
  47419. return m_FcFalse
  47420. }
  47421. if libc.Int32FromUint8(c) < int32('a') {
  47422. return int32(m_FcTrue)
  47423. }
  47424. if libc.Int32FromUint8(c) <= int32('z') {
  47425. return m_FcFalse
  47426. }
  47427. if libc.Int32FromUint8(c) <= int32('~') {
  47428. return int32(m_FcTrue)
  47429. }
  47430. return m_FcFalse
  47431. }
  47432. /*
  47433. * Is the head of s1 equal to s2?
  47434. */
  47435. func _FcStrIsAtIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  47436. bp := tls.Alloc(48)
  47437. defer tls.Free(48)
  47438. var c1, c2 TFcChar8
  47439. var _ /* w1 at bp+0 */ TFcCaseWalker
  47440. var _ /* w2 at bp+24 */ TFcCaseWalker
  47441. _, _ = c1, c2
  47442. _FcStrCaseWalkerInit(tls, s1, bp)
  47443. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47444. for {
  47445. c1 = _FcStrCaseWalkerNext(tls, bp)
  47446. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  47447. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47448. break
  47449. }
  47450. goto _1
  47451. _1:
  47452. }
  47453. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  47454. }
  47455. /*
  47456. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  47457. */
  47458. func XFcStrContainsIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  47459. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  47460. if _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 {
  47461. return s1
  47462. }
  47463. s1++
  47464. }
  47465. return uintptr(0)
  47466. }
  47467. /*
  47468. * Does s1 contain an instance of s2 on a word boundary (ignoring case)?
  47469. */
  47470. func XFcStrContainsWord(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  47471. var s1len, s2len int32
  47472. var wordStart TFcBool
  47473. _, _, _ = s1len, s2len, wordStart
  47474. wordStart = int32(m_FcTrue)
  47475. s1len = libc.Int32FromUint64(libc.Xstrlen(tls, s1))
  47476. s2len = libc.Int32FromUint64(libc.Xstrlen(tls, s2))
  47477. for s1len >= s2len {
  47478. if wordStart != 0 && _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 && (s1len == s2len || _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1 + uintptr(s2len)))) != 0) {
  47479. return s1
  47480. }
  47481. wordStart = m_FcFalse
  47482. if _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1))) != 0 {
  47483. wordStart = int32(m_FcTrue)
  47484. }
  47485. s1++
  47486. s1len--
  47487. }
  47488. return uintptr(0)
  47489. }
  47490. /*
  47491. * returns the number of strings (ignoring delimiters and case) being matched
  47492. */
  47493. func XFcStrMatchIgnoreCaseAndDelims(tls *libc.TLS, s1 uintptr, s2 uintptr, delims uintptr) (r int32) {
  47494. bp := tls.Alloc(48)
  47495. defer tls.Free(48)
  47496. var c1, c2 TFcChar8
  47497. var _ /* w1 at bp+0 */ TFcCaseWalker
  47498. var _ /* w2 at bp+24 */ TFcCaseWalker
  47499. _, _ = c1, c2
  47500. if s1 == s2 {
  47501. return 0
  47502. }
  47503. _FcStrCaseWalkerInit(tls, s1, bp)
  47504. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47505. for {
  47506. c1 = _FcStrCaseWalkerNextNonDelim(tls, bp, delims)
  47507. c2 = _FcStrCaseWalkerNextNonDelim(tls, bp+24, delims)
  47508. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47509. break
  47510. }
  47511. goto _1
  47512. _1:
  47513. }
  47514. return int32(int64((*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc) - int64(s1) - int64(1))
  47515. }
  47516. func XFcStrGlobMatch(tls *libc.TLS, glob uintptr, string1 uintptr) (r TFcBool) {
  47517. var c, v1 TFcChar8
  47518. var l1, l2 Tsize_t
  47519. var v2, v3, v4 uintptr
  47520. _, _, _, _, _, _, _ = c, l1, l2, v1, v2, v3, v4
  47521. for {
  47522. v2 = glob
  47523. glob++
  47524. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  47525. c = v1
  47526. if !(v1 != 0) {
  47527. break
  47528. }
  47529. switch libc.Int32FromUint8(c) {
  47530. case int32('*'):
  47531. /* short circuit common case */
  47532. if !(*(*TFcChar8)(unsafe.Pointer(glob)) != 0) {
  47533. return int32(m_FcTrue)
  47534. }
  47535. /* short circuit another common case */
  47536. if libc.Xstrchr(tls, glob, int32('*')) == uintptr(0) {
  47537. l1 = libc.Xstrlen(tls, string1)
  47538. l2 = libc.Xstrlen(tls, glob)
  47539. if l1 < l2 {
  47540. return m_FcFalse
  47541. }
  47542. string1 += uintptr(l1 - l2)
  47543. }
  47544. for *(*TFcChar8)(unsafe.Pointer(string1)) != 0 {
  47545. if XFcStrGlobMatch(tls, glob, string1) != 0 {
  47546. return int32(m_FcTrue)
  47547. }
  47548. string1++
  47549. }
  47550. return m_FcFalse
  47551. case int32('?'):
  47552. v3 = string1
  47553. string1++
  47554. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v3))) == int32('\000') {
  47555. return m_FcFalse
  47556. }
  47557. default:
  47558. v4 = string1
  47559. string1++
  47560. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v4))) != libc.Int32FromUint8(c) {
  47561. return m_FcFalse
  47562. }
  47563. break
  47564. }
  47565. }
  47566. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(string1))) == int32('\000'))
  47567. }
  47568. func XFcStrStrIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  47569. bp := tls.Alloc(96)
  47570. defer tls.Free(96)
  47571. var c1, c1t, c2, c2t TFcChar8
  47572. var cur uintptr
  47573. var _ /* w1 at bp+0 */ TFcCaseWalker
  47574. var _ /* w1t at bp+48 */ TFcCaseWalker
  47575. var _ /* w2 at bp+24 */ TFcCaseWalker
  47576. var _ /* w2t at bp+72 */ TFcCaseWalker
  47577. _, _, _, _, _ = c1, c1t, c2, c2t, cur
  47578. if !(s1 != 0) || !(s2 != 0) {
  47579. return uintptr(0)
  47580. }
  47581. if s1 == s2 {
  47582. return s1
  47583. }
  47584. _FcStrCaseWalkerInit(tls, s1, bp)
  47585. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47586. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  47587. for {
  47588. cur = (*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc
  47589. c1 = _FcStrCaseWalkerNext(tls, bp)
  47590. if !(c1 != 0) {
  47591. break
  47592. }
  47593. if libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  47594. *(*TFcCaseWalker)(unsafe.Pointer(bp + 48)) = *(*TFcCaseWalker)(unsafe.Pointer(bp))
  47595. *(*TFcCaseWalker)(unsafe.Pointer(bp + 72)) = *(*TFcCaseWalker)(unsafe.Pointer(bp + 24))
  47596. for {
  47597. c1t = _FcStrCaseWalkerNext(tls, bp+48)
  47598. c2t = _FcStrCaseWalkerNext(tls, bp+72)
  47599. if !(c2t != 0) {
  47600. return cur
  47601. }
  47602. if libc.Int32FromUint8(c2t) != libc.Int32FromUint8(c1t) {
  47603. break
  47604. }
  47605. goto _2
  47606. _2:
  47607. }
  47608. }
  47609. goto _1
  47610. _1:
  47611. }
  47612. return uintptr(0)
  47613. }
  47614. func XFcStrStr(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  47615. var b, p, v1, v3 uintptr
  47616. var c1, c2 TFcChar8
  47617. _, _, _, _, _, _ = b, c1, c2, p, v1, v3
  47618. p = s1
  47619. b = s2
  47620. if !(s1 != 0) || !(s2 != 0) {
  47621. return uintptr(0)
  47622. }
  47623. if s1 == s2 {
  47624. return s1
  47625. }
  47626. goto again
  47627. again:
  47628. ;
  47629. v1 = s2
  47630. s2++
  47631. c2 = *(*TFcChar8)(unsafe.Pointer(v1))
  47632. if !(c2 != 0) {
  47633. return uintptr(0)
  47634. }
  47635. for {
  47636. p = s1
  47637. v3 = s1
  47638. s1++
  47639. c1 = *(*TFcChar8)(unsafe.Pointer(v3))
  47640. if !(c1 != 0) || libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  47641. break
  47642. }
  47643. goto _2
  47644. _2:
  47645. }
  47646. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47647. return uintptr(0)
  47648. }
  47649. for {
  47650. c1 = *(*TFcChar8)(unsafe.Pointer(s1))
  47651. c2 = *(*TFcChar8)(unsafe.Pointer(s2))
  47652. if c1 != 0 && c2 != 0 && libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47653. s1 = p + uintptr(1)
  47654. s2 = b
  47655. goto again
  47656. }
  47657. if !(c2 != 0) {
  47658. return p
  47659. }
  47660. if !(c1 != 0) {
  47661. return uintptr(0)
  47662. }
  47663. s1++
  47664. s2++
  47665. goto _4
  47666. _4:
  47667. }
  47668. /* never reached. */
  47669. return r
  47670. }
  47671. func XFcUtf8ToUcs4(tls *libc.TLS, src_orig uintptr, dst uintptr, len1 int32) (r int32) {
  47672. var extra, v2 int32
  47673. var result TFcChar32
  47674. var s TFcChar8
  47675. var src, v1, v3 uintptr
  47676. _, _, _, _, _, _, _ = extra, result, s, src, v1, v2, v3
  47677. src = src_orig
  47678. if len1 == 0 {
  47679. return 0
  47680. }
  47681. v1 = src
  47682. src++
  47683. s = *(*TFcChar8)(unsafe.Pointer(v1))
  47684. len1--
  47685. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x80) != 0) {
  47686. result = uint32(s)
  47687. extra = 0
  47688. } else {
  47689. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x40) != 0) {
  47690. return -int32(1)
  47691. } else {
  47692. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x20) != 0) {
  47693. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x1f))
  47694. extra = int32(1)
  47695. } else {
  47696. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x10) != 0) {
  47697. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0xf))
  47698. extra = int32(2)
  47699. } else {
  47700. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x08) != 0) {
  47701. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x07))
  47702. extra = int32(3)
  47703. } else {
  47704. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x04) != 0) {
  47705. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x03))
  47706. extra = int32(4)
  47707. } else {
  47708. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x02) != 0) {
  47709. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x01))
  47710. extra = int32(5)
  47711. } else {
  47712. return -int32(1)
  47713. }
  47714. }
  47715. }
  47716. }
  47717. }
  47718. }
  47719. }
  47720. if extra > len1 {
  47721. return -int32(1)
  47722. }
  47723. for {
  47724. v2 = extra
  47725. extra--
  47726. if !(v2 != 0) {
  47727. break
  47728. }
  47729. result <<= uint32(6)
  47730. v3 = src
  47731. src++
  47732. s = *(*TFcChar8)(unsafe.Pointer(v3))
  47733. if libc.Int32FromUint8(s)&int32(0xc0) != int32(0x80) {
  47734. return -int32(1)
  47735. }
  47736. result |= libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x3f))
  47737. }
  47738. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  47739. return int32(int64(src) - int64(src_orig))
  47740. }
  47741. func XFcUtf8Len(tls *libc.TLS, string1 uintptr, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  47742. bp := tls.Alloc(16)
  47743. defer tls.Free(16)
  47744. var clen, n int32
  47745. var max TFcChar32
  47746. var _ /* c at bp+0 */ TFcChar32
  47747. _, _, _ = clen, max, n
  47748. n = 0
  47749. max = uint32(0)
  47750. for len1 != 0 {
  47751. clen = XFcUtf8ToUcs4(tls, string1, bp, len1)
  47752. if clen <= 0 { /* malformed UTF8 string */
  47753. return m_FcFalse
  47754. }
  47755. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  47756. max = *(*TFcChar32)(unsafe.Pointer(bp))
  47757. }
  47758. string1 += uintptr(clen)
  47759. len1 -= clen
  47760. n++
  47761. }
  47762. *(*int32)(unsafe.Pointer(nchar)) = n
  47763. if max >= uint32(0x10000) {
  47764. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  47765. } else {
  47766. if max > uint32(0x100) {
  47767. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  47768. } else {
  47769. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  47770. }
  47771. }
  47772. return int32(m_FcTrue)
  47773. }
  47774. func XFcUcs4ToUtf8(tls *libc.TLS, ucs4 TFcChar32, dest uintptr) (r int32) {
  47775. var bits int32
  47776. var d, v1, v2, v3, v4, v5, v6, v8 uintptr
  47777. _, _, _, _, _, _, _, _, _ = bits, d, v1, v2, v3, v4, v5, v6, v8
  47778. d = dest
  47779. if ucs4 < uint32(0x80) {
  47780. v1 = d
  47781. d++
  47782. *(*TFcChar8)(unsafe.Pointer(v1)) = uint8(ucs4)
  47783. bits = -int32(6)
  47784. } else {
  47785. if ucs4 < uint32(0x800) {
  47786. v2 = d
  47787. d++
  47788. *(*TFcChar8)(unsafe.Pointer(v2)) = uint8(ucs4>>libc.Int32FromInt32(6)&uint32(0x1F) | uint32(0xC0))
  47789. bits = 0
  47790. } else {
  47791. if ucs4 < uint32(0x10000) {
  47792. v3 = d
  47793. d++
  47794. *(*TFcChar8)(unsafe.Pointer(v3)) = uint8(ucs4>>libc.Int32FromInt32(12)&uint32(0x0F) | uint32(0xE0))
  47795. bits = int32(6)
  47796. } else {
  47797. if ucs4 < uint32(0x200000) {
  47798. v4 = d
  47799. d++
  47800. *(*TFcChar8)(unsafe.Pointer(v4)) = uint8(ucs4>>libc.Int32FromInt32(18)&uint32(0x07) | uint32(0xF0))
  47801. bits = int32(12)
  47802. } else {
  47803. if ucs4 < uint32(0x4000000) {
  47804. v5 = d
  47805. d++
  47806. *(*TFcChar8)(unsafe.Pointer(v5)) = uint8(ucs4>>libc.Int32FromInt32(24)&uint32(0x03) | uint32(0xF8))
  47807. bits = int32(18)
  47808. } else {
  47809. if ucs4 < uint32(0x80000000) {
  47810. v6 = d
  47811. d++
  47812. *(*TFcChar8)(unsafe.Pointer(v6)) = uint8(ucs4>>libc.Int32FromInt32(30)&uint32(0x01) | uint32(0xFC))
  47813. bits = int32(24)
  47814. } else {
  47815. return 0
  47816. }
  47817. }
  47818. }
  47819. }
  47820. }
  47821. }
  47822. for {
  47823. if !(bits >= 0) {
  47824. break
  47825. }
  47826. v8 = d
  47827. d++
  47828. *(*TFcChar8)(unsafe.Pointer(v8)) = uint8(ucs4>>bits&uint32(0x3F) | uint32(0x80))
  47829. goto _7
  47830. _7:
  47831. ;
  47832. bits -= int32(6)
  47833. }
  47834. return int32(int64(d) - int64(dest))
  47835. }
  47836. func XFcUtf16ToUcs4(tls *libc.TLS, src_orig uintptr, endian TFcEndian, dst uintptr, len1 int32) (r int32) {
  47837. /* in bytes */
  47838. var a, b TFcChar16
  47839. var result TFcChar32
  47840. var src uintptr
  47841. var v1, v2, v3, v4 int32
  47842. _, _, _, _, _, _, _, _ = a, b, result, src, v1, v2, v3, v4
  47843. src = src_orig
  47844. if len1 < int32(2) {
  47845. return 0
  47846. }
  47847. if endian == int32(_FcEndianBig) {
  47848. v1 = 0
  47849. } else {
  47850. v1 = int32(1)
  47851. }
  47852. if endian == int32(_FcEndianBig) {
  47853. v2 = int32(1)
  47854. } else {
  47855. v2 = 0
  47856. }
  47857. a = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v1))))<<libc.Int32FromInt32(8))) | libc.Int32FromUint16(uint16(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v2))))))
  47858. src += uintptr(2)
  47859. len1 -= int32(2)
  47860. /*
  47861. * Check for surrogate
  47862. */
  47863. if libc.Int32FromUint16(a)&int32(0xfc00) == int32(0xd800) {
  47864. if len1 < int32(2) {
  47865. return 0
  47866. }
  47867. if endian == int32(_FcEndianBig) {
  47868. v3 = 0
  47869. } else {
  47870. v3 = int32(1)
  47871. }
  47872. if endian == int32(_FcEndianBig) {
  47873. v4 = int32(1)
  47874. } else {
  47875. v4 = 0
  47876. }
  47877. b = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v3))))<<libc.Int32FromInt32(8))) | libc.Int32FromUint16(uint16(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v4))))))
  47878. src += uintptr(2)
  47879. len1 -= int32(2)
  47880. /*
  47881. * Check for invalid surrogate sequence
  47882. */
  47883. if libc.Int32FromUint16(b)&int32(0xfc00) != int32(0xdc00) {
  47884. return 0
  47885. }
  47886. result = uint32(a)&uint32(0x3ff)<<int32(10) | uint32(b)&uint32(0x3ff) + uint32(0x10000)
  47887. } else {
  47888. result = uint32(a)
  47889. }
  47890. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  47891. return int32(int64(src) - int64(src_orig))
  47892. }
  47893. func XFcUtf16Len(tls *libc.TLS, string1 uintptr, endian TFcEndian, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  47894. bp := tls.Alloc(16)
  47895. defer tls.Free(16)
  47896. var clen, n int32
  47897. var max TFcChar32
  47898. var _ /* c at bp+0 */ TFcChar32
  47899. _, _, _ = clen, max, n
  47900. n = 0
  47901. max = uint32(0)
  47902. for len1 != 0 {
  47903. clen = XFcUtf16ToUcs4(tls, string1, endian, bp, len1)
  47904. if clen <= 0 { /* malformed UTF8 string */
  47905. return m_FcFalse
  47906. }
  47907. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  47908. max = *(*TFcChar32)(unsafe.Pointer(bp))
  47909. }
  47910. string1 += uintptr(clen)
  47911. len1 -= clen
  47912. n++
  47913. }
  47914. *(*int32)(unsafe.Pointer(nchar)) = n
  47915. if max >= uint32(0x10000) {
  47916. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  47917. } else {
  47918. if max > uint32(0x100) {
  47919. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  47920. } else {
  47921. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  47922. }
  47923. }
  47924. return int32(m_FcTrue)
  47925. }
  47926. func XFcStrBufInit(tls *libc.TLS, buf uintptr, init1 uintptr, size int32) {
  47927. if init1 != 0 {
  47928. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = init1
  47929. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  47930. } else {
  47931. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = buf + 24
  47932. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = int32(128)
  47933. }
  47934. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = m_FcFalse
  47935. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = m_FcFalse
  47936. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = 0
  47937. }
  47938. func XFcStrBufDestroy(tls *libc.TLS, buf uintptr) {
  47939. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  47940. libc.Xfree(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf)
  47941. XFcStrBufInit(tls, buf, uintptr(0), 0)
  47942. }
  47943. }
  47944. func XFcStrBufDone(tls *libc.TLS, buf uintptr) (r uintptr) {
  47945. var ret uintptr
  47946. _ = ret
  47947. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  47948. ret = libc.UintptrFromInt32(0)
  47949. } else {
  47950. ret = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1+int32(1)))
  47951. }
  47952. if ret != 0 {
  47953. libc.X__builtin___memcpy_chk(tls, ret, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1), ^t__predefined_size_t(0))
  47954. *(*TFcChar8)(unsafe.Pointer(ret + uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))) = uint8('\000')
  47955. }
  47956. XFcStrBufDestroy(tls, buf)
  47957. return ret
  47958. }
  47959. func XFcStrBufDoneStatic(tls *libc.TLS, buf uintptr) (r uintptr) {
  47960. XFcStrBufChar(tls, buf, uint8('\000'))
  47961. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  47962. return libc.UintptrFromInt32(0)
  47963. }
  47964. return (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf
  47965. }
  47966. func XFcStrBufChar(tls *libc.TLS, buf uintptr, c TFcChar8) (r TFcBool) {
  47967. var new1, v2 uintptr
  47968. var size, v1 int32
  47969. _, _, _, _ = new1, size, v1, v2
  47970. if (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 == (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize {
  47971. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  47972. return m_FcFalse
  47973. }
  47974. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  47975. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize * int32(2)
  47976. new1 = libc.Xrealloc(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32(size))
  47977. } else {
  47978. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize + int32(64)
  47979. new1 = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  47980. if new1 != 0 {
  47981. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = int32(m_FcTrue)
  47982. libc.X__builtin___memcpy_chk(tls, new1, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1), ^t__predefined_size_t(0))
  47983. }
  47984. }
  47985. if !(new1 != 0) {
  47986. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = int32(m_FcTrue)
  47987. return m_FcFalse
  47988. }
  47989. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  47990. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = new1
  47991. }
  47992. v2 = buf + 16
  47993. v1 = *(*int32)(unsafe.Pointer(v2))
  47994. *(*int32)(unsafe.Pointer(v2))++
  47995. *(*TFcChar8)(unsafe.Pointer((*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(v1))) = c
  47996. return int32(m_FcTrue)
  47997. }
  47998. func XFcStrBufString(tls *libc.TLS, buf uintptr, s uintptr) (r TFcBool) {
  47999. var c, v1 TFcChar8
  48000. var v2 uintptr
  48001. _, _, _ = c, v1, v2
  48002. for {
  48003. v2 = s
  48004. s++
  48005. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  48006. c = v1
  48007. if !(v1 != 0) {
  48008. break
  48009. }
  48010. if !(XFcStrBufChar(tls, buf, c) != 0) {
  48011. return m_FcFalse
  48012. }
  48013. }
  48014. return int32(m_FcTrue)
  48015. }
  48016. func XFcStrBufData(tls *libc.TLS, buf uintptr, s uintptr, len1 int32) (r TFcBool) {
  48017. var v1 int32
  48018. var v2 uintptr
  48019. _, _ = v1, v2
  48020. for {
  48021. v1 = len1
  48022. len1--
  48023. if !(v1 > 0) {
  48024. break
  48025. }
  48026. v2 = s
  48027. s++
  48028. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v2))) != 0) {
  48029. return m_FcFalse
  48030. }
  48031. }
  48032. return int32(m_FcTrue)
  48033. }
  48034. func XFcStrUsesHome(tls *libc.TLS, s uintptr) (r TFcBool) {
  48035. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~'))
  48036. }
  48037. func XFcStrIsAbsoluteFilename(tls *libc.TLS, s uintptr) (r TFcBool) {
  48038. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/'))
  48039. }
  48040. func XFcStrBuildFilename(tls *libc.TLS, path uintptr, va uintptr) (r uintptr) {
  48041. var ap Tva_list
  48042. var len1 Tsize_t
  48043. var list, p, ret, s, sset, v1, v2 uintptr
  48044. _, _, _, _, _, _, _, _, _ = ap, len1, list, p, ret, s, sset, v1, v2
  48045. ret = libc.UintptrFromInt32(0)
  48046. len1 = uint64(0)
  48047. if !(path != 0) {
  48048. return libc.UintptrFromInt32(0)
  48049. }
  48050. sset = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  48051. if !(sset != 0) {
  48052. return libc.UintptrFromInt32(0)
  48053. }
  48054. if !(XFcStrSetAdd(tls, sset, path) != 0) {
  48055. goto bail0
  48056. }
  48057. ap = va
  48058. for int32(1) != 0 {
  48059. s = libc.VaUintptr(&ap)
  48060. if !(s != 0) {
  48061. break
  48062. }
  48063. if !(XFcStrSetAdd(tls, sset, s) != 0) {
  48064. goto bail1
  48065. }
  48066. }
  48067. list = XFcStrListCreate(tls, sset)
  48068. for {
  48069. v1 = XFcStrListNext(tls, list)
  48070. s = v1
  48071. if !(v1 != 0) {
  48072. break
  48073. }
  48074. len1 += libc.Xstrlen(tls, s) + uint64(1)
  48075. }
  48076. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  48077. ret = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  48078. if !(ret != 0) {
  48079. goto bail2
  48080. }
  48081. p = ret
  48082. for {
  48083. v2 = XFcStrListNext(tls, list)
  48084. s = v2
  48085. if !(v2 != 0) {
  48086. break
  48087. }
  48088. if p != ret {
  48089. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('/')
  48090. p++
  48091. }
  48092. len1 = libc.Xstrlen(tls, s)
  48093. libc.X__builtin___memcpy_chk(tls, p, s, len1, ^t__predefined_size_t(0))
  48094. p += uintptr(len1)
  48095. }
  48096. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  48097. goto bail2
  48098. bail2:
  48099. ;
  48100. XFcStrListDone(tls, list)
  48101. goto bail1
  48102. bail1:
  48103. ;
  48104. _ = ap
  48105. goto bail0
  48106. bail0:
  48107. ;
  48108. XFcStrSetDestroy(tls, sset)
  48109. return ret
  48110. }
  48111. func XFcStrCopyFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  48112. var full, home, new1 uintptr
  48113. var size int32
  48114. _, _, _, _ = full, home, new1, size
  48115. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~') {
  48116. home = XFcConfigHome(tls)
  48117. if !(home != 0) {
  48118. return libc.UintptrFromInt32(0)
  48119. }
  48120. size = libc.Int32FromUint64(libc.Xstrlen(tls, home) + libc.Xstrlen(tls, s))
  48121. full = libc.Xmalloc(tls, libc.Uint64FromInt32(size+int32(1)))
  48122. if !(full != 0) {
  48123. return libc.UintptrFromInt32(0)
  48124. }
  48125. libc.X__builtin___strcpy_chk(tls, full, home, ^t__predefined_size_t(0))
  48126. libc.X__builtin___strcat_chk(tls, full, s+uintptr(1), ^t__predefined_size_t(0))
  48127. new1 = XFcStrCanonFilename(tls, full)
  48128. libc.Xfree(tls, full)
  48129. } else {
  48130. new1 = XFcStrCanonFilename(tls, s)
  48131. }
  48132. return new1
  48133. }
  48134. func XFcStrLastSlash(tls *libc.TLS, path uintptr) (r uintptr) {
  48135. var slash uintptr
  48136. _ = slash
  48137. slash = libc.Xstrrchr(tls, path, int32('/'))
  48138. return slash
  48139. }
  48140. func XFcStrDirname(tls *libc.TLS, file uintptr) (r uintptr) {
  48141. var dir, slash uintptr
  48142. _, _ = dir, slash
  48143. slash = XFcStrLastSlash(tls, file)
  48144. if !(slash != 0) {
  48145. return XFcStrCopy(tls, __ccgo_ts+6984)
  48146. }
  48147. dir = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(slash)-int64(file)+int64(1)))
  48148. if !(dir != 0) {
  48149. return uintptr(0)
  48150. }
  48151. libc.X__builtin___strncpy_chk(tls, dir, file, libc.Uint64FromInt64(int64(slash)-int64(file)), ^t__predefined_size_t(0))
  48152. *(*TFcChar8)(unsafe.Pointer(dir + uintptr(int64(slash)-int64(file)))) = uint8('\000')
  48153. return dir
  48154. }
  48155. func XFcStrBasename(tls *libc.TLS, file uintptr) (r uintptr) {
  48156. var slash uintptr
  48157. _ = slash
  48158. slash = XFcStrLastSlash(tls, file)
  48159. if !(slash != 0) {
  48160. return XFcStrCopy(tls, file)
  48161. }
  48162. return XFcStrCopy(tls, slash+uintptr(1))
  48163. }
  48164. func XFcStrRealPath(tls *libc.TLS, path uintptr) (r uintptr) {
  48165. bp := tls.Alloc(144)
  48166. defer tls.Free(144)
  48167. var resolved_ret uintptr
  48168. var _ /* resolved_name at bp+0 */ [129]int8
  48169. _ = resolved_ret
  48170. if !(path != 0) {
  48171. return libc.UintptrFromInt32(0)
  48172. }
  48173. resolved_ret = libc.Xrealpath(tls, path, bp)
  48174. if resolved_ret != 0 {
  48175. path = resolved_ret
  48176. }
  48177. return XFcStrCopyFilename(tls, path)
  48178. }
  48179. func _FcStrCanonAbsoluteFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  48180. var f, file, slash, v2, v4, v5 uintptr
  48181. var size int32
  48182. var v3 TFcChar8
  48183. _, _, _, _, _, _, _, _ = f, file, size, slash, v2, v3, v4, v5
  48184. size = libc.Int32FromUint64(libc.Xstrlen(tls, s) + uint64(1))
  48185. file = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  48186. if !(file != 0) {
  48187. return libc.UintptrFromInt32(0)
  48188. }
  48189. slash = libc.UintptrFromInt32(0)
  48190. f = file
  48191. for {
  48192. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('\000') {
  48193. if slash != 0 {
  48194. switch int64(s) - int64(slash) {
  48195. case int64(1):
  48196. f -= uintptr(1) /* squash // and trim final / from file */
  48197. case int64(2):
  48198. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6986, uint64(2)) != 0) {
  48199. f -= uintptr(2) /* trim /. from file */
  48200. }
  48201. case int64(3):
  48202. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6989, uint64(3)) != 0) {
  48203. f -= uintptr(3) /* trim /.. from file */
  48204. for f > file {
  48205. f--
  48206. v2 = f
  48207. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2))) == int32('/') {
  48208. break
  48209. }
  48210. }
  48211. }
  48212. break
  48213. }
  48214. }
  48215. slash = s
  48216. }
  48217. v4 = s
  48218. s++
  48219. v3 = *(*TFcChar8)(unsafe.Pointer(v4))
  48220. v5 = f
  48221. f++
  48222. *(*TFcChar8)(unsafe.Pointer(v5)) = v3
  48223. if !(v3 != 0) {
  48224. break
  48225. }
  48226. goto _1
  48227. _1:
  48228. }
  48229. return file
  48230. }
  48231. func XFcStrCanonFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  48232. bp := tls.Alloc(4128)
  48233. defer tls.Free(4128)
  48234. var file, full uintptr
  48235. var _ /* cwd at bp+0 */ [4098]TFcChar8
  48236. _, _ = file, full
  48237. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') {
  48238. return _FcStrCanonAbsoluteFilename(tls, s)
  48239. } else {
  48240. if libc.Xgetcwd(tls, bp, uint64(m_FC_MAX_FILE_LEN)) == libc.UintptrFromInt32(0) {
  48241. return libc.UintptrFromInt32(0)
  48242. }
  48243. full = XFcStrBuildFilename(tls, bp, libc.VaList(bp+4112, s, libc.UintptrFromInt32(0)))
  48244. file = _FcStrCanonAbsoluteFilename(tls, full)
  48245. XFcStrFree(tls, full)
  48246. return file
  48247. }
  48248. return r
  48249. }
  48250. func XFcStrSetCreate(tls *libc.TLS) (r uintptr) {
  48251. return XFcStrSetCreateEx(tls, uint32(m_FCSS_DEFAULT))
  48252. }
  48253. func XFcStrSetCreateEx(tls *libc.TLS, control uint32) (r uintptr) {
  48254. var set uintptr
  48255. _ = set
  48256. set = libc.Xmalloc(tls, uint64(32))
  48257. if !(set != 0) {
  48258. return uintptr(0)
  48259. }
  48260. (*TFcRef)(unsafe.Pointer(set)).Fcount = int32(1)
  48261. (*TFcStrSet)(unsafe.Pointer(set)).Fnum = 0
  48262. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = 0
  48263. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = uintptr(0)
  48264. (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol = control
  48265. return set
  48266. }
  48267. func __FcStrSetGrow(tls *libc.TLS, set uintptr, growElements int32) (r TFcBool) {
  48268. var strs uintptr
  48269. _ = strs
  48270. /* accommodate an additional NULL entry at the end of the array */
  48271. strs = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fsize+growElements+libc.Int32FromInt32(1))*uint64(8))
  48272. if !(strs != 0) {
  48273. return m_FcFalse
  48274. }
  48275. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum != 0 {
  48276. libc.X__builtin___memcpy_chk(tls, strs, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*uint64(8), ^t__predefined_size_t(0))
  48277. }
  48278. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  48279. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  48280. }
  48281. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = (*TFcStrSet)(unsafe.Pointer(set)).Fsize + growElements
  48282. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = strs
  48283. return int32(m_FcTrue)
  48284. }
  48285. func __FcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  48286. var growElements, i, v1, v2 int32
  48287. var v3 uintptr
  48288. _, _, _, _, _ = growElements, i, v1, v2, v3
  48289. if !((*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&libc.Uint32FromInt32(m_FCSS_ALLOW_DUPLICATES) != 0) {
  48290. if XFcStrSetMember(tls, set, s) != 0 {
  48291. XFcStrFree(tls, s)
  48292. return int32(m_FcTrue)
  48293. }
  48294. }
  48295. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum == (*TFcStrSet)(unsafe.Pointer(set)).Fsize {
  48296. if (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&uint32(m_FCSS_GROW_BY_64) != 0 {
  48297. v1 = int32(64)
  48298. } else {
  48299. v1 = int32(1)
  48300. }
  48301. growElements = v1
  48302. if !(__FcStrSetGrow(tls, set, growElements) != 0) {
  48303. return m_FcFalse
  48304. }
  48305. }
  48306. if pos >= (*TFcStrSet)(unsafe.Pointer(set)).Fnum {
  48307. v3 = set + 4
  48308. v2 = *(*int32)(unsafe.Pointer(v3))
  48309. *(*int32)(unsafe.Pointer(v3))++
  48310. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(v2)*8)) = s
  48311. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*8)) = uintptr(0)
  48312. } else {
  48313. (*TFcStrSet)(unsafe.Pointer(set)).Fnum++
  48314. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*8)) = uintptr(0)
  48315. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum - int32(1)
  48316. for {
  48317. if !(i > pos) {
  48318. break
  48319. }
  48320. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*8))
  48321. goto _4
  48322. _4:
  48323. ;
  48324. i--
  48325. }
  48326. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(pos)*8)) = s
  48327. }
  48328. return int32(m_FcTrue)
  48329. }
  48330. func XFcStrSetMember(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  48331. var i int32
  48332. _ = i
  48333. i = 0
  48334. for {
  48335. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  48336. break
  48337. }
  48338. if !(XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  48339. return int32(m_FcTrue)
  48340. }
  48341. goto _1
  48342. _1:
  48343. ;
  48344. i++
  48345. }
  48346. return m_FcFalse
  48347. }
  48348. func _fc_strcmp_r(tls *libc.TLS, s1 uintptr, s2 uintptr, ret uintptr) (r int32) {
  48349. var c1, c2 TFcChar8
  48350. var v2, v3 uintptr
  48351. _, _, _, _ = c1, c2, v2, v3
  48352. if s1 == s2 {
  48353. if ret != 0 {
  48354. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  48355. }
  48356. return 0
  48357. }
  48358. for {
  48359. if s1 != 0 {
  48360. v2 = s1
  48361. s1++
  48362. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  48363. } else {
  48364. c1 = uint8(0)
  48365. }
  48366. if s2 != 0 {
  48367. v3 = s2
  48368. s2++
  48369. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  48370. } else {
  48371. c2 = uint8(0)
  48372. }
  48373. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  48374. break
  48375. }
  48376. goto _1
  48377. _1:
  48378. }
  48379. if ret != 0 {
  48380. *(*uintptr)(unsafe.Pointer(ret)) = s1
  48381. }
  48382. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  48383. }
  48384. func XFcStrSetMemberAB(tls *libc.TLS, set uintptr, a uintptr, b uintptr, ret uintptr) (r TFcBool) {
  48385. bp := tls.Alloc(16)
  48386. defer tls.Free(16)
  48387. var i int32
  48388. var _ /* s at bp+0 */ uintptr
  48389. _ = i
  48390. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  48391. i = 0
  48392. for {
  48393. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  48394. break
  48395. }
  48396. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), a, bp) != 0) && *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  48397. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer(bp)), b, libc.UintptrFromInt32(0)) != 0) {
  48398. if ret != 0 {
  48399. *(*uintptr)(unsafe.Pointer(ret)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8))
  48400. }
  48401. return int32(m_FcTrue)
  48402. }
  48403. }
  48404. goto _1
  48405. _1:
  48406. ;
  48407. i++
  48408. }
  48409. if ret != 0 {
  48410. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  48411. }
  48412. return m_FcFalse
  48413. }
  48414. func XFcStrSetEqual(tls *libc.TLS, sa uintptr, sb uintptr) (r TFcBool) {
  48415. var i int32
  48416. _ = i
  48417. if (*TFcStrSet)(unsafe.Pointer(sa)).Fnum != (*TFcStrSet)(unsafe.Pointer(sb)).Fnum {
  48418. return m_FcFalse
  48419. }
  48420. i = 0
  48421. for {
  48422. if !(i < (*TFcStrSet)(unsafe.Pointer(sa)).Fnum) {
  48423. break
  48424. }
  48425. if !(XFcStrSetMember(tls, sb, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(sa)).Fstrs + uintptr(i)*8))) != 0) {
  48426. return m_FcFalse
  48427. }
  48428. goto _1
  48429. _1:
  48430. ;
  48431. i++
  48432. }
  48433. return int32(m_FcTrue)
  48434. }
  48435. func XFcStrSetAdd(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  48436. var new1 uintptr
  48437. _ = new1
  48438. new1 = XFcStrCopy(tls, s)
  48439. if !(new1 != 0) {
  48440. return m_FcFalse
  48441. }
  48442. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  48443. XFcStrFree(tls, new1)
  48444. return m_FcFalse
  48445. }
  48446. return int32(m_FcTrue)
  48447. }
  48448. func XFcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  48449. var new1 uintptr
  48450. _ = new1
  48451. new1 = XFcStrCopy(tls, s)
  48452. if !(new1 != 0) {
  48453. return m_FcFalse
  48454. }
  48455. if !(__FcStrSetInsert(tls, set, new1, pos) != 0) {
  48456. XFcStrFree(tls, new1)
  48457. return m_FcFalse
  48458. }
  48459. return int32(m_FcTrue)
  48460. }
  48461. func XFcStrSetAddTriple(tls *libc.TLS, set uintptr, a uintptr, b uintptr, c uintptr) (r TFcBool) {
  48462. var new1 uintptr
  48463. _ = new1
  48464. new1 = _FcStrMakeTriple(tls, a, b, c)
  48465. if !(new1 != 0) {
  48466. return m_FcFalse
  48467. }
  48468. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  48469. XFcStrFree(tls, new1)
  48470. return m_FcFalse
  48471. }
  48472. return int32(m_FcTrue)
  48473. }
  48474. func XFcStrTripleSecond(tls *libc.TLS, str uintptr) (r uintptr) {
  48475. var second uintptr
  48476. _ = second
  48477. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  48478. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(second))) == int32('\000') {
  48479. return uintptr(0)
  48480. }
  48481. return second
  48482. }
  48483. func XFcStrTripleThird(tls *libc.TLS, str uintptr) (r uintptr) {
  48484. var second, third uintptr
  48485. _, _ = second, third
  48486. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  48487. third = second + uintptr(libc.Xstrlen(tls, second)) + uintptr(1)
  48488. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(third))) == int32('\000') {
  48489. return uintptr(0)
  48490. }
  48491. return third
  48492. }
  48493. func XFcStrSetAddFilename(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  48494. var new1 uintptr
  48495. _ = new1
  48496. new1 = XFcStrCopyFilename(tls, s)
  48497. if !(new1 != 0) {
  48498. return m_FcFalse
  48499. }
  48500. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  48501. XFcStrFree(tls, new1)
  48502. return m_FcFalse
  48503. }
  48504. return int32(m_FcTrue)
  48505. }
  48506. func XFcStrSetAddFilenamePairWithSalt(tls *libc.TLS, set uintptr, a uintptr, b uintptr, salt uintptr) (r TFcBool) {
  48507. var new_a, new_b uintptr
  48508. var ret TFcBool
  48509. _, _, _ = new_a, new_b, ret
  48510. new_a = libc.UintptrFromInt32(0)
  48511. new_b = libc.UintptrFromInt32(0)
  48512. if a != 0 {
  48513. new_a = XFcStrCopyFilename(tls, a)
  48514. if !(new_a != 0) {
  48515. return m_FcFalse
  48516. }
  48517. }
  48518. if b != 0 {
  48519. new_b = XFcStrCopyFilename(tls, b)
  48520. if !(new_b != 0) {
  48521. if new_a != 0 {
  48522. XFcStrFree(tls, new_a)
  48523. }
  48524. return m_FcFalse
  48525. }
  48526. }
  48527. /* Override maps with new one if exists */
  48528. XFcStrSetDel(tls, set, new_a)
  48529. ret = XFcStrSetAddTriple(tls, set, new_a, new_b, salt)
  48530. if new_a != 0 {
  48531. XFcStrFree(tls, new_a)
  48532. }
  48533. if new_b != 0 {
  48534. XFcStrFree(tls, new_b)
  48535. }
  48536. return ret
  48537. }
  48538. func XFcStrSetAddLangs(tls *libc.TLS, strs uintptr, languages uintptr) (r TFcBool) {
  48539. bp := tls.Alloc(128)
  48540. defer tls.Free(128)
  48541. var len1 Tsize_t
  48542. var next, normalized_lang, p, v1 uintptr
  48543. var ret TFcBool
  48544. var v2 uint64
  48545. var _ /* lang at bp+0 */ [128]TFcChar8
  48546. _, _, _, _, _, _, _ = len1, next, normalized_lang, p, ret, v1, v2
  48547. p = languages
  48548. *(*[128]TFcChar8)(unsafe.Pointer(bp)) = [128]TFcChar8{}
  48549. ret = m_FcFalse
  48550. if !(languages != 0) {
  48551. return m_FcFalse
  48552. }
  48553. for {
  48554. v1 = libc.Xstrchr(tls, p, int32(':'))
  48555. next = v1
  48556. if !(v1 != 0) {
  48557. break
  48558. }
  48559. len1 = libc.Uint64FromInt64(int64(next) - int64(p))
  48560. if len1 < libc.Uint64FromInt32(libc.Int32FromInt32(127)) {
  48561. v2 = len1
  48562. } else {
  48563. v2 = libc.Uint64FromInt32(libc.Int32FromInt32(127))
  48564. }
  48565. len1 = v2
  48566. libc.X__builtin___strncpy_chk(tls, bp, p, len1, ^t__predefined_size_t(0))
  48567. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  48568. /* ignore an empty item */
  48569. if *(*TFcChar8)(unsafe.Pointer(bp)) != 0 {
  48570. normalized_lang = XFcLangNormalize(tls, bp)
  48571. if normalized_lang != 0 {
  48572. XFcStrSetAdd(tls, strs, normalized_lang)
  48573. XFcStrFree(tls, normalized_lang)
  48574. ret = int32(m_FcTrue)
  48575. }
  48576. }
  48577. p = next + uintptr(1)
  48578. }
  48579. if *(*int8)(unsafe.Pointer(p)) != 0 {
  48580. normalized_lang = XFcLangNormalize(tls, p)
  48581. if normalized_lang != 0 {
  48582. XFcStrSetAdd(tls, strs, normalized_lang)
  48583. XFcStrFree(tls, normalized_lang)
  48584. ret = int32(m_FcTrue)
  48585. }
  48586. }
  48587. return ret
  48588. }
  48589. func XFcStrSetDel(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  48590. var i int32
  48591. _ = i
  48592. i = 0
  48593. for {
  48594. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  48595. break
  48596. }
  48597. if !(XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  48598. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  48599. /*
  48600. * copy remaining string pointers and trailing
  48601. * NULL
  48602. */
  48603. libc.X__builtin___memmove_chk(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i)*8, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i+int32(1))*8, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum-i)*uint64(8), ^t__predefined_size_t(0))
  48604. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  48605. return int32(m_FcTrue)
  48606. }
  48607. goto _1
  48608. _1:
  48609. ;
  48610. i++
  48611. }
  48612. return m_FcFalse
  48613. }
  48614. func XFcStrSetDeleteAll(tls *libc.TLS, set uintptr) (r TFcBool) {
  48615. var i int32
  48616. var v1 TFcBool
  48617. _, _ = i, v1
  48618. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  48619. goto _2
  48620. _2:
  48621. if v1 != 0 {
  48622. return m_FcFalse
  48623. }
  48624. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum
  48625. for {
  48626. if !(i > 0) {
  48627. break
  48628. }
  48629. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*8)))
  48630. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  48631. goto _3
  48632. _3:
  48633. ;
  48634. i--
  48635. }
  48636. return int32(m_FcTrue)
  48637. }
  48638. // C documentation
  48639. //
  48640. // /* TODO Make public */
  48641. func _FcStrSetReference(tls *libc.TLS, set uintptr) (r uintptr) {
  48642. var v1 TFcBool
  48643. var p4 uintptr
  48644. _, _ = v1, p4
  48645. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  48646. goto _2
  48647. _2:
  48648. if v1 != 0 {
  48649. return set
  48650. }
  48651. p4 = set
  48652. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  48653. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  48654. goto _3
  48655. _3:
  48656. ;
  48657. return set
  48658. }
  48659. func XFcStrSetDestroy(tls *libc.TLS, set uintptr) {
  48660. var i, v3 int32
  48661. var v1 TFcBool
  48662. var p5 uintptr
  48663. _, _, _, _ = i, v1, v3, p5
  48664. /* We rely on this in FcGetDefaultLangs for caching. */
  48665. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  48666. goto _2
  48667. _2:
  48668. if v1 != 0 {
  48669. return
  48670. }
  48671. p5 = set
  48672. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  48673. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  48674. goto _4
  48675. _4:
  48676. if v3 != int32(1) {
  48677. return
  48678. }
  48679. i = 0
  48680. for {
  48681. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  48682. break
  48683. }
  48684. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  48685. goto _6
  48686. _6:
  48687. ;
  48688. i++
  48689. }
  48690. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  48691. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  48692. }
  48693. libc.Xfree(tls, set)
  48694. }
  48695. func XFcStrListCreate(tls *libc.TLS, set uintptr) (r uintptr) {
  48696. var list uintptr
  48697. _ = list
  48698. list = libc.Xmalloc(tls, uint64(16))
  48699. if !(list != 0) {
  48700. return uintptr(0)
  48701. }
  48702. (*TFcStrList)(unsafe.Pointer(list)).Fset = set
  48703. _FcStrSetReference(tls, set)
  48704. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  48705. return list
  48706. }
  48707. func XFcStrListFirst(tls *libc.TLS, list uintptr) {
  48708. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  48709. }
  48710. func XFcStrListNext(tls *libc.TLS, list uintptr) (r uintptr) {
  48711. var v1 int32
  48712. var v2 uintptr
  48713. _, _ = v1, v2
  48714. if (*TFcStrList)(unsafe.Pointer(list)).Fn >= (*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fnum {
  48715. return uintptr(0)
  48716. }
  48717. v2 = list + 8
  48718. v1 = *(*int32)(unsafe.Pointer(v2))
  48719. *(*int32)(unsafe.Pointer(v2))++
  48720. return *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fstrs + uintptr(v1)*8))
  48721. }
  48722. func XFcStrListDone(tls *libc.TLS, list uintptr) {
  48723. XFcStrSetDestroy(tls, (*TFcStrList)(unsafe.Pointer(list)).Fset)
  48724. libc.Xfree(tls, list)
  48725. }
  48726. const m_FC_DIR_SEPARATOR4 = '/'
  48727. var _map = [13]struct {
  48728. Fot int32
  48729. Ffc int32
  48730. }{
  48731. 0: {},
  48732. 1: {
  48733. Fot: int32(100),
  48734. },
  48735. 2: {
  48736. Fot: int32(200),
  48737. Ffc: int32(m_FC_WEIGHT_EXTRALIGHT),
  48738. },
  48739. 3: {
  48740. Fot: int32(300),
  48741. Ffc: int32(m_FC_WEIGHT_LIGHT),
  48742. },
  48743. 4: {
  48744. Fot: int32(350),
  48745. Ffc: int32(m_FC_WEIGHT_DEMILIGHT),
  48746. },
  48747. 5: {
  48748. Fot: int32(380),
  48749. Ffc: int32(m_FC_WEIGHT_BOOK),
  48750. },
  48751. 6: {
  48752. Fot: int32(400),
  48753. Ffc: int32(m_FC_WEIGHT_REGULAR),
  48754. },
  48755. 7: {
  48756. Fot: int32(500),
  48757. Ffc: int32(m_FC_WEIGHT_MEDIUM),
  48758. },
  48759. 8: {
  48760. Fot: int32(600),
  48761. Ffc: int32(m_FC_WEIGHT_DEMIBOLD),
  48762. },
  48763. 9: {
  48764. Fot: int32(700),
  48765. Ffc: int32(m_FC_WEIGHT_BOLD),
  48766. },
  48767. 10: {
  48768. Fot: int32(800),
  48769. Ffc: int32(m_FC_WEIGHT_EXTRABOLD),
  48770. },
  48771. 11: {
  48772. Fot: int32(900),
  48773. Ffc: int32(m_FC_WEIGHT_BLACK),
  48774. },
  48775. 12: {
  48776. Fot: int32(1000),
  48777. Ffc: int32(m_FC_WEIGHT_EXTRABLACK),
  48778. },
  48779. }
  48780. func _lerp(tls *libc.TLS, x float64, x1 int32, x2 int32, y1 int32, y2 int32) (r float64) {
  48781. var dx, dy int32
  48782. _, _ = dx, dy
  48783. dx = x2 - x1
  48784. dy = y2 - y1
  48785. return float64(y1) + (x-float64(x1))*float64(dy)/float64(dx)
  48786. }
  48787. func XFcWeightFromOpenTypeDouble(tls *libc.TLS, ot_weight float64) (r float64) {
  48788. var i int32
  48789. var v1 float64
  48790. _, _ = i, v1
  48791. if ot_weight < libc.Float64FromInt32(0) {
  48792. return float64(-libc.Int32FromInt32(1))
  48793. }
  48794. if ot_weight < float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot) {
  48795. v1 = ot_weight
  48796. } else {
  48797. v1 = float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot)
  48798. }
  48799. ot_weight = v1
  48800. i = int32(1)
  48801. for {
  48802. if !(ot_weight > float64(_map[i].Fot)) {
  48803. break
  48804. }
  48805. goto _2
  48806. _2:
  48807. ;
  48808. i++
  48809. }
  48810. if ot_weight == float64(_map[i].Fot) {
  48811. return float64(_map[i].Ffc)
  48812. }
  48813. /* Interpolate between two items. */
  48814. return _lerp(tls, ot_weight, _map[i-int32(1)].Fot, _map[i].Fot, _map[i-int32(1)].Ffc, _map[i].Ffc)
  48815. }
  48816. func XFcWeightToOpenTypeDouble(tls *libc.TLS, fc_weight float64) (r float64) {
  48817. var i int32
  48818. _ = i
  48819. if fc_weight < libc.Float64FromInt32(0) || fc_weight > libc.Float64FromInt32(m_FC_WEIGHT_EXTRABLACK) {
  48820. return float64(-libc.Int32FromInt32(1))
  48821. }
  48822. i = int32(1)
  48823. for {
  48824. if !(fc_weight > float64(_map[i].Ffc)) {
  48825. break
  48826. }
  48827. goto _1
  48828. _1:
  48829. ;
  48830. i++
  48831. }
  48832. if fc_weight == float64(_map[i].Ffc) {
  48833. return float64(_map[i].Fot)
  48834. }
  48835. /* Interpolate between two items. */
  48836. return _lerp(tls, fc_weight, _map[i-int32(1)].Ffc, _map[i].Ffc, _map[i-int32(1)].Fot, _map[i].Fot)
  48837. }
  48838. func XFcWeightFromOpenType(tls *libc.TLS, ot_weight int32) (r int32) {
  48839. return int32(XFcWeightFromOpenTypeDouble(tls, float64(ot_weight)) + float64(0.5))
  48840. }
  48841. func XFcWeightToOpenType(tls *libc.TLS, fc_weight int32) (r int32) {
  48842. return int32(XFcWeightToOpenTypeDouble(tls, float64(fc_weight)) + float64(0.5))
  48843. }
  48844. const m_API_TO_BE_DEPRECATED = 100000
  48845. const m_API_TO_BE_DEPRECATED_DRIVERKIT = 100000
  48846. const m_API_TO_BE_DEPRECATED_IOS = 100000
  48847. const m_API_TO_BE_DEPRECATED_MACOS = 100000
  48848. const m_API_TO_BE_DEPRECATED_TVOS = 100000
  48849. const m_API_TO_BE_DEPRECATED_VISIONOS = 100000
  48850. const m_API_TO_BE_DEPRECATED_WATCHOS = 100000
  48851. const m_Expat_External_INCLUDED = 1
  48852. const m_Expat_INCLUDED = 1
  48853. const m_FC_DIR_SEPARATOR5 = 47
  48854. const m_HAVE_XMLPARSE_H = 0
  48855. const m_LC_ALL = 0
  48856. const m_LC_COLLATE = 1
  48857. const m_LC_CTYPE = 2
  48858. const m_LC_MESSAGES = 6
  48859. const m_LC_MONETARY = 3
  48860. const m_LC_NUMERIC = 4
  48861. const m_LC_TIME = 5
  48862. const m_TAIL = ".conf"
  48863. const m_TAIL_LEN = 5
  48864. const m_XML_ENABLE_VISIBILITY = 0
  48865. const m_XML_GetErrorByteIndex = "XML_GetCurrentByteIndex"
  48866. const m_XML_GetErrorColumnNumber = "XML_GetCurrentColumnNumber"
  48867. const m_XML_GetErrorLineNumber = "XML_GetCurrentLineNumber"
  48868. const m_XML_MAJOR_VERSION = 2
  48869. const m_XML_MICRO_VERSION = 3
  48870. const m_XML_MINOR_VERSION = 6
  48871. const m__LC_LAST = 7
  48872. type TXML_Char = int8
  48873. type TXML_LChar = int8
  48874. type TXML_Index = int64
  48875. type TXML_Size = uint64
  48876. type TXML_Parser = uintptr
  48877. type TXML_Bool = uint8
  48878. type _XML_Status = int32
  48879. const _XML_STATUS_ERROR = 0
  48880. const _XML_STATUS_OK = 1
  48881. const _XML_STATUS_SUSPENDED = 2
  48882. type _XML_Error = int32
  48883. const _XML_ERROR_NONE = 0
  48884. const _XML_ERROR_NO_MEMORY = 1
  48885. const _XML_ERROR_SYNTAX = 2
  48886. const _XML_ERROR_NO_ELEMENTS = 3
  48887. const _XML_ERROR_INVALID_TOKEN = 4
  48888. const _XML_ERROR_UNCLOSED_TOKEN = 5
  48889. const _XML_ERROR_PARTIAL_CHAR = 6
  48890. const _XML_ERROR_TAG_MISMATCH = 7
  48891. const _XML_ERROR_DUPLICATE_ATTRIBUTE = 8
  48892. const _XML_ERROR_JUNK_AFTER_DOC_ELEMENT = 9
  48893. const _XML_ERROR_PARAM_ENTITY_REF = 10
  48894. const _XML_ERROR_UNDEFINED_ENTITY = 11
  48895. const _XML_ERROR_RECURSIVE_ENTITY_REF = 12
  48896. const _XML_ERROR_ASYNC_ENTITY = 13
  48897. const _XML_ERROR_BAD_CHAR_REF = 14
  48898. const _XML_ERROR_BINARY_ENTITY_REF = 15
  48899. const _XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF = 16
  48900. const _XML_ERROR_MISPLACED_XML_PI = 17
  48901. const _XML_ERROR_UNKNOWN_ENCODING = 18
  48902. const _XML_ERROR_INCORRECT_ENCODING = 19
  48903. const _XML_ERROR_UNCLOSED_CDATA_SECTION = 20
  48904. const _XML_ERROR_EXTERNAL_ENTITY_HANDLING = 21
  48905. const _XML_ERROR_NOT_STANDALONE = 22
  48906. const _XML_ERROR_UNEXPECTED_STATE = 23
  48907. const _XML_ERROR_ENTITY_DECLARED_IN_PE = 24
  48908. const _XML_ERROR_FEATURE_REQUIRES_XML_DTD = 25
  48909. const _XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING = 26
  48910. const _XML_ERROR_UNBOUND_PREFIX = 27
  48911. const _XML_ERROR_UNDECLARING_PREFIX = 28
  48912. const _XML_ERROR_INCOMPLETE_PE = 29
  48913. const _XML_ERROR_XML_DECL = 30
  48914. const _XML_ERROR_TEXT_DECL = 31
  48915. const _XML_ERROR_PUBLICID = 32
  48916. const _XML_ERROR_SUSPENDED = 33
  48917. const _XML_ERROR_NOT_SUSPENDED = 34
  48918. const _XML_ERROR_ABORTED = 35
  48919. const _XML_ERROR_FINISHED = 36
  48920. const _XML_ERROR_SUSPEND_PE = 37
  48921. const _XML_ERROR_RESERVED_PREFIX_XML = 38
  48922. const _XML_ERROR_RESERVED_PREFIX_XMLNS = 39
  48923. const _XML_ERROR_RESERVED_NAMESPACE_URI = 40
  48924. const _XML_ERROR_INVALID_ARGUMENT = 41
  48925. const _XML_ERROR_NO_BUFFER = 42
  48926. const _XML_ERROR_AMPLIFICATION_LIMIT_BREACH = 43
  48927. type _XML_Content_Type = int32
  48928. const _XML_CTYPE_EMPTY = 1
  48929. const _XML_CTYPE_ANY = 2
  48930. const _XML_CTYPE_MIXED = 3
  48931. const _XML_CTYPE_NAME = 4
  48932. const _XML_CTYPE_CHOICE = 5
  48933. const _XML_CTYPE_SEQ = 6
  48934. type _XML_Content_Quant = int32
  48935. const _XML_CQUANT_NONE = 0
  48936. const _XML_CQUANT_OPT = 1
  48937. const _XML_CQUANT_REP = 2
  48938. const _XML_CQUANT_PLUS = 3
  48939. type TXML_Content = struct {
  48940. Ftype1 _XML_Content_Type
  48941. Fquant _XML_Content_Quant
  48942. Fname uintptr
  48943. Fnumchildren uint32
  48944. Fchildren uintptr
  48945. }
  48946. type TXML_cp = TXML_Content
  48947. type TXML_ElementDeclHandler = uintptr
  48948. type TXML_AttlistDeclHandler = uintptr
  48949. type TXML_XmlDeclHandler = uintptr
  48950. type TXML_Memory_Handling_Suite = struct {
  48951. Fmalloc_fcn uintptr
  48952. Frealloc_fcn uintptr
  48953. Ffree_fcn uintptr
  48954. }
  48955. type TXML_StartElementHandler = uintptr
  48956. type TXML_EndElementHandler = uintptr
  48957. type TXML_CharacterDataHandler = uintptr
  48958. type TXML_ProcessingInstructionHandler = uintptr
  48959. type TXML_CommentHandler = uintptr
  48960. type TXML_StartCdataSectionHandler = uintptr
  48961. type TXML_EndCdataSectionHandler = uintptr
  48962. type TXML_DefaultHandler = uintptr
  48963. type TXML_StartDoctypeDeclHandler = uintptr
  48964. type TXML_EndDoctypeDeclHandler = uintptr
  48965. type TXML_EntityDeclHandler = uintptr
  48966. type TXML_UnparsedEntityDeclHandler = uintptr
  48967. type TXML_NotationDeclHandler = uintptr
  48968. type TXML_StartNamespaceDeclHandler = uintptr
  48969. type TXML_EndNamespaceDeclHandler = uintptr
  48970. type TXML_NotStandaloneHandler = uintptr
  48971. type TXML_ExternalEntityRefHandler = uintptr
  48972. type TXML_SkippedEntityHandler = uintptr
  48973. type TXML_Encoding = struct {
  48974. Fmap1 [256]int32
  48975. Fdata uintptr
  48976. Fconvert uintptr
  48977. Frelease uintptr
  48978. }
  48979. type TXML_UnknownEncodingHandler = uintptr
  48980. type _XML_Parsing = int32
  48981. const _XML_INITIALIZED = 0
  48982. const _XML_PARSING = 1
  48983. const _XML_FINISHED = 2
  48984. const _XML_SUSPENDED = 3
  48985. type TXML_ParsingStatus = struct {
  48986. Fparsing _XML_Parsing
  48987. FfinalBuffer TXML_Bool
  48988. }
  48989. type _XML_ParamEntityParsing = int32
  48990. const _XML_PARAM_ENTITY_PARSING_NEVER = 0
  48991. const _XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE = 1
  48992. const _XML_PARAM_ENTITY_PARSING_ALWAYS = 2
  48993. type TXML_Expat_Version = struct {
  48994. Fmajor int32
  48995. Fminor int32
  48996. Fmicro int32
  48997. }
  48998. type _XML_FeatureEnum = int32
  48999. const _XML_FEATURE_END = 0
  49000. const _XML_FEATURE_UNICODE = 1
  49001. const _XML_FEATURE_UNICODE_WCHAR_T = 2
  49002. const _XML_FEATURE_DTD = 3
  49003. const _XML_FEATURE_CONTEXT_BYTES = 4
  49004. const _XML_FEATURE_MIN_SIZE = 5
  49005. const _XML_FEATURE_SIZEOF_XML_CHAR = 6
  49006. const _XML_FEATURE_SIZEOF_XML_LCHAR = 7
  49007. const _XML_FEATURE_NS = 8
  49008. const _XML_FEATURE_LARGE_SIZE = 9
  49009. const _XML_FEATURE_ATTR_INFO = 10
  49010. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT = 11
  49011. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT = 12
  49012. const _XML_FEATURE_GE = 13
  49013. type TXML_Feature = struct {
  49014. Ffeature _XML_FeatureEnum
  49015. Fname uintptr
  49016. Fvalue int64
  49017. }
  49018. /* Expat follows the semantic versioning convention.
  49019. See https://semver.org
  49020. */
  49021. var ___fc_userdir = libc.UintptrFromInt32(0)
  49022. var ___fc_userconf = libc.UintptrFromInt32(0)
  49023. func XFcTestDestroy(tls *libc.TLS, test uintptr) {
  49024. _FcExprDestroy(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  49025. libc.Xfree(tls, test)
  49026. }
  49027. func XFcRuleDestroy(tls *libc.TLS, rule uintptr) {
  49028. var n uintptr
  49029. _ = n
  49030. n = (*TFcRule)(unsafe.Pointer(rule)).Fnext
  49031. switch (*TFcRule)(unsafe.Pointer(rule)).Ftype1 {
  49032. case int32(_FcRuleTest):
  49033. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  49034. case int32(_FcRuleEdit):
  49035. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  49036. case int32(_FcRuleUnknown):
  49037. fallthrough
  49038. default:
  49039. break
  49040. }
  49041. libc.Xfree(tls, rule)
  49042. if n != 0 {
  49043. XFcRuleDestroy(tls, n)
  49044. }
  49045. }
  49046. func _FcExprCreateInteger(tls *libc.TLS, config uintptr, i int32) (r uintptr) {
  49047. var e uintptr
  49048. _ = e
  49049. e = XFcConfigAllocExpr(tls, config)
  49050. if e != 0 {
  49051. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpInteger)
  49052. (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival = i
  49053. }
  49054. return e
  49055. }
  49056. func _FcExprCreateDouble(tls *libc.TLS, config uintptr, d float64) (r uintptr) {
  49057. var e uintptr
  49058. _ = e
  49059. e = XFcConfigAllocExpr(tls, config)
  49060. if e != 0 {
  49061. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpDouble)
  49062. *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = d
  49063. }
  49064. return e
  49065. }
  49066. func _FcExprCreateString(tls *libc.TLS, config uintptr, s uintptr) (r uintptr) {
  49067. var e uintptr
  49068. _ = e
  49069. e = XFcConfigAllocExpr(tls, config)
  49070. if e != 0 {
  49071. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpString)
  49072. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, s)
  49073. }
  49074. return e
  49075. }
  49076. func _FcExprMatrixCopyShallow(tls *libc.TLS, matrix uintptr) (r uintptr) {
  49077. var m uintptr
  49078. _ = m
  49079. m = libc.Xmalloc(tls, uint64(32))
  49080. if m != 0 {
  49081. *(*TFcExprMatrix)(unsafe.Pointer(m)) = *(*TFcExprMatrix)(unsafe.Pointer(matrix))
  49082. }
  49083. return m
  49084. }
  49085. func _FcExprMatrixFreeShallow(tls *libc.TLS, m uintptr) {
  49086. if !(m != 0) {
  49087. return
  49088. }
  49089. libc.Xfree(tls, m)
  49090. }
  49091. func _FcExprMatrixFree(tls *libc.TLS, m uintptr) {
  49092. if !(m != 0) {
  49093. return
  49094. }
  49095. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxx)
  49096. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxy)
  49097. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyx)
  49098. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyy)
  49099. libc.Xfree(tls, m)
  49100. }
  49101. func _FcExprCreateMatrix(tls *libc.TLS, config uintptr, matrix uintptr) (r uintptr) {
  49102. var e uintptr
  49103. _ = e
  49104. e = XFcConfigAllocExpr(tls, config)
  49105. if e != 0 {
  49106. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpMatrix)
  49107. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = _FcExprMatrixCopyShallow(tls, matrix)
  49108. }
  49109. return e
  49110. }
  49111. func _FcExprCreateRange(tls *libc.TLS, config uintptr, range1 uintptr) (r uintptr) {
  49112. var e uintptr
  49113. _ = e
  49114. e = XFcConfigAllocExpr(tls, config)
  49115. if e != 0 {
  49116. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpRange)
  49117. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XFcRangeCopy(tls, range1)
  49118. }
  49119. return e
  49120. }
  49121. func _FcExprCreateBool(tls *libc.TLS, config uintptr, b TFcBool) (r uintptr) {
  49122. var e uintptr
  49123. _ = e
  49124. e = XFcConfigAllocExpr(tls, config)
  49125. if e != 0 {
  49126. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpBool)
  49127. *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = b
  49128. }
  49129. return e
  49130. }
  49131. func _FcExprCreateCharSet(tls *libc.TLS, config uintptr, charset uintptr) (r uintptr) {
  49132. var e uintptr
  49133. _ = e
  49134. e = XFcConfigAllocExpr(tls, config)
  49135. if e != 0 {
  49136. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpCharSet)
  49137. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XFcCharSetCopy(tls, charset)
  49138. }
  49139. return e
  49140. }
  49141. func _FcExprCreateLangSet(tls *libc.TLS, config uintptr, langset uintptr) (r uintptr) {
  49142. var e uintptr
  49143. _ = e
  49144. e = XFcConfigAllocExpr(tls, config)
  49145. if e != 0 {
  49146. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpLangSet)
  49147. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XFcLangSetCopy(tls, langset)
  49148. }
  49149. return e
  49150. }
  49151. func _FcExprCreateName(tls *libc.TLS, config uintptr, name TFcExprName) (r uintptr) {
  49152. var e uintptr
  49153. _ = e
  49154. e = XFcConfigAllocExpr(tls, config)
  49155. if e != 0 {
  49156. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpField)
  49157. *(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = name
  49158. }
  49159. return e
  49160. }
  49161. func _FcExprCreateConst(tls *libc.TLS, config uintptr, constant uintptr) (r uintptr) {
  49162. var e uintptr
  49163. _ = e
  49164. e = XFcConfigAllocExpr(tls, config)
  49165. if e != 0 {
  49166. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpConst)
  49167. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, constant)
  49168. }
  49169. return e
  49170. }
  49171. func _FcExprCreateOp(tls *libc.TLS, config uintptr, left uintptr, op TFcOp, right uintptr) (r uintptr) {
  49172. var e uintptr
  49173. _ = e
  49174. e = XFcConfigAllocExpr(tls, config)
  49175. if e != 0 {
  49176. (*TFcExpr)(unsafe.Pointer(e)).Fop = op
  49177. (*(*struct {
  49178. Fleft uintptr
  49179. Fright uintptr
  49180. })(unsafe.Pointer(e + 8))).Fleft = left
  49181. (*(*struct {
  49182. Fleft uintptr
  49183. Fright uintptr
  49184. })(unsafe.Pointer(e + 8))).Fright = right
  49185. }
  49186. return e
  49187. }
  49188. func _FcExprDestroy(tls *libc.TLS, e uintptr) {
  49189. if !(e != 0) {
  49190. return
  49191. }
  49192. switch (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff) {
  49193. case int32(_FcOpInteger):
  49194. case int32(_FcOpDouble):
  49195. case int32(_FcOpString):
  49196. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  49197. case int32(_FcOpMatrix):
  49198. _FcExprMatrixFree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  49199. case int32(_FcOpRange):
  49200. XFcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  49201. case int32(_FcOpCharSet):
  49202. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  49203. case int32(_FcOpLangSet):
  49204. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  49205. case int32(_FcOpBool):
  49206. case int32(_FcOpField):
  49207. case int32(_FcOpConst):
  49208. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  49209. case int32(_FcOpAssign):
  49210. fallthrough
  49211. case int32(_FcOpAssignReplace):
  49212. fallthrough
  49213. case int32(_FcOpPrepend):
  49214. fallthrough
  49215. case int32(_FcOpPrependFirst):
  49216. fallthrough
  49217. case int32(_FcOpAppend):
  49218. fallthrough
  49219. case int32(_FcOpAppendLast):
  49220. fallthrough
  49221. case int32(_FcOpDelete):
  49222. fallthrough
  49223. case int32(_FcOpDeleteAll):
  49224. case int32(_FcOpOr):
  49225. fallthrough
  49226. case int32(_FcOpAnd):
  49227. fallthrough
  49228. case int32(_FcOpEqual):
  49229. fallthrough
  49230. case int32(_FcOpNotEqual):
  49231. fallthrough
  49232. case int32(_FcOpLess):
  49233. fallthrough
  49234. case int32(_FcOpLessEqual):
  49235. fallthrough
  49236. case int32(_FcOpMore):
  49237. fallthrough
  49238. case int32(_FcOpMoreEqual):
  49239. fallthrough
  49240. case int32(_FcOpContains):
  49241. fallthrough
  49242. case int32(_FcOpListing):
  49243. fallthrough
  49244. case int32(_FcOpNotContains):
  49245. fallthrough
  49246. case int32(_FcOpPlus):
  49247. fallthrough
  49248. case int32(_FcOpMinus):
  49249. fallthrough
  49250. case int32(_FcOpTimes):
  49251. fallthrough
  49252. case int32(_FcOpDivide):
  49253. fallthrough
  49254. case int32(_FcOpQuest):
  49255. fallthrough
  49256. case int32(_FcOpComma):
  49257. _FcExprDestroy(tls, (*(*struct {
  49258. Fleft uintptr
  49259. Fright uintptr
  49260. })(unsafe.Pointer(e + 8))).Fright)
  49261. /* fall through */
  49262. fallthrough
  49263. case int32(_FcOpNot):
  49264. fallthrough
  49265. case int32(_FcOpFloor):
  49266. fallthrough
  49267. case int32(_FcOpCeil):
  49268. fallthrough
  49269. case int32(_FcOpRound):
  49270. fallthrough
  49271. case int32(_FcOpTrunc):
  49272. _FcExprDestroy(tls, (*(*struct {
  49273. Fleft uintptr
  49274. Fright uintptr
  49275. })(unsafe.Pointer(e + 8))).Fleft)
  49276. case int32(_FcOpNil):
  49277. fallthrough
  49278. case int32(_FcOpInvalid):
  49279. break
  49280. }
  49281. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpNil)
  49282. }
  49283. func XFcEditDestroy(tls *libc.TLS, e uintptr) {
  49284. if (*TFcEdit)(unsafe.Pointer(e)).Fexpr != 0 {
  49285. _FcExprDestroy(tls, (*TFcEdit)(unsafe.Pointer(e)).Fexpr)
  49286. }
  49287. libc.Xfree(tls, e)
  49288. }
  49289. type TFcElement = int32
  49290. type __FcElement = int32
  49291. const _FcElementNone = 0
  49292. const _FcElementFontconfig = 1
  49293. const _FcElementDir = 2
  49294. const _FcElementCacheDir = 3
  49295. const _FcElementCache = 4
  49296. const _FcElementInclude = 5
  49297. const _FcElementConfig = 6
  49298. const _FcElementMatch = 7
  49299. const _FcElementAlias = 8
  49300. const _FcElementDescription = 9
  49301. const _FcElementRemapDir = 10
  49302. const _FcElementResetDirs = 11
  49303. const _FcElementRescan = 12
  49304. const _FcElementPrefer = 13
  49305. const _FcElementAccept = 14
  49306. const _FcElementDefault = 15
  49307. const _FcElementFamily = 16
  49308. const _FcElementSelectfont = 17
  49309. const _FcElementAcceptfont = 18
  49310. const _FcElementRejectfont = 19
  49311. const _FcElementGlob = 20
  49312. const _FcElementPattern = 21
  49313. const _FcElementPatelt = 22
  49314. const _FcElementTest = 23
  49315. const _FcElementEdit = 24
  49316. const _FcElementInt = 25
  49317. const _FcElementDouble = 26
  49318. const _FcElementString = 27
  49319. const _FcElementMatrix = 28
  49320. const _FcElementRange = 29
  49321. const _FcElementBool = 30
  49322. const _FcElementCharSet = 31
  49323. const _FcElementLangSet = 32
  49324. const _FcElementName = 33
  49325. const _FcElementConst = 34
  49326. const _FcElementOr = 35
  49327. const _FcElementAnd = 36
  49328. const _FcElementEq = 37
  49329. const _FcElementNotEq = 38
  49330. const _FcElementLess = 39
  49331. const _FcElementLessEq = 40
  49332. const _FcElementMore = 41
  49333. const _FcElementMoreEq = 42
  49334. const _FcElementContains = 43
  49335. const _FcElementNotContains = 44
  49336. const _FcElementPlus = 45
  49337. const _FcElementMinus = 46
  49338. const _FcElementTimes = 47
  49339. const _FcElementDivide = 48
  49340. const _FcElementNot = 49
  49341. const _FcElementIf = 50
  49342. const _FcElementFloor = 51
  49343. const _FcElementCeil = 52
  49344. const _FcElementRound = 53
  49345. const _FcElementTrunc = 54
  49346. const _FcElementUnknown = 55
  49347. var _fcElementMap = [54]struct {
  49348. Fname [16]int8
  49349. Felement TFcElement
  49350. }{
  49351. 0: {
  49352. Fname: [16]int8{'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g'},
  49353. Felement: int32(_FcElementFontconfig),
  49354. },
  49355. 1: {
  49356. Fname: [16]int8{'d', 'i', 'r'},
  49357. Felement: int32(_FcElementDir),
  49358. },
  49359. 2: {
  49360. Fname: [16]int8{'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r'},
  49361. Felement: int32(_FcElementCacheDir),
  49362. },
  49363. 3: {
  49364. Fname: [16]int8{'c', 'a', 'c', 'h', 'e'},
  49365. Felement: int32(_FcElementCache),
  49366. },
  49367. 4: {
  49368. Fname: [16]int8{'i', 'n', 'c', 'l', 'u', 'd', 'e'},
  49369. Felement: int32(_FcElementInclude),
  49370. },
  49371. 5: {
  49372. Fname: [16]int8{'c', 'o', 'n', 'f', 'i', 'g'},
  49373. Felement: int32(_FcElementConfig),
  49374. },
  49375. 6: {
  49376. Fname: [16]int8{'m', 'a', 't', 'c', 'h'},
  49377. Felement: int32(_FcElementMatch),
  49378. },
  49379. 7: {
  49380. Fname: [16]int8{'a', 'l', 'i', 'a', 's'},
  49381. Felement: int32(_FcElementAlias),
  49382. },
  49383. 8: {
  49384. Fname: [16]int8{'d', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n'},
  49385. Felement: int32(_FcElementDescription),
  49386. },
  49387. 9: {
  49388. Fname: [16]int8{'r', 'e', 'm', 'a', 'p', '-', 'd', 'i', 'r'},
  49389. Felement: int32(_FcElementRemapDir),
  49390. },
  49391. 10: {
  49392. Fname: [16]int8{'r', 'e', 's', 'e', 't', '-', 'd', 'i', 'r', 's'},
  49393. Felement: int32(_FcElementResetDirs),
  49394. },
  49395. 11: {
  49396. Fname: [16]int8{'r', 'e', 's', 'c', 'a', 'n'},
  49397. Felement: int32(_FcElementRescan),
  49398. },
  49399. 12: {
  49400. Fname: [16]int8{'p', 'r', 'e', 'f', 'e', 'r'},
  49401. Felement: int32(_FcElementPrefer),
  49402. },
  49403. 13: {
  49404. Fname: [16]int8{'a', 'c', 'c', 'e', 'p', 't'},
  49405. Felement: int32(_FcElementAccept),
  49406. },
  49407. 14: {
  49408. Fname: [16]int8{'d', 'e', 'f', 'a', 'u', 'l', 't'},
  49409. Felement: int32(_FcElementDefault),
  49410. },
  49411. 15: {
  49412. Fname: [16]int8{'f', 'a', 'm', 'i', 'l', 'y'},
  49413. Felement: int32(_FcElementFamily),
  49414. },
  49415. 16: {
  49416. Fname: [16]int8{'s', 'e', 'l', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  49417. Felement: int32(_FcElementSelectfont),
  49418. },
  49419. 17: {
  49420. Fname: [16]int8{'a', 'c', 'c', 'e', 'p', 't', 'f', 'o', 'n', 't'},
  49421. Felement: int32(_FcElementAcceptfont),
  49422. },
  49423. 18: {
  49424. Fname: [16]int8{'r', 'e', 'j', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  49425. Felement: int32(_FcElementRejectfont),
  49426. },
  49427. 19: {
  49428. Fname: [16]int8{'g', 'l', 'o', 'b'},
  49429. Felement: int32(_FcElementGlob),
  49430. },
  49431. 20: {
  49432. Fname: [16]int8{'p', 'a', 't', 't', 'e', 'r', 'n'},
  49433. Felement: int32(_FcElementPattern),
  49434. },
  49435. 21: {
  49436. Fname: [16]int8{'p', 'a', 't', 'e', 'l', 't'},
  49437. Felement: int32(_FcElementPatelt),
  49438. },
  49439. 22: {
  49440. Fname: [16]int8{'t', 'e', 's', 't'},
  49441. Felement: int32(_FcElementTest),
  49442. },
  49443. 23: {
  49444. Fname: [16]int8{'e', 'd', 'i', 't'},
  49445. Felement: int32(_FcElementEdit),
  49446. },
  49447. 24: {
  49448. Fname: [16]int8{'i', 'n', 't'},
  49449. Felement: int32(_FcElementInt),
  49450. },
  49451. 25: {
  49452. Fname: [16]int8{'d', 'o', 'u', 'b', 'l', 'e'},
  49453. Felement: int32(_FcElementDouble),
  49454. },
  49455. 26: {
  49456. Fname: [16]int8{'s', 't', 'r', 'i', 'n', 'g'},
  49457. Felement: int32(_FcElementString),
  49458. },
  49459. 27: {
  49460. Fname: [16]int8{'m', 'a', 't', 'r', 'i', 'x'},
  49461. Felement: int32(_FcElementMatrix),
  49462. },
  49463. 28: {
  49464. Fname: [16]int8{'r', 'a', 'n', 'g', 'e'},
  49465. Felement: int32(_FcElementRange),
  49466. },
  49467. 29: {
  49468. Fname: [16]int8{'b', 'o', 'o', 'l'},
  49469. Felement: int32(_FcElementBool),
  49470. },
  49471. 30: {
  49472. Fname: [16]int8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  49473. Felement: int32(_FcElementCharSet),
  49474. },
  49475. 31: {
  49476. Fname: [16]int8{'l', 'a', 'n', 'g', 's', 'e', 't'},
  49477. Felement: int32(_FcElementLangSet),
  49478. },
  49479. 32: {
  49480. Fname: [16]int8{'n', 'a', 'm', 'e'},
  49481. Felement: int32(_FcElementName),
  49482. },
  49483. 33: {
  49484. Fname: [16]int8{'c', 'o', 'n', 's', 't'},
  49485. Felement: int32(_FcElementConst),
  49486. },
  49487. 34: {
  49488. Fname: [16]int8{'o', 'r'},
  49489. Felement: int32(_FcElementOr),
  49490. },
  49491. 35: {
  49492. Fname: [16]int8{'a', 'n', 'd'},
  49493. Felement: int32(_FcElementAnd),
  49494. },
  49495. 36: {
  49496. Fname: [16]int8{'e', 'q'},
  49497. Felement: int32(_FcElementEq),
  49498. },
  49499. 37: {
  49500. Fname: [16]int8{'n', 'o', 't', '_', 'e', 'q'},
  49501. Felement: int32(_FcElementNotEq),
  49502. },
  49503. 38: {
  49504. Fname: [16]int8{'l', 'e', 's', 's'},
  49505. Felement: int32(_FcElementLess),
  49506. },
  49507. 39: {
  49508. Fname: [16]int8{'l', 'e', 's', 's', '_', 'e', 'q'},
  49509. Felement: int32(_FcElementLessEq),
  49510. },
  49511. 40: {
  49512. Fname: [16]int8{'m', 'o', 'r', 'e'},
  49513. Felement: int32(_FcElementMore),
  49514. },
  49515. 41: {
  49516. Fname: [16]int8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  49517. Felement: int32(_FcElementMoreEq),
  49518. },
  49519. 42: {
  49520. Fname: [16]int8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  49521. Felement: int32(_FcElementContains),
  49522. },
  49523. 43: {
  49524. Fname: [16]int8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  49525. Felement: int32(_FcElementNotContains),
  49526. },
  49527. 44: {
  49528. Fname: [16]int8{'p', 'l', 'u', 's'},
  49529. Felement: int32(_FcElementPlus),
  49530. },
  49531. 45: {
  49532. Fname: [16]int8{'m', 'i', 'n', 'u', 's'},
  49533. Felement: int32(_FcElementMinus),
  49534. },
  49535. 46: {
  49536. Fname: [16]int8{'t', 'i', 'm', 'e', 's'},
  49537. Felement: int32(_FcElementTimes),
  49538. },
  49539. 47: {
  49540. Fname: [16]int8{'d', 'i', 'v', 'i', 'd', 'e'},
  49541. Felement: int32(_FcElementDivide),
  49542. },
  49543. 48: {
  49544. Fname: [16]int8{'n', 'o', 't'},
  49545. Felement: int32(_FcElementNot),
  49546. },
  49547. 49: {
  49548. Fname: [16]int8{'i', 'f'},
  49549. Felement: int32(_FcElementIf),
  49550. },
  49551. 50: {
  49552. Fname: [16]int8{'f', 'l', 'o', 'o', 'r'},
  49553. Felement: int32(_FcElementFloor),
  49554. },
  49555. 51: {
  49556. Fname: [16]int8{'c', 'e', 'i', 'l'},
  49557. Felement: int32(_FcElementCeil),
  49558. },
  49559. 52: {
  49560. Fname: [16]int8{'r', 'o', 'u', 'n', 'd'},
  49561. Felement: int32(_FcElementRound),
  49562. },
  49563. 53: {
  49564. Fname: [16]int8{'t', 'r', 'u', 'n', 'c'},
  49565. Felement: int32(_FcElementTrunc),
  49566. },
  49567. }
  49568. var _fcElementIgnoreName = [16]uintptr{
  49569. 0: __ccgo_ts + 6993,
  49570. 1: libc.UintptrFromInt32(0),
  49571. }
  49572. func _FcElementMap(tls *libc.TLS, name uintptr) (r TFcElement) {
  49573. var i int32
  49574. _ = i
  49575. i = 0
  49576. for {
  49577. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(1080)/libc.Uint64FromInt64(20))) {
  49578. break
  49579. }
  49580. if !(libc.Xstrcmp(tls, name, uintptr(unsafe.Pointer(&_fcElementMap))+uintptr(i)*20) != 0) {
  49581. return _fcElementMap[i].Felement
  49582. }
  49583. goto _1
  49584. _1:
  49585. ;
  49586. i++
  49587. }
  49588. i = 0
  49589. for {
  49590. if !(_fcElementIgnoreName[i] != libc.UintptrFromInt32(0)) {
  49591. break
  49592. }
  49593. if !(libc.Xstrncmp(tls, name, _fcElementIgnoreName[i], libc.Xstrlen(tls, _fcElementIgnoreName[i])) != 0) {
  49594. return int32(_FcElementNone)
  49595. }
  49596. goto _2
  49597. _2:
  49598. ;
  49599. i++
  49600. }
  49601. return int32(_FcElementUnknown)
  49602. }
  49603. func _FcElementReverseMap(tls *libc.TLS, e TFcElement) (r uintptr) {
  49604. var i int32
  49605. _ = i
  49606. i = 0
  49607. for {
  49608. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(1080)/libc.Uint64FromInt64(20))) {
  49609. break
  49610. }
  49611. if _fcElementMap[i].Felement == e {
  49612. return uintptr(unsafe.Pointer(&_fcElementMap)) + uintptr(i)*20
  49613. }
  49614. goto _1
  49615. _1:
  49616. ;
  49617. i++
  49618. }
  49619. return libc.UintptrFromInt32(0)
  49620. }
  49621. type TFcPStack = struct {
  49622. Fprev uintptr
  49623. Felement TFcElement
  49624. Fattr uintptr
  49625. Fstr TFcStrBuf
  49626. Fattr_buf_static [16]uintptr
  49627. }
  49628. type T_FcPStack = TFcPStack
  49629. type TFcVStackTag = int32
  49630. type __FcVStackTag = int32
  49631. const _FcVStackNone = 0
  49632. const _FcVStackString = 1
  49633. const _FcVStackFamily = 2
  49634. const _FcVStackConstant = 3
  49635. const _FcVStackGlob = 4
  49636. const _FcVStackName = 5
  49637. const _FcVStackPattern = 6
  49638. const _FcVStackPrefer = 7
  49639. const _FcVStackAccept = 8
  49640. const _FcVStackDefault = 9
  49641. const _FcVStackInteger = 10
  49642. const _FcVStackDouble = 11
  49643. const _FcVStackMatrix = 12
  49644. const _FcVStackRange = 13
  49645. const _FcVStackBool = 14
  49646. const _FcVStackCharSet = 15
  49647. const _FcVStackLangSet = 16
  49648. const _FcVStackTest = 17
  49649. const _FcVStackExpr = 18
  49650. const _FcVStackEdit = 19
  49651. type TFcVStack = struct {
  49652. Fprev uintptr
  49653. Fpstack uintptr
  49654. Ftag TFcVStackTag
  49655. Fu struct {
  49656. Finteger [0]int32
  49657. F_double [0]float64
  49658. Fmatrix [0]uintptr
  49659. Frange1 [0]uintptr
  49660. Fbool_ [0]TFcBool
  49661. Fcharset [0]uintptr
  49662. Flangset [0]uintptr
  49663. Fname [0]TFcExprName
  49664. Ftest [0]uintptr
  49665. Fqual [0]TFcQual
  49666. Fop [0]TFcOp
  49667. Fexpr [0]uintptr
  49668. Fedit [0]uintptr
  49669. Fpattern [0]uintptr
  49670. Fstring1 uintptr
  49671. }
  49672. }
  49673. type T_FcVStack = TFcVStack
  49674. type TFcConfigParse = struct {
  49675. Fpstack uintptr
  49676. Fvstack uintptr
  49677. Ferror1 TFcBool
  49678. Fname uintptr
  49679. Fconfig uintptr
  49680. Fruleset uintptr
  49681. Fparser TXML_Parser
  49682. Fpstack_static_used uint32
  49683. Fpstack_static [8]TFcPStack
  49684. Fvstack_static_used uint32
  49685. Fvstack_static [64]TFcVStack
  49686. FscanOnly TFcBool
  49687. }
  49688. type T_FcConfigParse = TFcConfigParse
  49689. type TFcConfigSeverity = int32
  49690. type __FcConfigSeverity = int32
  49691. const _FcSevereInfo = 0
  49692. const _FcSevereWarning = 1
  49693. const _FcSevereError = 2
  49694. func _FcConfigMessage(tls *libc.TLS, parse uintptr, severe TFcConfigSeverity, fmt uintptr, va uintptr) {
  49695. bp := tls.Alloc(32)
  49696. defer tls.Free(32)
  49697. var args Tva_list
  49698. var s uintptr
  49699. _, _ = args, s
  49700. s = __ccgo_ts + 4707
  49701. args = va
  49702. switch severe {
  49703. case int32(_FcSevereInfo):
  49704. s = __ccgo_ts + 6998
  49705. case int32(_FcSevereWarning):
  49706. s = __ccgo_ts + 7003
  49707. case int32(_FcSevereError):
  49708. s = __ccgo_ts + 7011
  49709. break
  49710. }
  49711. if parse != 0 {
  49712. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fname != 0 {
  49713. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+7017, libc.VaList(bp+8, s, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname, libc.Int32FromUint64(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  49714. } else {
  49715. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+7048, libc.VaList(bp+8, s, libc.Int32FromUint64(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  49716. }
  49717. if severe >= int32(_FcSevereError) {
  49718. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  49719. }
  49720. } else {
  49721. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+7073, libc.VaList(bp+8, s))
  49722. }
  49723. libc.Xvfprintf(tls, libc.X__stderrp, fmt, args)
  49724. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  49725. _ = args
  49726. }
  49727. func _FcTypeName(tls *libc.TLS, type1 TFcType) (r uintptr) {
  49728. switch type1 {
  49729. case int32(_FcTypeVoid):
  49730. return __ccgo_ts + 7089
  49731. case int32(_FcTypeInteger):
  49732. fallthrough
  49733. case int32(_FcTypeDouble):
  49734. return __ccgo_ts + 7094
  49735. case int32(_FcTypeString):
  49736. return __ccgo_ts + 7101
  49737. case int32(_FcTypeBool):
  49738. return __ccgo_ts + 7108
  49739. case int32(_FcTypeMatrix):
  49740. return __ccgo_ts + 6400
  49741. case int32(_FcTypeCharSet):
  49742. return __ccgo_ts + 6125
  49743. case int32(_FcTypeFTFace):
  49744. return __ccgo_ts + 7113
  49745. case int32(_FcTypeLangSet):
  49746. return __ccgo_ts + 7121
  49747. case int32(_FcTypeRange):
  49748. return __ccgo_ts + 7129
  49749. case int32(_FcTypeUnknown):
  49750. fallthrough
  49751. default:
  49752. return __ccgo_ts + 4707
  49753. }
  49754. return r
  49755. }
  49756. func _FcTypecheckValue(tls *libc.TLS, parse uintptr, value TFcType, type1 TFcType) {
  49757. bp := tls.Alloc(32)
  49758. defer tls.Free(32)
  49759. if value == int32(_FcTypeInteger) {
  49760. value = int32(_FcTypeDouble)
  49761. }
  49762. if type1 == int32(_FcTypeInteger) {
  49763. type1 = int32(_FcTypeDouble)
  49764. }
  49765. if value != type1 {
  49766. if value == int32(_FcTypeLangSet) && type1 == int32(_FcTypeString) || value == int32(_FcTypeString) && type1 == int32(_FcTypeLangSet) || value == int32(_FcTypeDouble) && type1 == int32(_FcTypeRange) {
  49767. return
  49768. }
  49769. if type1 == int32(_FcTypeUnknown) {
  49770. return
  49771. }
  49772. /* It's perfectly fine to use user-define elements in expressions,
  49773. * so don't warn in that case. */
  49774. if value == int32(_FcTypeUnknown) {
  49775. return
  49776. }
  49777. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7135, libc.VaList(bp+8, _FcTypeName(tls, value), _FcTypeName(tls, type1)))
  49778. }
  49779. }
  49780. func _FcTypecheckExpr(tls *libc.TLS, parse uintptr, expr uintptr, type1 TFcType) {
  49781. bp := tls.Alloc(16)
  49782. defer tls.Free(16)
  49783. var c, o uintptr
  49784. _, _ = c, o
  49785. /* If parsing the expression failed, some nodes may be NULL */
  49786. if !(expr != 0) {
  49787. return
  49788. }
  49789. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  49790. case int32(_FcOpInteger):
  49791. fallthrough
  49792. case int32(_FcOpDouble):
  49793. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  49794. case int32(_FcOpString):
  49795. _FcTypecheckValue(tls, parse, int32(_FcTypeString), type1)
  49796. case int32(_FcOpMatrix):
  49797. _FcTypecheckValue(tls, parse, int32(_FcTypeMatrix), type1)
  49798. case int32(_FcOpBool):
  49799. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  49800. case int32(_FcOpCharSet):
  49801. _FcTypecheckValue(tls, parse, int32(_FcTypeCharSet), type1)
  49802. case int32(_FcOpLangSet):
  49803. _FcTypecheckValue(tls, parse, int32(_FcTypeLangSet), type1)
  49804. case int32(_FcOpRange):
  49805. _FcTypecheckValue(tls, parse, int32(_FcTypeRange), type1)
  49806. case int32(_FcOpNil):
  49807. case int32(_FcOpField):
  49808. o = XFcNameGetObjectType(tls, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject))
  49809. if o != 0 {
  49810. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  49811. }
  49812. case int32(_FcOpConst):
  49813. c = XFcNameGetConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  49814. if c != 0 {
  49815. o = XFcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  49816. if o != 0 {
  49817. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  49818. }
  49819. } else {
  49820. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7155, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  49821. }
  49822. case int32(_FcOpQuest):
  49823. _FcTypecheckExpr(tls, parse, (*(*struct {
  49824. Fleft uintptr
  49825. Fright uintptr
  49826. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  49827. _FcTypecheckExpr(tls, parse, (*(*struct {
  49828. Fleft uintptr
  49829. Fright uintptr
  49830. })(unsafe.Pointer((*(*struct {
  49831. Fleft uintptr
  49832. Fright uintptr
  49833. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft, type1)
  49834. _FcTypecheckExpr(tls, parse, (*(*struct {
  49835. Fleft uintptr
  49836. Fright uintptr
  49837. })(unsafe.Pointer((*(*struct {
  49838. Fleft uintptr
  49839. Fright uintptr
  49840. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright, type1)
  49841. case int32(_FcOpAssign):
  49842. fallthrough
  49843. case int32(_FcOpAssignReplace):
  49844. case int32(_FcOpEqual):
  49845. fallthrough
  49846. case int32(_FcOpNotEqual):
  49847. fallthrough
  49848. case int32(_FcOpLess):
  49849. fallthrough
  49850. case int32(_FcOpLessEqual):
  49851. fallthrough
  49852. case int32(_FcOpMore):
  49853. fallthrough
  49854. case int32(_FcOpMoreEqual):
  49855. fallthrough
  49856. case int32(_FcOpContains):
  49857. fallthrough
  49858. case int32(_FcOpNotContains):
  49859. fallthrough
  49860. case int32(_FcOpListing):
  49861. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  49862. case int32(_FcOpComma):
  49863. fallthrough
  49864. case int32(_FcOpOr):
  49865. fallthrough
  49866. case int32(_FcOpAnd):
  49867. fallthrough
  49868. case int32(_FcOpPlus):
  49869. fallthrough
  49870. case int32(_FcOpMinus):
  49871. fallthrough
  49872. case int32(_FcOpTimes):
  49873. fallthrough
  49874. case int32(_FcOpDivide):
  49875. _FcTypecheckExpr(tls, parse, (*(*struct {
  49876. Fleft uintptr
  49877. Fright uintptr
  49878. })(unsafe.Pointer(expr + 8))).Fleft, type1)
  49879. _FcTypecheckExpr(tls, parse, (*(*struct {
  49880. Fleft uintptr
  49881. Fright uintptr
  49882. })(unsafe.Pointer(expr + 8))).Fright, type1)
  49883. case int32(_FcOpNot):
  49884. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  49885. _FcTypecheckExpr(tls, parse, (*(*struct {
  49886. Fleft uintptr
  49887. Fright uintptr
  49888. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  49889. case int32(_FcOpFloor):
  49890. fallthrough
  49891. case int32(_FcOpCeil):
  49892. fallthrough
  49893. case int32(_FcOpRound):
  49894. fallthrough
  49895. case int32(_FcOpTrunc):
  49896. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  49897. _FcTypecheckExpr(tls, parse, (*(*struct {
  49898. Fleft uintptr
  49899. Fright uintptr
  49900. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeDouble))
  49901. default:
  49902. break
  49903. }
  49904. }
  49905. func _FcTestCreate(tls *libc.TLS, parse uintptr, kind TFcMatchKind, qual TFcQual, field uintptr, compare uint32, expr uintptr) (r uintptr) {
  49906. var o, test uintptr
  49907. _, _ = o, test
  49908. test = libc.Xmalloc(tls, uint64(24))
  49909. if test != 0 {
  49910. (*TFcTest)(unsafe.Pointer(test)).Fkind = kind
  49911. (*TFcTest)(unsafe.Pointer(test)).Fqual = qual
  49912. (*TFcTest)(unsafe.Pointer(test)).Fobject = XFcObjectFromName(tls, field)
  49913. (*TFcTest)(unsafe.Pointer(test)).Fop = libc.Int32FromUint32(compare)
  49914. (*TFcTest)(unsafe.Pointer(test)).Fexpr = expr
  49915. o = XFcNameGetObjectType(tls, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject))
  49916. if o != 0 {
  49917. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  49918. }
  49919. }
  49920. return test
  49921. }
  49922. func _FcEditCreate(tls *libc.TLS, parse uintptr, object TFcObject, op TFcOp, expr uintptr, binding TFcValueBinding) (r uintptr) {
  49923. var e, o uintptr
  49924. _, _ = e, o
  49925. e = libc.Xmalloc(tls, uint64(24))
  49926. if e != 0 {
  49927. (*TFcEdit)(unsafe.Pointer(e)).Fobject = object
  49928. (*TFcEdit)(unsafe.Pointer(e)).Fop = op
  49929. (*TFcEdit)(unsafe.Pointer(e)).Fexpr = expr
  49930. (*TFcEdit)(unsafe.Pointer(e)).Fbinding = binding
  49931. o = XFcNameGetObjectType(tls, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(e)).Fobject))
  49932. if o != 0 {
  49933. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  49934. }
  49935. }
  49936. return e
  49937. }
  49938. func _FcRuleCreate(tls *libc.TLS, type1 TFcRuleType, p uintptr) (r1 uintptr) {
  49939. var r uintptr
  49940. _ = r
  49941. r = libc.Xmalloc(tls, uint64(24))
  49942. if !(r != 0) {
  49943. return libc.UintptrFromInt32(0)
  49944. }
  49945. (*TFcRule)(unsafe.Pointer(r)).Fnext = libc.UintptrFromInt32(0)
  49946. (*TFcRule)(unsafe.Pointer(r)).Ftype1 = type1
  49947. switch type1 {
  49948. case int32(_FcRuleTest):
  49949. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  49950. case int32(_FcRuleEdit):
  49951. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  49952. case int32(_FcRuleUnknown):
  49953. fallthrough
  49954. default:
  49955. libc.Xfree(tls, r)
  49956. r = libc.UintptrFromInt32(0)
  49957. break
  49958. }
  49959. return r
  49960. }
  49961. func _FcVStackCreateAndPush(tls *libc.TLS, parse uintptr) (r uintptr) {
  49962. var new1, v2, v3 uintptr
  49963. var v1 uint32
  49964. _, _, _, _ = new1, v1, v2, v3
  49965. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used) < libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(32) {
  49966. v2 = parse + 2496
  49967. v1 = *(*uint32)(unsafe.Pointer(v2))
  49968. *(*uint32)(unsafe.Pointer(v2))++
  49969. new1 = parse + 2504 + uintptr(v1)*32
  49970. } else {
  49971. new1 = libc.Xmalloc(tls, uint64(32))
  49972. if !(new1 != 0) {
  49973. return uintptr(0)
  49974. }
  49975. }
  49976. (*TFcVStack)(unsafe.Pointer(new1)).Ftag = int32(_FcVStackNone)
  49977. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = uintptr(0)
  49978. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  49979. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  49980. v3 = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fprev
  49981. } else {
  49982. v3 = uintptr(0)
  49983. }
  49984. (*TFcVStack)(unsafe.Pointer(new1)).Fpstack = v3
  49985. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = new1
  49986. return new1
  49987. }
  49988. func _FcVStackPushString(tls *libc.TLS, parse uintptr, tag TFcVStackTag, string1 uintptr) (r TFcBool) {
  49989. var vstack uintptr
  49990. _ = vstack
  49991. vstack = _FcVStackCreateAndPush(tls, parse)
  49992. if !(vstack != 0) {
  49993. return m_FcFalse
  49994. }
  49995. *(*uintptr)(unsafe.Pointer(vstack + 24)) = string1
  49996. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  49997. return int32(m_FcTrue)
  49998. }
  49999. func _FcVStackPushInteger(tls *libc.TLS, parse uintptr, integer int32) (r TFcBool) {
  50000. var vstack uintptr
  50001. _ = vstack
  50002. vstack = _FcVStackCreateAndPush(tls, parse)
  50003. if !(vstack != 0) {
  50004. return m_FcFalse
  50005. }
  50006. *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = integer
  50007. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackInteger)
  50008. return int32(m_FcTrue)
  50009. }
  50010. func _FcVStackPushDouble(tls *libc.TLS, parse uintptr, _double float64) (r TFcBool) {
  50011. var vstack uintptr
  50012. _ = vstack
  50013. vstack = _FcVStackCreateAndPush(tls, parse)
  50014. if !(vstack != 0) {
  50015. return m_FcFalse
  50016. }
  50017. *(*float64)(unsafe.Pointer(vstack + 24)) = _double
  50018. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackDouble)
  50019. return int32(m_FcTrue)
  50020. }
  50021. func _FcVStackPushMatrix(tls *libc.TLS, parse uintptr, matrix uintptr) (r TFcBool) {
  50022. var vstack uintptr
  50023. _ = vstack
  50024. vstack = _FcVStackCreateAndPush(tls, parse)
  50025. if !(vstack != 0) {
  50026. return m_FcFalse
  50027. }
  50028. *(*uintptr)(unsafe.Pointer(vstack + 24)) = _FcExprMatrixCopyShallow(tls, matrix)
  50029. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackMatrix)
  50030. return int32(m_FcTrue)
  50031. }
  50032. func _FcVStackPushRange(tls *libc.TLS, parse uintptr, range1 uintptr) (r TFcBool) {
  50033. var vstack uintptr
  50034. _ = vstack
  50035. vstack = _FcVStackCreateAndPush(tls, parse)
  50036. if !(vstack != 0) {
  50037. return m_FcFalse
  50038. }
  50039. *(*uintptr)(unsafe.Pointer(vstack + 24)) = range1
  50040. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackRange)
  50041. return int32(m_FcTrue)
  50042. }
  50043. func _FcVStackPushBool(tls *libc.TLS, parse uintptr, bool_ TFcBool) (r TFcBool) {
  50044. var vstack uintptr
  50045. _ = vstack
  50046. vstack = _FcVStackCreateAndPush(tls, parse)
  50047. if !(vstack != 0) {
  50048. return m_FcFalse
  50049. }
  50050. *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = bool_
  50051. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackBool)
  50052. return int32(m_FcTrue)
  50053. }
  50054. func _FcVStackPushCharSet(tls *libc.TLS, parse uintptr, charset uintptr) (r TFcBool) {
  50055. var vstack uintptr
  50056. _ = vstack
  50057. if !(charset != 0) {
  50058. return m_FcFalse
  50059. }
  50060. vstack = _FcVStackCreateAndPush(tls, parse)
  50061. if !(vstack != 0) {
  50062. return m_FcFalse
  50063. }
  50064. *(*uintptr)(unsafe.Pointer(vstack + 24)) = charset
  50065. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackCharSet)
  50066. return int32(m_FcTrue)
  50067. }
  50068. func _FcVStackPushLangSet(tls *libc.TLS, parse uintptr, langset uintptr) (r TFcBool) {
  50069. var vstack uintptr
  50070. _ = vstack
  50071. if !(langset != 0) {
  50072. return m_FcFalse
  50073. }
  50074. vstack = _FcVStackCreateAndPush(tls, parse)
  50075. if !(vstack != 0) {
  50076. return m_FcFalse
  50077. }
  50078. *(*uintptr)(unsafe.Pointer(vstack + 24)) = langset
  50079. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackLangSet)
  50080. return int32(m_FcTrue)
  50081. }
  50082. func _FcVStackPushName(tls *libc.TLS, parse uintptr, kind TFcMatchKind, object TFcObject) (r TFcBool) {
  50083. var vstack uintptr
  50084. _ = vstack
  50085. vstack = _FcVStackCreateAndPush(tls, parse)
  50086. if !(vstack != 0) {
  50087. return m_FcFalse
  50088. }
  50089. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fobject = object
  50090. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fkind = kind
  50091. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackName)
  50092. return int32(m_FcTrue)
  50093. }
  50094. func _FcVStackPushTest(tls *libc.TLS, parse uintptr, test uintptr) (r TFcBool) {
  50095. var vstack uintptr
  50096. _ = vstack
  50097. vstack = _FcVStackCreateAndPush(tls, parse)
  50098. if !(vstack != 0) {
  50099. return m_FcFalse
  50100. }
  50101. *(*uintptr)(unsafe.Pointer(vstack + 24)) = test
  50102. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackTest)
  50103. return int32(m_FcTrue)
  50104. }
  50105. func _FcVStackPushExpr(tls *libc.TLS, parse uintptr, tag TFcVStackTag, expr uintptr) (r TFcBool) {
  50106. var vstack uintptr
  50107. _ = vstack
  50108. vstack = _FcVStackCreateAndPush(tls, parse)
  50109. if !(vstack != 0) {
  50110. return m_FcFalse
  50111. }
  50112. *(*uintptr)(unsafe.Pointer(vstack + 24)) = expr
  50113. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  50114. return int32(m_FcTrue)
  50115. }
  50116. func _FcVStackPushEdit(tls *libc.TLS, parse uintptr, edit uintptr) (r TFcBool) {
  50117. var vstack uintptr
  50118. _ = vstack
  50119. vstack = _FcVStackCreateAndPush(tls, parse)
  50120. if !(vstack != 0) {
  50121. return m_FcFalse
  50122. }
  50123. *(*uintptr)(unsafe.Pointer(vstack + 24)) = edit
  50124. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackEdit)
  50125. return int32(m_FcTrue)
  50126. }
  50127. func _FcVStackPushPattern(tls *libc.TLS, parse uintptr, pattern uintptr) (r TFcBool) {
  50128. var vstack uintptr
  50129. _ = vstack
  50130. vstack = _FcVStackCreateAndPush(tls, parse)
  50131. if !(vstack != 0) {
  50132. return m_FcFalse
  50133. }
  50134. *(*uintptr)(unsafe.Pointer(vstack + 24)) = pattern
  50135. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackPattern)
  50136. return int32(m_FcTrue)
  50137. }
  50138. func _FcVStackFetch(tls *libc.TLS, parse uintptr, off int32) (r uintptr) {
  50139. var vstack uintptr
  50140. var v2 int32
  50141. var v3 bool
  50142. _, _, _ = vstack, v2, v3
  50143. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  50144. for {
  50145. if v3 = vstack != 0; v3 {
  50146. v2 = off
  50147. off--
  50148. }
  50149. if !(v3 && v2 > 0) {
  50150. break
  50151. }
  50152. goto _1
  50153. _1:
  50154. ;
  50155. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  50156. }
  50157. return vstack
  50158. }
  50159. func _FcVStackPeek(tls *libc.TLS, parse uintptr) (r uintptr) {
  50160. var vstack, v1 uintptr
  50161. _, _ = vstack, v1
  50162. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  50163. if vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  50164. v1 = vstack
  50165. } else {
  50166. v1 = uintptr(0)
  50167. }
  50168. return v1
  50169. }
  50170. func _FcVStackPopAndDestroy(tls *libc.TLS, parse uintptr) {
  50171. var vstack uintptr
  50172. _ = vstack
  50173. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  50174. if !(vstack != 0) || (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack != (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  50175. return
  50176. }
  50177. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  50178. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50179. case int32(_FcVStackNone):
  50180. case int32(_FcVStackName):
  50181. case int32(_FcVStackFamily):
  50182. case int32(_FcVStackString):
  50183. fallthrough
  50184. case int32(_FcVStackConstant):
  50185. fallthrough
  50186. case int32(_FcVStackGlob):
  50187. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50188. case int32(_FcVStackPattern):
  50189. XFcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50190. case int32(_FcVStackInteger):
  50191. fallthrough
  50192. case int32(_FcVStackDouble):
  50193. case int32(_FcVStackMatrix):
  50194. _FcExprMatrixFreeShallow(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50195. case int32(_FcVStackBool):
  50196. case int32(_FcVStackRange):
  50197. XFcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50198. case int32(_FcVStackCharSet):
  50199. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50200. case int32(_FcVStackLangSet):
  50201. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50202. case int32(_FcVStackTest):
  50203. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50204. case int32(_FcVStackExpr):
  50205. fallthrough
  50206. case int32(_FcVStackPrefer):
  50207. fallthrough
  50208. case int32(_FcVStackAccept):
  50209. fallthrough
  50210. case int32(_FcVStackDefault):
  50211. _FcExprDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50212. case int32(_FcVStackEdit):
  50213. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50214. break
  50215. }
  50216. if vstack == parse+2504+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used-uint32(1))*32 {
  50217. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used--
  50218. } else {
  50219. libc.Xfree(tls, vstack)
  50220. }
  50221. }
  50222. func _FcVStackClear(tls *libc.TLS, parse uintptr) {
  50223. for _FcVStackPeek(tls, parse) != 0 {
  50224. _FcVStackPopAndDestroy(tls, parse)
  50225. }
  50226. }
  50227. func _FcVStackElements(tls *libc.TLS, parse uintptr) (r int32) {
  50228. var h int32
  50229. var vstack uintptr
  50230. _, _ = h, vstack
  50231. h = 0
  50232. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  50233. for vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  50234. h++
  50235. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  50236. }
  50237. return h
  50238. }
  50239. func _FcConfigSaveAttr(tls *libc.TLS, attr uintptr, buf uintptr, size_bytes int32) (r uintptr) {
  50240. var i, slen int32
  50241. var new1, s uintptr
  50242. _, _, _, _ = i, new1, s, slen
  50243. if !(attr != 0) {
  50244. return uintptr(0)
  50245. }
  50246. slen = 0
  50247. i = 0
  50248. for {
  50249. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  50250. break
  50251. }
  50252. slen = int32(uint64(slen) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8))) + libc.Uint64FromInt32(1)))
  50253. goto _1
  50254. _1:
  50255. ;
  50256. i++
  50257. }
  50258. if i == 0 {
  50259. return uintptr(0)
  50260. }
  50261. slen = int32(uint64(slen) + libc.Uint64FromInt32(i+libc.Int32FromInt32(1))*libc.Uint64FromInt64(8))
  50262. if slen <= size_bytes {
  50263. new1 = buf
  50264. } else {
  50265. new1 = libc.Xmalloc(tls, libc.Uint64FromInt32(slen))
  50266. if !(new1 != 0) {
  50267. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+7182, 0)
  50268. return uintptr(0)
  50269. }
  50270. }
  50271. s = new1 + uintptr(i+libc.Int32FromInt32(1))*8
  50272. i = 0
  50273. for {
  50274. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  50275. break
  50276. }
  50277. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = s
  50278. libc.X__builtin___strcpy_chk(tls, s, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)), ^t__predefined_size_t(0))
  50279. s += uintptr(libc.Xstrlen(tls, s) + uint64(1))
  50280. goto _2
  50281. _2:
  50282. ;
  50283. i++
  50284. }
  50285. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = uintptr(0)
  50286. return new1
  50287. }
  50288. func _FcPStackPush(tls *libc.TLS, parse uintptr, element TFcElement, attr uintptr) (r TFcBool) {
  50289. var new1, v2 uintptr
  50290. var v1 uint32
  50291. _, _, _ = new1, v1, v2
  50292. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used) < libc.Uint64FromInt64(2432)/libc.Uint64FromInt64(304) {
  50293. v2 = parse + 56
  50294. v1 = *(*uint32)(unsafe.Pointer(v2))
  50295. *(*uint32)(unsafe.Pointer(v2))++
  50296. new1 = parse + 64 + uintptr(v1)*304
  50297. } else {
  50298. new1 = libc.Xmalloc(tls, uint64(304))
  50299. if !(new1 != 0) {
  50300. return m_FcFalse
  50301. }
  50302. }
  50303. (*TFcPStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  50304. (*TFcPStack)(unsafe.Pointer(new1)).Felement = element
  50305. (*TFcPStack)(unsafe.Pointer(new1)).Fattr = _FcConfigSaveAttr(tls, attr, new1+176, int32(128))
  50306. XFcStrBufInit(tls, new1+24, uintptr(0), 0)
  50307. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = new1
  50308. return int32(m_FcTrue)
  50309. }
  50310. func _FcPStackPop(tls *libc.TLS, parse uintptr) (r TFcBool) {
  50311. bp := tls.Alloc(16)
  50312. defer tls.Free(16)
  50313. var attrs, old uintptr
  50314. _, _ = attrs, old
  50315. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50316. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7196, 0)
  50317. return m_FcFalse
  50318. }
  50319. /* Don't check the attributes for FcElementNone */
  50320. if (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement != int32(_FcElementNone) && (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr != 0 {
  50321. /* Warn about unused attrs. */
  50322. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  50323. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  50324. if *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) != 0 {
  50325. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7216, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(attrs))))
  50326. }
  50327. attrs += uintptr(2) * 8
  50328. }
  50329. }
  50330. _FcVStackClear(tls, parse)
  50331. old = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  50332. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = (*TFcPStack)(unsafe.Pointer(old)).Fprev
  50333. XFcStrBufDestroy(tls, old+24)
  50334. if (*TFcPStack)(unsafe.Pointer(old)).Fattr != 0 && (*TFcPStack)(unsafe.Pointer(old)).Fattr != old+176 {
  50335. libc.Xfree(tls, (*TFcPStack)(unsafe.Pointer(old)).Fattr)
  50336. }
  50337. if old == parse+64+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used-uint32(1))*304 {
  50338. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used--
  50339. } else {
  50340. libc.Xfree(tls, old)
  50341. }
  50342. return int32(m_FcTrue)
  50343. }
  50344. func _FcConfigParseInit(tls *libc.TLS, parse uintptr, name uintptr, config uintptr, parser TXML_Parser, enabled TFcBool) (r TFcBool) {
  50345. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = uintptr(0)
  50346. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used = uint32(0)
  50347. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = uintptr(0)
  50348. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used = uint32(0)
  50349. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = m_FcFalse
  50350. (*TFcConfigParse)(unsafe.Pointer(parse)).Fname = name
  50351. (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig = config
  50352. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, name)
  50353. (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser = parser
  50354. (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly = libc.BoolInt32(!(enabled != 0))
  50355. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, enabled)
  50356. return int32(m_FcTrue)
  50357. }
  50358. func _FcConfigCleanup(tls *libc.TLS, parse uintptr) {
  50359. for (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  50360. _FcPStackPop(tls, parse)
  50361. }
  50362. XFcRuleSetDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset)
  50363. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = libc.UintptrFromInt32(0)
  50364. }
  50365. func _FcConfigGetAttribute(tls *libc.TLS, parse uintptr, attr uintptr) (r uintptr) {
  50366. var attrs uintptr
  50367. _ = attrs
  50368. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50369. return uintptr(0)
  50370. }
  50371. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  50372. if !(attrs != 0) {
  50373. return uintptr(0)
  50374. }
  50375. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  50376. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(attrs)), attr) != 0) {
  50377. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) = uint8('\000') /* Mark as used. */
  50378. return *(*uintptr)(unsafe.Pointer(attrs + 1*8))
  50379. }
  50380. attrs += uintptr(2) * 8
  50381. }
  50382. return uintptr(0)
  50383. }
  50384. func __get_real_paths_from_prefix(tls *libc.TLS, parse uintptr, path uintptr, prefix uintptr) (r uintptr) {
  50385. bp := tls.Alloc(32)
  50386. defer tls.Free(32)
  50387. var e, p, parent, retval, s uintptr
  50388. var i int32
  50389. _, _, _, _, _, _ = e, i, p, parent, retval, s
  50390. parent = libc.UintptrFromInt32(0)
  50391. retval = libc.UintptrFromInt32(0)
  50392. e = libc.UintptrFromInt32(0)
  50393. if prefix != 0 {
  50394. if XFcStrCmp(tls, prefix, __ccgo_ts+7239) == 0 {
  50395. parent = XFcConfigXdgDataHome(tls)
  50396. if !(parent != 0) {
  50397. /* Home directory might be disabled */
  50398. return libc.UintptrFromInt32(0)
  50399. }
  50400. e = XFcConfigXdgDataDirs(tls)
  50401. if !(e != 0) {
  50402. XFcStrFree(tls, parent)
  50403. return libc.UintptrFromInt32(0)
  50404. }
  50405. } else {
  50406. if XFcStrCmp(tls, prefix, __ccgo_ts+7243) == 0 || XFcStrCmp(tls, prefix, __ccgo_ts+7251) == 0 {
  50407. /* Nothing to do */
  50408. } else {
  50409. if XFcStrCmp(tls, prefix, __ccgo_ts+7255) == 0 {
  50410. p = XFcStrRealPath(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname)
  50411. if !(p != 0) {
  50412. return libc.UintptrFromInt32(0)
  50413. }
  50414. parent = XFcStrDirname(tls, p)
  50415. if !(parent != 0) {
  50416. libc.Xfree(tls, p)
  50417. return libc.UintptrFromInt32(0)
  50418. }
  50419. }
  50420. }
  50421. }
  50422. } else {
  50423. if !(XFcStrIsAbsoluteFilename(tls, path) != 0) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path))) != int32('~') {
  50424. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7264, libc.VaList(bp+8, _FcElementReverseMap(tls, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)))
  50425. }
  50426. }
  50427. if parent != 0 {
  50428. retval = XFcStrBuildFilename(tls, parent, libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  50429. XFcStrFree(tls, parent)
  50430. } else {
  50431. retval = libc.Xstrdup(tls, path)
  50432. }
  50433. if !(e != 0) {
  50434. e = XFcStrSetCreate(tls)
  50435. } else {
  50436. i = 0
  50437. for {
  50438. if !(i < (*TFcStrSet)(unsafe.Pointer(e)).Fnum) {
  50439. break
  50440. }
  50441. s = XFcStrBuildFilename(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)), libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  50442. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)))
  50443. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)) = s
  50444. goto _1
  50445. _1:
  50446. ;
  50447. i++
  50448. }
  50449. }
  50450. if !(XFcStrSetInsert(tls, e, retval, 0) != 0) {
  50451. XFcStrSetDestroy(tls, e)
  50452. e = libc.UintptrFromInt32(0)
  50453. }
  50454. XFcStrFree(tls, retval)
  50455. return e
  50456. }
  50457. func _FcStartElement(tls *libc.TLS, userData uintptr, name uintptr, attr uintptr) {
  50458. bp := tls.Alloc(16)
  50459. defer tls.Free(16)
  50460. var element TFcElement
  50461. var parse uintptr
  50462. _, _ = element, parse
  50463. parse = userData
  50464. element = _FcElementMap(tls, name)
  50465. if element == int32(_FcElementUnknown) {
  50466. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7359, libc.VaList(bp+8, name))
  50467. }
  50468. if !(_FcPStackPush(tls, parse, element, attr) != 0) {
  50469. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50470. return
  50471. }
  50472. return
  50473. }
  50474. func _FcParseRescan(tls *libc.TLS, parse uintptr) {
  50475. var n, v1 int32
  50476. var v uintptr
  50477. _, _, _ = n, v, v1
  50478. n = _FcVStackElements(tls, parse)
  50479. for {
  50480. v1 = n
  50481. n--
  50482. if !(v1 > 0) {
  50483. break
  50484. }
  50485. v = _FcVStackFetch(tls, parse, n)
  50486. if (*TFcVStack)(unsafe.Pointer(v)).Ftag != int32(_FcVStackInteger) {
  50487. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7380, 0)
  50488. } else {
  50489. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FrescanInterval = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(v)).Fu))
  50490. }
  50491. }
  50492. }
  50493. func _FcParseInt(tls *libc.TLS, parse uintptr) {
  50494. bp := tls.Alloc(32)
  50495. defer tls.Free(32)
  50496. var l int32
  50497. var s uintptr
  50498. var _ /* end at bp+0 */ uintptr
  50499. _, _ = l, s
  50500. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50501. return
  50502. }
  50503. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50504. if !(s != 0) {
  50505. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50506. return
  50507. }
  50508. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  50509. l = int32(libc.Xstrtol(tls, s, bp, 0))
  50510. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  50511. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7399, libc.VaList(bp+16, s))
  50512. } else {
  50513. _FcVStackPushInteger(tls, parse, l)
  50514. }
  50515. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50516. }
  50517. type Tlconv = struct {
  50518. Fdecimal_point uintptr
  50519. Fthousands_sep uintptr
  50520. Fgrouping uintptr
  50521. Fint_curr_symbol uintptr
  50522. Fcurrency_symbol uintptr
  50523. Fmon_decimal_point uintptr
  50524. Fmon_thousands_sep uintptr
  50525. Fmon_grouping uintptr
  50526. Fpositive_sign uintptr
  50527. Fnegative_sign uintptr
  50528. Fint_frac_digits int8
  50529. Ffrac_digits int8
  50530. Fp_cs_precedes int8
  50531. Fp_sep_by_space int8
  50532. Fn_cs_precedes int8
  50533. Fn_sep_by_space int8
  50534. Fp_sign_posn int8
  50535. Fn_sign_posn int8
  50536. Fint_p_cs_precedes int8
  50537. Fint_n_cs_precedes int8
  50538. Fint_p_sep_by_space int8
  50539. Fint_n_sep_by_space int8
  50540. Fint_p_sign_posn int8
  50541. Fint_n_sign_posn int8
  50542. }
  50543. func _FcStrtod(tls *libc.TLS, s uintptr, end uintptr) (r float64) {
  50544. bp := tls.Alloc(144)
  50545. defer tls.Free(144)
  50546. var decimal_point, dot, locale_data, v1 uintptr
  50547. var dlen, slen int32
  50548. var v float64
  50549. var _ /* buf at bp+0 */ [128]int8
  50550. var _ /* buf_end at bp+128 */ uintptr
  50551. _, _, _, _, _, _, _ = decimal_point, dlen, dot, locale_data, slen, v, v1
  50552. /*
  50553. * Have to swap the decimal point to match the current locale
  50554. * if that locale doesn't use 0x2e
  50555. */
  50556. locale_data = libc.Xlocaleconv(tls)
  50557. decimal_point = (*Tlconv)(unsafe.Pointer(locale_data)).Fdecimal_point
  50558. dlen = libc.Int32FromUint64(libc.Xstrlen(tls, decimal_point))
  50559. v1 = libc.Xstrchr(tls, s, int32(0x2e))
  50560. dot = v1
  50561. if v1 != 0 && (int32(*(*int8)(unsafe.Pointer(decimal_point))) != int32(0x2e) || int32(*(*int8)(unsafe.Pointer(decimal_point + 1))) != 0) {
  50562. slen = libc.Int32FromUint64(libc.Xstrlen(tls, s))
  50563. if slen+dlen > libc.Int32FromInt64(128) {
  50564. if end != 0 {
  50565. *(*uintptr)(unsafe.Pointer(end)) = s
  50566. }
  50567. v = libc.Float64FromInt32(0)
  50568. } else {
  50569. /* mantissa */
  50570. libc.X__builtin___strncpy_chk(tls, bp, s, libc.Uint64FromInt64(int64(dot)-int64(s)), ^t__predefined_size_t(0))
  50571. /* decimal point */
  50572. libc.X__builtin___strcpy_chk(tls, bp+uintptr(int64(dot)-int64(s)), decimal_point, ^t__predefined_size_t(0))
  50573. /* rest of number */
  50574. libc.X__builtin___strcpy_chk(tls, bp+uintptr(int64(dot)-int64(s))+uintptr(dlen), dot+uintptr(1), ^t__predefined_size_t(0))
  50575. *(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0)
  50576. v = libc.Xstrtod(tls, bp, bp+128)
  50577. if *(*uintptr)(unsafe.Pointer(bp + 128)) != 0 {
  50578. *(*uintptr)(unsafe.Pointer(bp + 128)) = s + uintptr(int64(*(*uintptr)(unsafe.Pointer(bp + 128)))-t__predefined_ptrdiff_t(bp))
  50579. if *(*uintptr)(unsafe.Pointer(bp + 128)) > dot {
  50580. *(*uintptr)(unsafe.Pointer(bp + 128)) -= uintptr(dlen - int32(1))
  50581. }
  50582. }
  50583. if end != 0 {
  50584. *(*uintptr)(unsafe.Pointer(end)) = *(*uintptr)(unsafe.Pointer(bp + 128))
  50585. }
  50586. }
  50587. } else {
  50588. v = libc.Xstrtod(tls, s, end)
  50589. }
  50590. return v
  50591. }
  50592. func _FcParseDouble(tls *libc.TLS, parse uintptr) {
  50593. bp := tls.Alloc(32)
  50594. defer tls.Free(32)
  50595. var d float64
  50596. var s uintptr
  50597. var _ /* end at bp+0 */ uintptr
  50598. _, _ = d, s
  50599. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50600. return
  50601. }
  50602. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50603. if !(s != 0) {
  50604. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50605. return
  50606. }
  50607. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  50608. d = _FcStrtod(tls, s, bp)
  50609. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  50610. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7425, libc.VaList(bp+16, s))
  50611. } else {
  50612. _FcVStackPushDouble(tls, parse, d)
  50613. }
  50614. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50615. }
  50616. func _FcParseString(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  50617. var s uintptr
  50618. _ = s
  50619. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50620. return
  50621. }
  50622. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50623. if !(s != 0) {
  50624. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50625. return
  50626. }
  50627. if !(_FcVStackPushString(tls, parse, tag, s) != 0) {
  50628. XFcStrFree(tls, s)
  50629. }
  50630. }
  50631. func _FcParseName(tls *libc.TLS, parse uintptr) {
  50632. bp := tls.Alloc(16)
  50633. defer tls.Free(16)
  50634. var kind TFcMatchKind
  50635. var kind_string, s uintptr
  50636. var object TFcObject
  50637. _, _, _, _ = kind, kind_string, object, s
  50638. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7450)
  50639. if !(kind_string != 0) {
  50640. kind = -libc.Int32FromInt32(1)
  50641. } else {
  50642. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7457) != 0) {
  50643. kind = int32(_FcMatchPattern)
  50644. } else {
  50645. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7465) != 0) {
  50646. kind = int32(_FcMatchFont)
  50647. } else {
  50648. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7243) != 0) {
  50649. kind = -libc.Int32FromInt32(1)
  50650. } else {
  50651. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7470, libc.VaList(bp+8, kind_string))
  50652. return
  50653. }
  50654. }
  50655. }
  50656. }
  50657. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50658. return
  50659. }
  50660. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50661. if !(s != 0) {
  50662. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50663. return
  50664. }
  50665. object = XFcObjectFromName(tls, s)
  50666. _FcVStackPushName(tls, parse, kind, object)
  50667. XFcStrFree(tls, s)
  50668. }
  50669. func _FcParseMatrix(tls *libc.TLS, parse uintptr) {
  50670. bp := tls.Alloc(32)
  50671. defer tls.Free(32)
  50672. var _ /* m at bp+0 */ TFcExprMatrix
  50673. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy = _FcPopExpr(tls, parse)
  50674. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx = _FcPopExpr(tls, parse)
  50675. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy = _FcPopExpr(tls, parse)
  50676. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx = _FcPopExpr(tls, parse)
  50677. if !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx != 0) {
  50678. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7495, 0)
  50679. return
  50680. }
  50681. if _FcPopExpr(tls, parse) != 0 {
  50682. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7528, 0)
  50683. } else {
  50684. _FcVStackPushMatrix(tls, parse, bp)
  50685. }
  50686. }
  50687. func _FcParseRange(tls *libc.TLS, parse uintptr) {
  50688. var count int32
  50689. var d [2]float64
  50690. var dflag TFcBool
  50691. var n [2]TFcChar32
  50692. var r, vstack, v1 uintptr
  50693. _, _, _, _, _, _, _ = count, d, dflag, n, r, vstack, v1
  50694. n = [2]TFcChar32{}
  50695. count = int32(1)
  50696. d = [2]float64{}
  50697. dflag = m_FcFalse
  50698. for {
  50699. v1 = _FcVStackPeek(tls, parse)
  50700. vstack = v1
  50701. if !(v1 != 0) {
  50702. break
  50703. }
  50704. if count < 0 {
  50705. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7560, 0)
  50706. return
  50707. }
  50708. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50709. case int32(_FcVStackInteger):
  50710. if dflag != 0 {
  50711. d[count] = float64(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  50712. } else {
  50713. n[count] = libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  50714. }
  50715. case int32(_FcVStackDouble):
  50716. if count == 0 && !(dflag != 0) {
  50717. d[int32(1)] = float64(n[int32(1)])
  50718. }
  50719. d[count] = *(*float64)(unsafe.Pointer(vstack + 24))
  50720. dflag = int32(m_FcTrue)
  50721. default:
  50722. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7587, 0)
  50723. if dflag != 0 {
  50724. d[count] = libc.Float64FromFloat64(0)
  50725. } else {
  50726. n[count] = uint32(0)
  50727. }
  50728. break
  50729. }
  50730. count--
  50731. _FcVStackPopAndDestroy(tls, parse)
  50732. }
  50733. if count >= 0 {
  50734. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7612, 0)
  50735. return
  50736. }
  50737. if dflag != 0 {
  50738. if d[0] > d[int32(1)] {
  50739. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7612, 0)
  50740. return
  50741. }
  50742. r = XFcRangeCreateDouble(tls, d[0], d[int32(1)])
  50743. } else {
  50744. if n[0] > n[int32(1)] {
  50745. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7612, 0)
  50746. return
  50747. }
  50748. r = XFcRangeCreateInteger(tls, n[0], n[int32(1)])
  50749. }
  50750. _FcVStackPushRange(tls, parse, r)
  50751. }
  50752. func _FcConfigLexBool(tls *libc.TLS, parse uintptr, bool_ uintptr) (r TFcBool) {
  50753. bp := tls.Alloc(32)
  50754. defer tls.Free(32)
  50755. var _ /* result at bp+0 */ TFcBool
  50756. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  50757. if !(XFcNameBool(tls, bool_, bp) != 0) {
  50758. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7626, libc.VaList(bp+16, bool_))
  50759. }
  50760. return *(*TFcBool)(unsafe.Pointer(bp))
  50761. }
  50762. func _FcParseBool(tls *libc.TLS, parse uintptr) {
  50763. var s uintptr
  50764. _ = s
  50765. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50766. return
  50767. }
  50768. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50769. if !(s != 0) {
  50770. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50771. return
  50772. }
  50773. _FcVStackPushBool(tls, parse, _FcConfigLexBool(tls, parse, s))
  50774. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50775. }
  50776. func _FcParseCharSet(tls *libc.TLS, parse uintptr) {
  50777. bp := tls.Alloc(16)
  50778. defer tls.Free(16)
  50779. var begin, end, i TFcChar32
  50780. var charset, vstack, v1 uintptr
  50781. var n int32
  50782. _, _, _, _, _, _, _ = begin, charset, end, i, n, vstack, v1
  50783. charset = XFcCharSetCreate(tls)
  50784. n = 0
  50785. for {
  50786. v1 = _FcVStackPeek(tls, parse)
  50787. vstack = v1
  50788. if !(v1 != 0) {
  50789. break
  50790. }
  50791. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50792. case int32(_FcVStackInteger):
  50793. if !(XFcCharSetAddChar(tls, charset, libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))) != 0) {
  50794. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7652, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))))
  50795. } else {
  50796. n++
  50797. }
  50798. case int32(_FcVStackRange):
  50799. begin = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fbegin)
  50800. end = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fend)
  50801. if begin <= end {
  50802. i = begin
  50803. for {
  50804. if !(i <= end) {
  50805. break
  50806. }
  50807. if !(XFcCharSetAddChar(tls, charset, i) != 0) {
  50808. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7652, libc.VaList(bp+8, i))
  50809. } else {
  50810. n++
  50811. }
  50812. goto _2
  50813. _2:
  50814. ;
  50815. i++
  50816. }
  50817. }
  50818. default:
  50819. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7678, 0)
  50820. break
  50821. }
  50822. _FcVStackPopAndDestroy(tls, parse)
  50823. }
  50824. if n > 0 {
  50825. _FcVStackPushCharSet(tls, parse, charset)
  50826. } else {
  50827. XFcCharSetDestroy(tls, charset)
  50828. }
  50829. }
  50830. func _FcParseLangSet(tls *libc.TLS, parse uintptr) {
  50831. bp := tls.Alloc(16)
  50832. defer tls.Free(16)
  50833. var langset, vstack, v1 uintptr
  50834. var n int32
  50835. _, _, _, _ = langset, n, vstack, v1
  50836. langset = XFcLangSetCreate(tls)
  50837. n = 0
  50838. for {
  50839. v1 = _FcVStackPeek(tls, parse)
  50840. vstack = v1
  50841. if !(v1 != 0) {
  50842. break
  50843. }
  50844. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50845. case int32(_FcVStackString):
  50846. if !(XFcLangSetAdd(tls, langset, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  50847. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7705, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(vstack + 24))))
  50848. } else {
  50849. n++
  50850. }
  50851. default:
  50852. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7725, 0)
  50853. break
  50854. }
  50855. _FcVStackPopAndDestroy(tls, parse)
  50856. }
  50857. if n > 0 {
  50858. _FcVStackPushLangSet(tls, parse, langset)
  50859. } else {
  50860. XFcLangSetDestroy(tls, langset)
  50861. }
  50862. }
  50863. func _FcConfigLexBinding(tls *libc.TLS, parse uintptr, binding_string uintptr, binding_ret uintptr) (r TFcBool) {
  50864. bp := tls.Alloc(16)
  50865. defer tls.Free(16)
  50866. var binding TFcValueBinding
  50867. _ = binding
  50868. if !(binding_string != 0) {
  50869. binding = int32(_FcValueBindingWeak)
  50870. } else {
  50871. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7752) != 0) {
  50872. binding = int32(_FcValueBindingWeak)
  50873. } else {
  50874. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7757) != 0) {
  50875. binding = int32(_FcValueBindingStrong)
  50876. } else {
  50877. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7764) != 0) {
  50878. binding = int32(_FcValueBindingSame)
  50879. } else {
  50880. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7769, libc.VaList(bp+8, binding_string))
  50881. return m_FcFalse
  50882. }
  50883. }
  50884. }
  50885. }
  50886. *(*TFcValueBinding)(unsafe.Pointer(binding_ret)) = binding
  50887. return int32(m_FcTrue)
  50888. }
  50889. func _FcParseFamilies(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  50890. var expr, left, new1, vstack, v1 uintptr
  50891. _, _, _, _, _ = expr, left, new1, vstack, v1
  50892. expr = uintptr(0)
  50893. for {
  50894. v1 = _FcVStackPeek(tls, parse)
  50895. vstack = v1
  50896. if !(v1 != 0) {
  50897. break
  50898. }
  50899. if (*TFcVStack)(unsafe.Pointer(vstack)).Ftag != int32(_FcVStackFamily) {
  50900. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7790, 0)
  50901. _FcVStackPopAndDestroy(tls, parse)
  50902. continue
  50903. }
  50904. left = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50905. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50906. _FcVStackPopAndDestroy(tls, parse)
  50907. if expr != 0 {
  50908. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, int32(_FcOpComma), expr)
  50909. if !(new1 != 0) {
  50910. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50911. _FcExprDestroy(tls, left)
  50912. _FcExprDestroy(tls, expr)
  50913. break
  50914. }
  50915. expr = new1
  50916. } else {
  50917. expr = left
  50918. }
  50919. }
  50920. if expr != 0 {
  50921. if !(_FcVStackPushExpr(tls, parse, tag, expr) != 0) {
  50922. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50923. _FcExprDestroy(tls, expr)
  50924. }
  50925. }
  50926. }
  50927. func _FcParseFamily(tls *libc.TLS, parse uintptr) {
  50928. var expr, s uintptr
  50929. _, _ = expr, s
  50930. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50931. return
  50932. }
  50933. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50934. if !(s != 0) {
  50935. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50936. return
  50937. }
  50938. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  50939. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50940. if expr != 0 {
  50941. _FcVStackPushExpr(tls, parse, int32(_FcVStackFamily), expr)
  50942. }
  50943. }
  50944. func _FcParseAlias(tls *libc.TLS, parse uintptr) {
  50945. bp := tls.Alloc(16)
  50946. defer tls.Free(16)
  50947. var accept, def, edit, family, new1, prefer, r, rule, t, vstack, v1, v3 uintptr
  50948. var n, v4 int32
  50949. var _ /* binding at bp+0 */ TFcValueBinding
  50950. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = accept, def, edit, family, n, new1, prefer, r, rule, t, vstack, v1, v3, v4
  50951. family = uintptr(0)
  50952. accept = uintptr(0)
  50953. prefer = uintptr(0)
  50954. def = uintptr(0)
  50955. new1 = uintptr(0)
  50956. edit = uintptr(0)
  50957. rule = libc.UintptrFromInt32(0)
  50958. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7801), bp) != 0) {
  50959. return
  50960. }
  50961. for {
  50962. v1 = _FcVStackPeek(tls, parse)
  50963. vstack = v1
  50964. if !(v1 != 0) {
  50965. break
  50966. }
  50967. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50968. case int32(_FcVStackFamily):
  50969. if family != 0 {
  50970. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7809, 0)
  50971. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), int32(_FcOpComma), family)
  50972. if !(new1 != 0) {
  50973. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50974. } else {
  50975. family = new1
  50976. }
  50977. } else {
  50978. new1 = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50979. }
  50980. if new1 != 0 {
  50981. family = new1
  50982. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50983. }
  50984. case int32(_FcVStackPrefer):
  50985. if prefer != 0 {
  50986. _FcExprDestroy(tls, prefer)
  50987. }
  50988. prefer = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50989. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50990. case int32(_FcVStackAccept):
  50991. if accept != 0 {
  50992. _FcExprDestroy(tls, accept)
  50993. }
  50994. accept = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50995. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50996. case int32(_FcVStackDefault):
  50997. if def != 0 {
  50998. _FcExprDestroy(tls, def)
  50999. }
  51000. def = *(*uintptr)(unsafe.Pointer(vstack + 24))
  51001. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51002. case int32(_FcVStackTest):
  51003. if rule != 0 {
  51004. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51005. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  51006. rule = r
  51007. } else {
  51008. rule = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51009. }
  51010. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51011. default:
  51012. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7890, 0)
  51013. break
  51014. }
  51015. _FcVStackPopAndDestroy(tls, parse)
  51016. }
  51017. if !(family != 0) {
  51018. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7900, 0)
  51019. if prefer != 0 {
  51020. _FcExprDestroy(tls, prefer)
  51021. }
  51022. if accept != 0 {
  51023. _FcExprDestroy(tls, accept)
  51024. }
  51025. if def != 0 {
  51026. _FcExprDestroy(tls, def)
  51027. }
  51028. if rule != 0 {
  51029. XFcRuleDestroy(tls, rule)
  51030. }
  51031. return
  51032. }
  51033. if !(prefer != 0) && !(accept != 0) && !(def != 0) {
  51034. _FcExprDestroy(tls, family)
  51035. if rule != 0 {
  51036. XFcRuleDestroy(tls, rule)
  51037. }
  51038. return
  51039. } else {
  51040. t = _FcTestCreate(tls, parse, int32(_FcMatchPattern), int32(_FcQualAny), __ccgo_ts+5977, libc.Uint32FromInt32(int32(_FcOpEqual)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), family)
  51041. if rule != 0 {
  51042. r = rule
  51043. for {
  51044. if !((*TFcRule)(unsafe.Pointer(r)).Fnext != 0) {
  51045. break
  51046. }
  51047. goto _2
  51048. _2:
  51049. ;
  51050. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  51051. }
  51052. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  51053. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  51054. } else {
  51055. v3 = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  51056. rule = v3
  51057. r = v3
  51058. }
  51059. }
  51060. if prefer != 0 {
  51061. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpPrepend), prefer, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  51062. if !(edit != 0) {
  51063. _FcExprDestroy(tls, prefer)
  51064. } else {
  51065. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  51066. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  51067. }
  51068. }
  51069. if accept != 0 {
  51070. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppend), accept, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  51071. if !(edit != 0) {
  51072. _FcExprDestroy(tls, accept)
  51073. } else {
  51074. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  51075. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  51076. }
  51077. }
  51078. if def != 0 {
  51079. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppendLast), def, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  51080. if !(edit != 0) {
  51081. _FcExprDestroy(tls, def)
  51082. } else {
  51083. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  51084. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  51085. }
  51086. }
  51087. v4 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, int32(_FcMatchPattern))
  51088. n = v4
  51089. if v4 == -int32(1) {
  51090. XFcRuleDestroy(tls, rule)
  51091. } else {
  51092. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  51093. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  51094. }
  51095. }
  51096. }
  51097. func _FcParseDescription(tls *libc.TLS, parse uintptr) {
  51098. var desc, domain uintptr
  51099. _, _ = desc, domain
  51100. domain = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7924)
  51101. desc = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51102. if !(desc != 0) {
  51103. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51104. return
  51105. }
  51106. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, domain, desc)
  51107. XFcStrFree(tls, desc)
  51108. }
  51109. func _FcParseRemapDir(tls *libc.TLS, parse uintptr) {
  51110. bp := tls.Alloc(32)
  51111. defer tls.Free(32)
  51112. var attr, data, l, path, prefix, prefix_dirs, salt, v1 uintptr
  51113. _, _, _, _, _, _, _, _ = attr, data, l, path, prefix, prefix_dirs, salt, v1
  51114. prefix_dirs = libc.UintptrFromInt32(0)
  51115. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51116. if !(data != 0) {
  51117. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51118. return
  51119. }
  51120. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  51121. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7931, 0)
  51122. return
  51123. }
  51124. path = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7975)
  51125. if !(path != 0) {
  51126. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7983, 0)
  51127. return
  51128. }
  51129. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  51130. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8019)
  51131. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  51132. if prefix_dirs != 0 {
  51133. l = XFcStrListCreate(tls, prefix_dirs)
  51134. XFcStrSetDestroy(tls, prefix_dirs)
  51135. for {
  51136. v1 = XFcStrListNext(tls, l)
  51137. prefix = v1
  51138. if !(v1 != 0) {
  51139. break
  51140. }
  51141. if !(prefix != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  51142. /* nop */
  51143. } else {
  51144. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XFcConfigHome(tls) != 0) {
  51145. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, path, salt) != 0) {
  51146. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8024, libc.VaList(bp+8, prefix, path))
  51147. }
  51148. }
  51149. }
  51150. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51151. }
  51152. XFcStrListDone(tls, l)
  51153. }
  51154. }
  51155. func _FcParseResetDirs(tls *libc.TLS, parse uintptr) {
  51156. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) {
  51157. if !(XFcConfigResetFontDirs(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig) != 0) {
  51158. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8077, 0)
  51159. }
  51160. }
  51161. }
  51162. func _FcPopExpr(tls *libc.TLS, parse uintptr) (r uintptr) {
  51163. var expr, vstack uintptr
  51164. _, _ = expr, vstack
  51165. vstack = _FcVStackPeek(tls, parse)
  51166. expr = uintptr(0)
  51167. if !(vstack != 0) {
  51168. return uintptr(0)
  51169. }
  51170. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  51171. case int32(_FcVStackNone):
  51172. case int32(_FcVStackString):
  51173. fallthrough
  51174. case int32(_FcVStackFamily):
  51175. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51176. case int32(_FcVStackName):
  51177. expr = _FcExprCreateName(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcExprName)(unsafe.Pointer(vstack + 24)))
  51178. case int32(_FcVStackConstant):
  51179. expr = _FcExprCreateConst(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51180. case int32(_FcVStackGlob):
  51181. /* XXX: What's the correct action here? (CDW) */
  51182. case int32(_FcVStackPrefer):
  51183. fallthrough
  51184. case int32(_FcVStackAccept):
  51185. fallthrough
  51186. case int32(_FcVStackDefault):
  51187. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  51188. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51189. case int32(_FcVStackInteger):
  51190. expr = _FcExprCreateInteger(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  51191. case int32(_FcVStackDouble):
  51192. expr = _FcExprCreateDouble(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*float64)(unsafe.Pointer(vstack + 24)))
  51193. case int32(_FcVStackMatrix):
  51194. expr = _FcExprCreateMatrix(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51195. case int32(_FcVStackRange):
  51196. expr = _FcExprCreateRange(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51197. case int32(_FcVStackBool):
  51198. expr = _FcExprCreateBool(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  51199. case int32(_FcVStackCharSet):
  51200. expr = _FcExprCreateCharSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51201. case int32(_FcVStackLangSet):
  51202. expr = _FcExprCreateLangSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51203. case int32(_FcVStackTest):
  51204. case int32(_FcVStackExpr):
  51205. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  51206. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51207. case int32(_FcVStackEdit):
  51208. default:
  51209. break
  51210. }
  51211. _FcVStackPopAndDestroy(tls, parse)
  51212. return expr
  51213. }
  51214. // C documentation
  51215. //
  51216. // /*
  51217. // * This builds a tree of binary operations. Note
  51218. // * that every operator is defined so that if only
  51219. // * a single operand is contained, the value of the
  51220. // * whole expression is the value of the operand.
  51221. // *
  51222. // * This code reduces in that case to returning that
  51223. // * operand.
  51224. // */
  51225. func _FcPopBinary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  51226. var expr, left, new1, v1 uintptr
  51227. _, _, _, _ = expr, left, new1, v1
  51228. expr = uintptr(0)
  51229. for {
  51230. v1 = _FcPopExpr(tls, parse)
  51231. left = v1
  51232. if !(v1 != 0) {
  51233. break
  51234. }
  51235. if expr != 0 {
  51236. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, op, expr)
  51237. if !(new1 != 0) {
  51238. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51239. _FcExprDestroy(tls, left)
  51240. _FcExprDestroy(tls, expr)
  51241. return uintptr(0)
  51242. }
  51243. expr = new1
  51244. } else {
  51245. expr = left
  51246. }
  51247. }
  51248. return expr
  51249. }
  51250. func _FcParseBinary(tls *libc.TLS, parse uintptr, op TFcOp) {
  51251. var expr uintptr
  51252. _ = expr
  51253. expr = _FcPopBinary(tls, parse, op)
  51254. if expr != 0 {
  51255. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  51256. }
  51257. }
  51258. /*
  51259. * This builds a a unary operator, it consumes only
  51260. * a single operand
  51261. */
  51262. func _FcPopUnary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  51263. var new1, operand, v1 uintptr
  51264. _, _, _ = new1, operand, v1
  51265. new1 = uintptr(0)
  51266. v1 = _FcPopExpr(tls, parse)
  51267. operand = v1
  51268. if v1 != 0 {
  51269. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, operand, op, uintptr(0))
  51270. if !(new1 != 0) {
  51271. _FcExprDestroy(tls, operand)
  51272. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51273. }
  51274. }
  51275. return new1
  51276. }
  51277. func _FcParseUnary(tls *libc.TLS, parse uintptr, op TFcOp) {
  51278. var expr uintptr
  51279. _ = expr
  51280. expr = _FcPopUnary(tls, parse, op)
  51281. if expr != 0 {
  51282. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  51283. }
  51284. }
  51285. func _FcParseDir(tls *libc.TLS, parse uintptr) {
  51286. bp := tls.Alloc(16)
  51287. defer tls.Free(16)
  51288. var attr, data, l, prefix, prefix_dirs, salt, v1 uintptr
  51289. _, _, _, _, _, _, _ = attr, data, l, prefix, prefix_dirs, salt, v1
  51290. prefix_dirs = libc.UintptrFromInt32(0)
  51291. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51292. if !(data != 0) {
  51293. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51294. return
  51295. }
  51296. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  51297. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8104, 0)
  51298. return
  51299. }
  51300. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  51301. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8019)
  51302. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  51303. if prefix_dirs != 0 {
  51304. l = XFcStrListCreate(tls, prefix_dirs)
  51305. XFcStrSetDestroy(tls, prefix_dirs)
  51306. for {
  51307. v1 = XFcStrListNext(tls, l)
  51308. prefix = v1
  51309. if !(v1 != 0) {
  51310. break
  51311. }
  51312. if !(prefix != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  51313. /* nop */
  51314. } else {
  51315. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XFcConfigHome(tls) != 0) {
  51316. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, libc.UintptrFromInt32(0), salt) != 0) {
  51317. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8138, libc.VaList(bp+8, prefix))
  51318. }
  51319. }
  51320. }
  51321. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51322. }
  51323. XFcStrListDone(tls, l)
  51324. }
  51325. }
  51326. func _FcParseCacheDir(tls *libc.TLS, parse uintptr) {
  51327. bp := tls.Alloc(16)
  51328. defer tls.Free(16)
  51329. var attr, data, p, prefix uintptr
  51330. var dlen, plen Tsize_t
  51331. _, _, _, _, _, _ = attr, data, dlen, p, plen, prefix
  51332. prefix = libc.UintptrFromInt32(0)
  51333. data = libc.UintptrFromInt32(0)
  51334. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  51335. if attr != 0 && XFcStrCmp(tls, attr, __ccgo_ts+7239) == 0 {
  51336. prefix = XFcConfigXdgCacheHome(tls)
  51337. /* home directory might be disabled.
  51338. * simply ignore this element.
  51339. */
  51340. if !(prefix != 0) {
  51341. goto bail
  51342. }
  51343. }
  51344. data = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51345. if !(data != 0) {
  51346. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51347. data = prefix
  51348. goto bail
  51349. }
  51350. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  51351. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8177, 0)
  51352. XFcStrFree(tls, data)
  51353. data = prefix
  51354. goto bail
  51355. }
  51356. if prefix != 0 {
  51357. plen = libc.Xstrlen(tls, prefix)
  51358. dlen = libc.Xstrlen(tls, data)
  51359. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  51360. if !(p != 0) {
  51361. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51362. XFcStrFree(tls, prefix)
  51363. goto bail
  51364. }
  51365. prefix = p
  51366. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  51367. libc.X__builtin___memcpy_chk(tls, prefix+uintptr(plen+uint64(1)), data, dlen, ^t__predefined_size_t(0))
  51368. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  51369. XFcStrFree(tls, data)
  51370. data = prefix
  51371. }
  51372. if libc.Xstrlen(tls, data) == uint64(0) {
  51373. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8177, 0)
  51374. } else {
  51375. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, data) != 0) || XFcConfigHome(tls) != 0) {
  51376. if !(XFcConfigAddCacheDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, data) != 0) {
  51377. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8212, libc.VaList(bp+8, data))
  51378. }
  51379. }
  51380. }
  51381. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51382. goto bail
  51383. bail:
  51384. ;
  51385. if data != 0 {
  51386. XFcStrFree(tls, data)
  51387. }
  51388. }
  51389. func XFcConfigPathFini(tls *libc.TLS) {
  51390. var s uintptr
  51391. var v1, v2 int32
  51392. _, _, _ = s, v1, v2
  51393. goto retry_dir
  51394. retry_dir:
  51395. ;
  51396. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  51397. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == s {
  51398. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = libc.UintptrFromInt32(0)
  51399. v1 = libc.Int32FromInt32(m_FcTrue)
  51400. } else {
  51401. v1 = m_FcFalse
  51402. }
  51403. if !(v1 != 0) {
  51404. goto retry_dir
  51405. }
  51406. libc.Xfree(tls, s)
  51407. goto retry_conf
  51408. retry_conf:
  51409. ;
  51410. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  51411. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == s {
  51412. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = libc.UintptrFromInt32(0)
  51413. v2 = libc.Int32FromInt32(m_FcTrue)
  51414. } else {
  51415. v2 = m_FcFalse
  51416. }
  51417. if !(v2 != 0) {
  51418. goto retry_conf
  51419. }
  51420. libc.Xfree(tls, s)
  51421. }
  51422. func _FcParseInclude(tls *libc.TLS, parse uintptr) {
  51423. bp := tls.Alloc(48)
  51424. defer tls.Free(48)
  51425. var attr, filename, p, parent, parent1, prefix, ruleset, s, u, userconf, userdir uintptr
  51426. var deprecated, ignore_missing TFcBool
  51427. var dlen, plen Tsize_t
  51428. var k TFcMatchKind
  51429. var v3, v6 int32
  51430. var _ /* iter at bp+0 */ TFcPtrListIter
  51431. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = attr, deprecated, dlen, filename, ignore_missing, k, p, parent, parent1, plen, prefix, ruleset, s, u, userconf, userdir, v3, v6
  51432. ignore_missing = m_FcFalse
  51433. deprecated = m_FcFalse
  51434. prefix = libc.UintptrFromInt32(0)
  51435. userdir = libc.UintptrFromInt32(0)
  51436. userconf = libc.UintptrFromInt32(0)
  51437. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51438. if !(s != 0) {
  51439. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51440. goto bail
  51441. }
  51442. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8257)
  51443. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  51444. ignore_missing = int32(m_FcTrue)
  51445. }
  51446. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8272)
  51447. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  51448. deprecated = int32(m_FcTrue)
  51449. }
  51450. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  51451. if attr != 0 && XFcStrCmp(tls, attr, __ccgo_ts+7239) == 0 {
  51452. prefix = XFcConfigXdgConfigHome(tls)
  51453. /* home directory might be disabled.
  51454. * simply ignore this element.
  51455. */
  51456. if !(prefix != 0) {
  51457. goto bail
  51458. }
  51459. }
  51460. if prefix != 0 {
  51461. plen = libc.Xstrlen(tls, prefix)
  51462. dlen = libc.Xstrlen(tls, s)
  51463. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  51464. if !(p != 0) {
  51465. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51466. goto bail
  51467. }
  51468. prefix = p
  51469. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  51470. libc.X__builtin___memcpy_chk(tls, prefix+uintptr(plen+uint64(1)), s, dlen, ^t__predefined_size_t(0))
  51471. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  51472. s = prefix
  51473. if !(XFcFileIsDir(tls, s) != 0) {
  51474. goto _1
  51475. }
  51476. goto userdir
  51477. userdir:
  51478. ;
  51479. userdir = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  51480. if !(userdir != 0) {
  51481. u = libc.Xstrdup(tls, s)
  51482. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == userdir {
  51483. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = u
  51484. v3 = libc.Int32FromInt32(m_FcTrue)
  51485. } else {
  51486. v3 = m_FcFalse
  51487. }
  51488. if !(v3 != 0) {
  51489. libc.Xfree(tls, u)
  51490. goto userdir
  51491. }
  51492. userdir = u
  51493. }
  51494. goto _2
  51495. _1:
  51496. ;
  51497. if !(XFcFileIsFile(tls, s) != 0) {
  51498. goto _4
  51499. }
  51500. goto userconf
  51501. userconf:
  51502. ;
  51503. userconf = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  51504. if !(userconf != 0) {
  51505. u = libc.Xstrdup(tls, s)
  51506. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == userconf {
  51507. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = u
  51508. v6 = libc.Int32FromInt32(m_FcTrue)
  51509. } else {
  51510. v6 = m_FcFalse
  51511. }
  51512. if !(v6 != 0) {
  51513. libc.Xfree(tls, u)
  51514. goto userconf
  51515. }
  51516. userconf = u
  51517. }
  51518. goto _5
  51519. _4:
  51520. ;
  51521. /* No config dir nor file on the XDG directory spec compliant place
  51522. * so need to guess what it is supposed to be.
  51523. */
  51524. if XFcStrStr(tls, s, __ccgo_ts+8283) != libc.UintptrFromInt32(0) {
  51525. goto userdir
  51526. } else {
  51527. goto userconf
  51528. }
  51529. _5:
  51530. ;
  51531. _2:
  51532. }
  51533. /* flush the ruleset into the queue */
  51534. ruleset = (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset
  51535. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fname)
  51536. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fenabled)
  51537. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdomain, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdescription)
  51538. k = int32(_FcMatchKindBegin)
  51539. for {
  51540. if !(k < int32(_FcMatchKindEnd)) {
  51541. break
  51542. }
  51543. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp)
  51544. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp) != 0 {
  51545. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 40 + uintptr(k)*8)), bp)
  51546. XFcRuleSetReference(tls, ruleset)
  51547. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 40 + uintptr(k)*8)), bp, ruleset)
  51548. }
  51549. goto _7
  51550. _7:
  51551. ;
  51552. k++
  51553. }
  51554. XFcRuleSetDestroy(tls, ruleset)
  51555. if !(__FcConfigParse(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s, libc.BoolInt32(!(ignore_missing != 0)), libc.BoolInt32(!((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0))) != 0) {
  51556. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  51557. } else {
  51558. filename = XFcConfigGetFilename(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  51559. if deprecated == int32(m_FcTrue) && filename != libc.UintptrFromInt32(0) && userdir != libc.UintptrFromInt32(0) && !(XFcFileIsLink(tls, filename) != 0) {
  51560. if XFcFileIsDir(tls, filename) != 0 {
  51561. parent = XFcStrDirname(tls, userdir)
  51562. if !(XFcFileIsDir(tls, parent) != 0) {
  51563. XFcMakeDirectory(tls, parent)
  51564. }
  51565. XFcStrFree(tls, parent)
  51566. if XFcFileIsDir(tls, userdir) != 0 || libc.Xrename(tls, filename, userdir) != 0 || libc.Xsymlink(tls, userdir, filename) != 0 {
  51567. if !(_warn_confd != 0) {
  51568. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8290, libc.VaList(bp+32, s, userdir))
  51569. _warn_confd = int32(m_FcTrue)
  51570. }
  51571. }
  51572. } else {
  51573. parent1 = XFcStrDirname(tls, userconf)
  51574. if !(XFcFileIsDir(tls, parent1) != 0) {
  51575. XFcMakeDirectory(tls, parent1)
  51576. }
  51577. XFcStrFree(tls, parent1)
  51578. if XFcFileIsFile(tls, userconf) != 0 || libc.Xrename(tls, filename, userconf) != 0 || libc.Xsymlink(tls, userconf, filename) != 0 {
  51579. if !(_warn_conf != 0) {
  51580. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8290, libc.VaList(bp+32, s, userconf))
  51581. _warn_conf = int32(m_FcTrue)
  51582. }
  51583. }
  51584. }
  51585. }
  51586. if filename != 0 {
  51587. XFcStrFree(tls, filename)
  51588. }
  51589. }
  51590. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51591. goto bail
  51592. bail:
  51593. ;
  51594. if prefix != 0 {
  51595. XFcStrFree(tls, prefix)
  51596. }
  51597. }
  51598. var _warn_conf TFcBool
  51599. var _warn_confd TFcBool
  51600. type TFcOpMap = struct {
  51601. Fname [16]int8
  51602. Fop TFcOp
  51603. }
  51604. type T_FcOpMap = TFcOpMap
  51605. func _FcConfigLexOp(tls *libc.TLS, op uintptr, map1 uintptr, nmap int32) (r TFcOp) {
  51606. var i int32
  51607. _ = i
  51608. i = 0
  51609. for {
  51610. if !(i < nmap) {
  51611. break
  51612. }
  51613. if !(libc.Xstrcmp(tls, op, map1+uintptr(i)*20) != 0) {
  51614. return (*(*TFcOpMap)(unsafe.Pointer(map1 + uintptr(i)*20))).Fop
  51615. }
  51616. goto _1
  51617. _1:
  51618. ;
  51619. i++
  51620. }
  51621. return int32(_FcOpInvalid)
  51622. }
  51623. var _fcCompareOps = [8]TFcOpMap{
  51624. 0: {
  51625. Fname: [16]int8{'e', 'q'},
  51626. Fop: int32(_FcOpEqual),
  51627. },
  51628. 1: {
  51629. Fname: [16]int8{'n', 'o', 't', '_', 'e', 'q'},
  51630. Fop: int32(_FcOpNotEqual),
  51631. },
  51632. 2: {
  51633. Fname: [16]int8{'l', 'e', 's', 's'},
  51634. Fop: int32(_FcOpLess),
  51635. },
  51636. 3: {
  51637. Fname: [16]int8{'l', 'e', 's', 's', '_', 'e', 'q'},
  51638. Fop: int32(_FcOpLessEqual),
  51639. },
  51640. 4: {
  51641. Fname: [16]int8{'m', 'o', 'r', 'e'},
  51642. Fop: int32(_FcOpMore),
  51643. },
  51644. 5: {
  51645. Fname: [16]int8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  51646. Fop: int32(_FcOpMoreEqual),
  51647. },
  51648. 6: {
  51649. Fname: [16]int8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  51650. Fop: int32(_FcOpContains),
  51651. },
  51652. 7: {
  51653. Fname: [16]int8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  51654. Fop: int32(_FcOpNotContains),
  51655. },
  51656. }
  51657. func _FcConfigLexCompare(tls *libc.TLS, compare uintptr) (r TFcOp) {
  51658. return _FcConfigLexOp(tls, compare, uintptr(unsafe.Pointer(&_fcCompareOps)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  51659. }
  51660. func _FcParseTest(tls *libc.TLS, parse uintptr) {
  51661. bp := tls.Alloc(32)
  51662. defer tls.Free(32)
  51663. var compare TFcOp
  51664. var compare_string, expr, iblanks_string, kind_string, name, qual_string, test uintptr
  51665. var flags int32
  51666. var kind TFcMatchKind
  51667. var qual TFcQual
  51668. var _ /* f at bp+0 */ TFcBool
  51669. _, _, _, _, _, _, _, _, _, _, _ = compare, compare_string, expr, flags, iblanks_string, kind, kind_string, name, qual, qual_string, test
  51670. flags = 0
  51671. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7450)
  51672. if !(kind_string != 0) {
  51673. kind = -libc.Int32FromInt32(1)
  51674. } else {
  51675. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7457) != 0) {
  51676. kind = int32(_FcMatchPattern)
  51677. } else {
  51678. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7465) != 0) {
  51679. kind = int32(_FcMatchFont)
  51680. } else {
  51681. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+8366) != 0) {
  51682. kind = int32(_FcMatchScan)
  51683. } else {
  51684. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7243) != 0) {
  51685. kind = -libc.Int32FromInt32(1)
  51686. } else {
  51687. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8371, libc.VaList(bp+16, kind_string))
  51688. return
  51689. }
  51690. }
  51691. }
  51692. }
  51693. }
  51694. qual_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8396)
  51695. if !(qual_string != 0) {
  51696. qual = int32(_FcQualAny)
  51697. } else {
  51698. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8401) != 0) {
  51699. qual = int32(_FcQualAny)
  51700. } else {
  51701. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8405) != 0) {
  51702. qual = int32(_FcQualAll)
  51703. } else {
  51704. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8409) != 0) {
  51705. qual = int32(_FcQualFirst)
  51706. } else {
  51707. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8415) != 0) {
  51708. qual = int32(_FcQualNotFirst)
  51709. } else {
  51710. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8425, libc.VaList(bp+16, qual_string))
  51711. return
  51712. }
  51713. }
  51714. }
  51715. }
  51716. }
  51717. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8448)
  51718. if !(name != 0) {
  51719. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8453, 0)
  51720. return
  51721. }
  51722. compare_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8471)
  51723. if !(compare_string != 0) {
  51724. compare = int32(_FcOpEqual)
  51725. } else {
  51726. compare = _FcConfigLexCompare(tls, compare_string)
  51727. if compare == int32(_FcOpInvalid) {
  51728. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8479, libc.VaList(bp+16, compare_string))
  51729. return
  51730. }
  51731. }
  51732. iblanks_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8505)
  51733. if iblanks_string != 0 {
  51734. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  51735. if !(XFcNameBool(tls, iblanks_string, bp) != 0) {
  51736. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8519, libc.VaList(bp+16, iblanks_string))
  51737. }
  51738. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  51739. flags |= int32(_FcOpFlagIgnoreBlanks)
  51740. }
  51741. }
  51742. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  51743. if !(expr != 0) {
  51744. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8551, 0)
  51745. return
  51746. }
  51747. if (*TFcExpr)(unsafe.Pointer(expr)).Fop == int32(_FcOpComma) {
  51748. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8575, 0)
  51749. }
  51750. test = _FcTestCreate(tls, parse, kind, qual, name, libc.Uint32FromInt32(compare&libc.Int32FromInt32(0xffff)|flags<<libc.Int32FromInt32(16)), expr)
  51751. if !(test != 0) {
  51752. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51753. return
  51754. }
  51755. _FcVStackPushTest(tls, parse, test)
  51756. }
  51757. var _fcModeOps = [8]TFcOpMap{
  51758. 0: {
  51759. Fname: [16]int8{'a', 's', 's', 'i', 'g', 'n'},
  51760. Fop: int32(_FcOpAssign),
  51761. },
  51762. 1: {
  51763. Fname: [16]int8{'a', 's', 's', 'i', 'g', 'n', '_', 'r', 'e', 'p', 'l', 'a', 'c', 'e'},
  51764. Fop: int32(_FcOpAssignReplace),
  51765. },
  51766. 2: {
  51767. Fname: [16]int8{'p', 'r', 'e', 'p', 'e', 'n', 'd'},
  51768. Fop: int32(_FcOpPrepend),
  51769. },
  51770. 3: {
  51771. Fname: [16]int8{'p', 'r', 'e', 'p', 'e', 'n', 'd', '_', 'f', 'i', 'r', 's', 't'},
  51772. Fop: int32(_FcOpPrependFirst),
  51773. },
  51774. 4: {
  51775. Fname: [16]int8{'a', 'p', 'p', 'e', 'n', 'd'},
  51776. Fop: int32(_FcOpAppend),
  51777. },
  51778. 5: {
  51779. Fname: [16]int8{'a', 'p', 'p', 'e', 'n', 'd', '_', 'l', 'a', 's', 't'},
  51780. Fop: int32(_FcOpAppendLast),
  51781. },
  51782. 6: {
  51783. Fname: [16]int8{'d', 'e', 'l', 'e', 't', 'e'},
  51784. Fop: int32(_FcOpDelete),
  51785. },
  51786. 7: {
  51787. Fname: [16]int8{'d', 'e', 'l', 'e', 't', 'e', '_', 'a', 'l', 'l'},
  51788. Fop: int32(_FcOpDeleteAll),
  51789. },
  51790. }
  51791. func _FcConfigLexMode(tls *libc.TLS, mode uintptr) (r TFcOp) {
  51792. return _FcConfigLexOp(tls, mode, uintptr(unsafe.Pointer(&_fcModeOps)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  51793. }
  51794. func _FcParseEdit(tls *libc.TLS, parse uintptr) {
  51795. bp := tls.Alloc(32)
  51796. defer tls.Free(32)
  51797. var edit, expr, mode_string, name uintptr
  51798. var mode TFcOp
  51799. var _ /* binding at bp+0 */ TFcValueBinding
  51800. _, _, _, _, _ = edit, expr, mode, mode_string, name
  51801. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8448)
  51802. if !(name != 0) {
  51803. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8653, 0)
  51804. return
  51805. }
  51806. mode_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8671)
  51807. if !(mode_string != 0) {
  51808. mode = int32(_FcOpAssign)
  51809. } else {
  51810. mode = _FcConfigLexMode(tls, mode_string)
  51811. if mode == int32(_FcOpInvalid) {
  51812. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8676, libc.VaList(bp+16, mode_string))
  51813. return
  51814. }
  51815. }
  51816. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7801), bp) != 0) {
  51817. return
  51818. }
  51819. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  51820. if (mode == int32(_FcOpDelete) || mode == int32(_FcOpDeleteAll)) && expr != libc.UintptrFromInt32(0) {
  51821. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8699, 0)
  51822. _FcExprDestroy(tls, expr)
  51823. expr = libc.UintptrFromInt32(0)
  51824. }
  51825. edit = _FcEditCreate(tls, parse, XFcObjectFromName(tls, name), mode, expr, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  51826. if !(edit != 0) {
  51827. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51828. _FcExprDestroy(tls, expr)
  51829. return
  51830. }
  51831. if !(_FcVStackPushEdit(tls, parse, edit) != 0) {
  51832. XFcEditDestroy(tls, edit)
  51833. }
  51834. }
  51835. func _FcParseMatch(tls *libc.TLS, parse uintptr) {
  51836. bp := tls.Alloc(16)
  51837. defer tls.Free(16)
  51838. var kind TFcMatchKind
  51839. var kind_name, r, rule, vstack, v1 uintptr
  51840. var n, v2 int32
  51841. _, _, _, _, _, _, _, _ = kind, kind_name, n, r, rule, vstack, v1, v2
  51842. rule = libc.UintptrFromInt32(0)
  51843. kind_name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7450)
  51844. if !(kind_name != 0) {
  51845. kind = int32(_FcMatchPattern)
  51846. } else {
  51847. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7457) != 0) {
  51848. kind = int32(_FcMatchPattern)
  51849. } else {
  51850. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7465) != 0) {
  51851. kind = int32(_FcMatchFont)
  51852. } else {
  51853. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+8366) != 0) {
  51854. kind = int32(_FcMatchScan)
  51855. } else {
  51856. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8761, libc.VaList(bp+8, kind_name))
  51857. return
  51858. }
  51859. }
  51860. }
  51861. }
  51862. for {
  51863. v1 = _FcVStackPeek(tls, parse)
  51864. vstack = v1
  51865. if !(v1 != 0) {
  51866. break
  51867. }
  51868. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  51869. case int32(_FcVStackTest):
  51870. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51871. if rule != 0 {
  51872. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  51873. }
  51874. rule = r
  51875. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51876. case int32(_FcVStackEdit):
  51877. if kind == int32(_FcMatchScan) && (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) {
  51878. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8787, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject)))
  51879. if rule != 0 {
  51880. XFcRuleDestroy(tls, rule)
  51881. }
  51882. return
  51883. }
  51884. r = _FcRuleCreate(tls, int32(_FcRuleEdit), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51885. if rule != 0 {
  51886. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  51887. }
  51888. rule = r
  51889. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51890. default:
  51891. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8846, 0)
  51892. break
  51893. }
  51894. _FcVStackPopAndDestroy(tls, parse)
  51895. }
  51896. if !(rule != 0) {
  51897. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8868, 0)
  51898. return
  51899. }
  51900. v2 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, kind)
  51901. n = v2
  51902. if v2 == -int32(1) {
  51903. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51904. XFcRuleDestroy(tls, rule)
  51905. } else {
  51906. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  51907. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  51908. }
  51909. }
  51910. }
  51911. func _FcParseAcceptRejectFont(tls *libc.TLS, parse uintptr, element TFcElement) {
  51912. var vstack, v1 uintptr
  51913. _, _ = vstack, v1
  51914. for {
  51915. v1 = _FcVStackPeek(tls, parse)
  51916. vstack = v1
  51917. if !(v1 != 0) {
  51918. break
  51919. }
  51920. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  51921. case int32(_FcVStackGlob):
  51922. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && !(XFcConfigGlobAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), libc.BoolInt32(element == int32(_FcElementAcceptfont))) != 0) {
  51923. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51924. } else {
  51925. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  51926. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51927. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51928. }
  51929. }
  51930. case int32(_FcVStackPattern):
  51931. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && !(XFcConfigPatternsAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), libc.BoolInt32(element == int32(_FcElementAcceptfont))) != 0) {
  51932. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  51933. } else {
  51934. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  51935. XFcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51936. }
  51937. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51938. }
  51939. default:
  51940. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8909, 0)
  51941. break
  51942. }
  51943. _FcVStackPopAndDestroy(tls, parse)
  51944. }
  51945. }
  51946. func _FcPopValue(tls *libc.TLS, parse uintptr) (r TFcValue) {
  51947. bp := tls.Alloc(32)
  51948. defer tls.Free(32)
  51949. var vstack uintptr
  51950. var _ /* value at bp+0 */ TFcValue
  51951. _ = vstack
  51952. vstack = _FcVStackPeek(tls, parse)
  51953. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  51954. if !(vstack != 0) {
  51955. return *(*TFcValue)(unsafe.Pointer(bp))
  51956. }
  51957. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  51958. case int32(_FcVStackString):
  51959. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51960. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  51961. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  51962. }
  51963. case int32(_FcVStackConstant):
  51964. if XFcNameConstant(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)), bp+8) != 0 {
  51965. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  51966. }
  51967. case int32(_FcVStackInteger):
  51968. *(*int32)(unsafe.Pointer(bp + 8)) = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  51969. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  51970. case int32(_FcVStackDouble):
  51971. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(vstack + 24))
  51972. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  51973. case int32(_FcVStackBool):
  51974. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  51975. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  51976. case int32(_FcVStackCharSet):
  51977. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51978. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  51979. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  51980. }
  51981. case int32(_FcVStackLangSet):
  51982. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51983. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  51984. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  51985. }
  51986. case int32(_FcVStackRange):
  51987. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51988. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  51989. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  51990. }
  51991. default:
  51992. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8927, libc.VaList(bp+24, (*TFcVStack)(unsafe.Pointer(vstack)).Ftag))
  51993. break
  51994. }
  51995. _FcVStackPopAndDestroy(tls, parse)
  51996. return *(*TFcValue)(unsafe.Pointer(bp))
  51997. }
  51998. func _FcParsePatelt(tls *libc.TLS, parse uintptr) {
  51999. var name, pattern uintptr
  52000. var value TFcValue
  52001. _, _, _ = name, pattern, value
  52002. pattern = XFcPatternCreate(tls)
  52003. if !(pattern != 0) {
  52004. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  52005. return
  52006. }
  52007. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8448)
  52008. if !(name != 0) {
  52009. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8954, 0)
  52010. XFcPatternDestroy(tls, pattern)
  52011. return
  52012. }
  52013. for {
  52014. value = _FcPopValue(tls, parse)
  52015. if value.Ftype1 == int32(_FcTypeVoid) {
  52016. break
  52017. }
  52018. if !(XFcPatternAdd(tls, pattern, name, value, int32(m_FcTrue)) != 0) {
  52019. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  52020. XFcValueDestroy(tls, value)
  52021. break
  52022. }
  52023. XFcValueDestroy(tls, value)
  52024. goto _1
  52025. _1:
  52026. }
  52027. _FcVStackPushPattern(tls, parse, pattern)
  52028. }
  52029. func _FcParsePattern(tls *libc.TLS, parse uintptr) {
  52030. var pattern, vstack, v1 uintptr
  52031. _, _, _ = pattern, vstack, v1
  52032. pattern = XFcPatternCreate(tls)
  52033. if !(pattern != 0) {
  52034. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  52035. return
  52036. }
  52037. for {
  52038. v1 = _FcVStackPeek(tls, parse)
  52039. vstack = v1
  52040. if !(v1 != 0) {
  52041. break
  52042. }
  52043. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  52044. case int32(_FcVStackPattern):
  52045. if !(XFcPatternAppend(tls, pattern, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  52046. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  52047. XFcPatternDestroy(tls, pattern)
  52048. return
  52049. }
  52050. default:
  52051. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8983, 0)
  52052. break
  52053. }
  52054. _FcVStackPopAndDestroy(tls, parse)
  52055. }
  52056. _FcVStackPushPattern(tls, parse, pattern)
  52057. }
  52058. func _FcEndElement(tls *libc.TLS, userData uintptr, name uintptr) {
  52059. var data, parse uintptr
  52060. _, _ = data, parse
  52061. parse = userData
  52062. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  52063. return
  52064. }
  52065. switch (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement {
  52066. case int32(_FcElementNone):
  52067. case int32(_FcElementFontconfig):
  52068. case int32(_FcElementDir):
  52069. _FcParseDir(tls, parse)
  52070. case int32(_FcElementCacheDir):
  52071. _FcParseCacheDir(tls, parse)
  52072. case int32(_FcElementCache):
  52073. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  52074. if !(data != 0) {
  52075. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  52076. break
  52077. }
  52078. /* discard this data; no longer used */
  52079. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  52080. case int32(_FcElementInclude):
  52081. _FcParseInclude(tls, parse)
  52082. case int32(_FcElementConfig):
  52083. case int32(_FcElementMatch):
  52084. _FcParseMatch(tls, parse)
  52085. case int32(_FcElementAlias):
  52086. _FcParseAlias(tls, parse)
  52087. case int32(_FcElementDescription):
  52088. _FcParseDescription(tls, parse)
  52089. case int32(_FcElementRemapDir):
  52090. _FcParseRemapDir(tls, parse)
  52091. case int32(_FcElementResetDirs):
  52092. _FcParseResetDirs(tls, parse)
  52093. case int32(_FcElementRescan):
  52094. _FcParseRescan(tls, parse)
  52095. case int32(_FcElementPrefer):
  52096. _FcParseFamilies(tls, parse, int32(_FcVStackPrefer))
  52097. case int32(_FcElementAccept):
  52098. _FcParseFamilies(tls, parse, int32(_FcVStackAccept))
  52099. case int32(_FcElementDefault):
  52100. _FcParseFamilies(tls, parse, int32(_FcVStackDefault))
  52101. case int32(_FcElementFamily):
  52102. _FcParseFamily(tls, parse)
  52103. case int32(_FcElementTest):
  52104. _FcParseTest(tls, parse)
  52105. case int32(_FcElementEdit):
  52106. _FcParseEdit(tls, parse)
  52107. case int32(_FcElementInt):
  52108. _FcParseInt(tls, parse)
  52109. case int32(_FcElementDouble):
  52110. _FcParseDouble(tls, parse)
  52111. case int32(_FcElementString):
  52112. _FcParseString(tls, parse, int32(_FcVStackString))
  52113. case int32(_FcElementMatrix):
  52114. _FcParseMatrix(tls, parse)
  52115. case int32(_FcElementRange):
  52116. _FcParseRange(tls, parse)
  52117. case int32(_FcElementBool):
  52118. _FcParseBool(tls, parse)
  52119. case int32(_FcElementCharSet):
  52120. _FcParseCharSet(tls, parse)
  52121. case int32(_FcElementLangSet):
  52122. _FcParseLangSet(tls, parse)
  52123. case int32(_FcElementSelectfont):
  52124. case int32(_FcElementAcceptfont):
  52125. fallthrough
  52126. case int32(_FcElementRejectfont):
  52127. _FcParseAcceptRejectFont(tls, parse, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)
  52128. case int32(_FcElementGlob):
  52129. _FcParseString(tls, parse, int32(_FcVStackGlob))
  52130. case int32(_FcElementPattern):
  52131. _FcParsePattern(tls, parse)
  52132. case int32(_FcElementPatelt):
  52133. _FcParsePatelt(tls, parse)
  52134. case int32(_FcElementName):
  52135. _FcParseName(tls, parse)
  52136. case int32(_FcElementConst):
  52137. _FcParseString(tls, parse, int32(_FcVStackConstant))
  52138. case int32(_FcElementOr):
  52139. _FcParseBinary(tls, parse, int32(_FcOpOr))
  52140. case int32(_FcElementAnd):
  52141. _FcParseBinary(tls, parse, int32(_FcOpAnd))
  52142. case int32(_FcElementEq):
  52143. _FcParseBinary(tls, parse, int32(_FcOpEqual))
  52144. case int32(_FcElementNotEq):
  52145. _FcParseBinary(tls, parse, int32(_FcOpNotEqual))
  52146. case int32(_FcElementLess):
  52147. _FcParseBinary(tls, parse, int32(_FcOpLess))
  52148. case int32(_FcElementLessEq):
  52149. _FcParseBinary(tls, parse, int32(_FcOpLessEqual))
  52150. case int32(_FcElementMore):
  52151. _FcParseBinary(tls, parse, int32(_FcOpMore))
  52152. case int32(_FcElementMoreEq):
  52153. _FcParseBinary(tls, parse, int32(_FcOpMoreEqual))
  52154. case int32(_FcElementContains):
  52155. _FcParseBinary(tls, parse, int32(_FcOpContains))
  52156. case int32(_FcElementNotContains):
  52157. _FcParseBinary(tls, parse, int32(_FcOpNotContains))
  52158. case int32(_FcElementPlus):
  52159. _FcParseBinary(tls, parse, int32(_FcOpPlus))
  52160. case int32(_FcElementMinus):
  52161. _FcParseBinary(tls, parse, int32(_FcOpMinus))
  52162. case int32(_FcElementTimes):
  52163. _FcParseBinary(tls, parse, int32(_FcOpTimes))
  52164. case int32(_FcElementDivide):
  52165. _FcParseBinary(tls, parse, int32(_FcOpDivide))
  52166. case int32(_FcElementNot):
  52167. _FcParseUnary(tls, parse, int32(_FcOpNot))
  52168. case int32(_FcElementIf):
  52169. _FcParseBinary(tls, parse, int32(_FcOpQuest))
  52170. case int32(_FcElementFloor):
  52171. _FcParseUnary(tls, parse, int32(_FcOpFloor))
  52172. case int32(_FcElementCeil):
  52173. _FcParseUnary(tls, parse, int32(_FcOpCeil))
  52174. case int32(_FcElementRound):
  52175. _FcParseUnary(tls, parse, int32(_FcOpRound))
  52176. case int32(_FcElementTrunc):
  52177. _FcParseUnary(tls, parse, int32(_FcOpTrunc))
  52178. case int32(_FcElementUnknown):
  52179. break
  52180. }
  52181. _FcPStackPop(tls, parse)
  52182. }
  52183. func _FcCharacterData(tls *libc.TLS, userData uintptr, s uintptr, len1 int32) {
  52184. var parse uintptr
  52185. _ = parse
  52186. parse = userData
  52187. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  52188. return
  52189. }
  52190. if !(XFcStrBufData(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24, s, len1) != 0) {
  52191. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  52192. }
  52193. }
  52194. func _FcStartDoctypeDecl(tls *libc.TLS, userData uintptr, doctypeName uintptr, sysid uintptr, pubid uintptr, has_internal_subset int32) {
  52195. bp := tls.Alloc(16)
  52196. defer tls.Free(16)
  52197. var parse uintptr
  52198. _ = parse
  52199. parse = userData
  52200. if libc.Xstrcmp(tls, doctypeName, __ccgo_ts+9007) != 0 {
  52201. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+9018, libc.VaList(bp+8, doctypeName))
  52202. }
  52203. }
  52204. func _FcEndDoctypeDecl(tls *libc.TLS, userData uintptr) {
  52205. }
  52206. func _FcSortCmpStr(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  52207. var as, bs uintptr
  52208. _, _ = as, bs
  52209. as = *(*uintptr)(unsafe.Pointer(a))
  52210. bs = *(*uintptr)(unsafe.Pointer(b))
  52211. return XFcStrCmp(tls, as, bs)
  52212. }
  52213. func _FcConfigParseAndLoadDir(tls *libc.TLS, config uintptr, name uintptr, dir uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  52214. bp := tls.Alloc(16)
  52215. defer tls.Free(16)
  52216. var base, d, e, file, files, v1 uintptr
  52217. var d_len, i int32
  52218. var ret TFcBool
  52219. var v2 bool
  52220. _, _, _, _, _, _, _, _, _, _ = base, d, d_len, e, file, files, i, ret, v1, v2
  52221. ret = int32(m_FcTrue)
  52222. d = libc.Xopendir(tls, dir)
  52223. if !(d != 0) {
  52224. if complain != 0 {
  52225. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9039, libc.VaList(bp+8, name))
  52226. }
  52227. ret = m_FcFalse
  52228. goto bail0
  52229. }
  52230. /* freed below */
  52231. file = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  52232. if !(file != 0) {
  52233. ret = m_FcFalse
  52234. goto bail1
  52235. }
  52236. libc.X__builtin___strcpy_chk(tls, file, dir, ^t__predefined_size_t(0))
  52237. libc.X__builtin___strcat_chk(tls, file, __ccgo_ts+1485, ^t__predefined_size_t(0))
  52238. base = file + uintptr(libc.Xstrlen(tls, file))
  52239. files = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  52240. if !(files != 0) {
  52241. ret = m_FcFalse
  52242. goto bail2
  52243. }
  52244. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  52245. libc.Xprintf(tls, __ccgo_ts+9067, libc.VaList(bp+8, dir))
  52246. }
  52247. if load != 0 {
  52248. XFcConfigAddConfigDir(tls, config, dir)
  52249. }
  52250. for {
  52251. if v2 = ret != 0; v2 {
  52252. v1 = libc.Xreaddir(tls, d)
  52253. e = v1
  52254. }
  52255. if !(v2 && v1 != 0) {
  52256. break
  52257. }
  52258. /*
  52259. * Add all files of the form [0-9]*.conf
  52260. */
  52261. d_len = libc.Int32FromUint64(libc.Xstrlen(tls, e+21))
  52262. if int32('0') <= int32(*(*int8)(unsafe.Pointer(e + 21))) && int32(*(*int8)(unsafe.Pointer(e + 21))) <= int32('9') && d_len > int32(m_TAIL_LEN) && libc.Xstrcmp(tls, e+21+uintptr(d_len)-uintptr(m_TAIL_LEN), __ccgo_ts+9092) == 0 {
  52263. libc.X__builtin___strcpy_chk(tls, base, e+21, ^t__predefined_size_t(0))
  52264. if !(XFcStrSetAdd(tls, files, file) != 0) {
  52265. ret = m_FcFalse
  52266. goto bail3
  52267. }
  52268. }
  52269. }
  52270. if ret != 0 {
  52271. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_FcSortCmpStr))
  52272. i = 0
  52273. for {
  52274. if !(ret != 0 && i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  52275. break
  52276. }
  52277. ret = __FcConfigParse(tls, config, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), complain, load)
  52278. goto _3
  52279. _3:
  52280. ;
  52281. i++
  52282. }
  52283. }
  52284. goto bail3
  52285. bail3:
  52286. ;
  52287. XFcStrSetDestroy(tls, files)
  52288. goto bail2
  52289. bail2:
  52290. ;
  52291. libc.Xfree(tls, file)
  52292. goto bail1
  52293. bail1:
  52294. ;
  52295. libc.Xclosedir(tls, d)
  52296. goto bail0
  52297. bail0:
  52298. ;
  52299. return libc.BoolInt32(ret != 0 || !(complain != 0))
  52300. return r
  52301. }
  52302. func _FcConfigParseAndLoadFromMemoryInternal(tls *libc.TLS, config uintptr, filename uintptr, buffer uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  52303. bp := tls.Alloc(4640)
  52304. defer tls.Free(4640)
  52305. var buf, s, v1, v3, v4 uintptr
  52306. var buflen, len1 Tsize_t
  52307. var error1 TFcBool
  52308. var k TFcMatchKind
  52309. var p TXML_Parser
  52310. var _ /* iter at bp+4584 */ TFcPtrListIter
  52311. var _ /* liter at bp+4560 */ TFcPtrListIter
  52312. var _ /* parse at bp+0 */ TFcConfigParse
  52313. _, _, _, _, _, _, _, _, _, _ = buf, buflen, error1, k, len1, p, s, v1, v3, v4
  52314. error1 = int32(m_FcTrue)
  52315. if !(buffer != 0) {
  52316. return m_FcFalse
  52317. }
  52318. len1 = libc.Xstrlen(tls, buffer)
  52319. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  52320. if load != 0 {
  52321. v1 = __ccgo_ts + 9098
  52322. } else {
  52323. v1 = __ccgo_ts + 9106
  52324. }
  52325. libc.Xprintf(tls, __ccgo_ts+9115, libc.VaList(bp+4616, v1, filename))
  52326. }
  52327. p = libexpat.XXML_ParserCreate(tls, __ccgo_ts+9140)
  52328. if !(p != 0) {
  52329. goto bail1
  52330. }
  52331. if !(_FcConfigParseInit(tls, bp, filename, config, p, load) != 0) {
  52332. goto bail2
  52333. }
  52334. libexpat.XXML_SetUserData(tls, p, bp)
  52335. libexpat.XXML_SetDoctypeDeclHandler(tls, p, __ccgo_fp(_FcStartDoctypeDecl), __ccgo_fp(_FcEndDoctypeDecl))
  52336. libexpat.XXML_SetElementHandler(tls, p, __ccgo_fp(_FcStartElement), __ccgo_fp(_FcEndElement))
  52337. libexpat.XXML_SetCharacterDataHandler(tls, p, __ccgo_fp(_FcCharacterData))
  52338. s = buffer
  52339. for cond := true; cond; cond = buflen != uint64(0) {
  52340. buf = libexpat.XXML_GetBuffer(tls, p, int32(m_BUFSIZ))
  52341. if !(buf != 0) {
  52342. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+9146, 0)
  52343. goto bail3
  52344. }
  52345. if len1 > uint64(m_BUFSIZ) {
  52346. buflen = uint64(m_BUFSIZ)
  52347. len1 -= uint64(m_BUFSIZ)
  52348. } else {
  52349. buflen = len1
  52350. len1 = uint64(0)
  52351. }
  52352. libc.X__builtin___memcpy_chk(tls, buf, s, buflen, ^t__predefined_size_t(0))
  52353. s = s + uintptr(buflen)
  52354. if !(libexpat.XXML_ParseBuffer(tls, p, libc.Int32FromUint64(buflen), libc.BoolInt32(buflen == uint64(0))) != 0) {
  52355. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+1991, libc.VaList(bp+4616, libexpat.XXML_ErrorString(tls, libexpat.XXML_GetErrorCode(tls, p))))
  52356. goto bail3
  52357. }
  52358. }
  52359. error1 = (*(*TFcConfigParse)(unsafe.Pointer(bp))).Ferror1
  52360. if load != 0 {
  52361. k = int32(_FcMatchKindBegin)
  52362. for {
  52363. if !(k < int32(_FcMatchKindEnd)) {
  52364. break
  52365. }
  52366. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584)
  52367. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584) != 0 {
  52368. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 40 + uintptr(k)*8)), bp+4584)
  52369. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  52370. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 40 + uintptr(k)*8)), bp+4584, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  52371. }
  52372. goto _2
  52373. _2:
  52374. ;
  52375. k++
  52376. }
  52377. }
  52378. XFcPtrListIterInitAtLast(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560)
  52379. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  52380. XFcPtrListIterAdd(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  52381. goto bail3
  52382. bail3:
  52383. ;
  52384. _FcConfigCleanup(tls, bp)
  52385. goto bail2
  52386. bail2:
  52387. ;
  52388. libexpat.XXML_ParserFree(tls, p)
  52389. goto bail1
  52390. bail1:
  52391. ;
  52392. if error1 != 0 && complain != 0 {
  52393. if load != 0 {
  52394. v3 = __ccgo_ts + 9170
  52395. } else {
  52396. v3 = __ccgo_ts + 8366
  52397. }
  52398. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9175, libc.VaList(bp+4616, v3, filename))
  52399. return m_FcFalse
  52400. }
  52401. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  52402. if load != 0 {
  52403. v4 = __ccgo_ts + 9098
  52404. } else {
  52405. v4 = __ccgo_ts + 9106
  52406. }
  52407. libc.Xprintf(tls, __ccgo_ts+9205, libc.VaList(bp+4616, v4, filename))
  52408. }
  52409. return int32(m_FcTrue)
  52410. }
  52411. func __FcConfigParse(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  52412. bp := tls.Alloc(2400)
  52413. defer tls.Free(2400)
  52414. var complain_again, ret TFcBool
  52415. var errno_, fd, len1 int32
  52416. var filename, realfilename, v1, v2, v3, v4 uintptr
  52417. var _ /* buf at bp+152 */ [1024]int8
  52418. var _ /* ebuf at bp+1328 */ [1025]int8
  52419. var _ /* reason at bp+1176 */ TFcStrBuf
  52420. var _ /* sbuf at bp+0 */ TFcStrBuf
  52421. _, _, _, _, _, _, _, _, _, _, _ = complain_again, errno_, fd, filename, len1, realfilename, ret, v1, v2, v3, v4
  52422. filename = libc.UintptrFromInt32(0)
  52423. realfilename = libc.UintptrFromInt32(0)
  52424. ret = m_FcFalse
  52425. complain_again = complain
  52426. XFcStrBufInit(tls, bp+1176, libc.UintptrFromInt32(0), 0)
  52427. filename = XFcConfigGetFilename(tls, config, name)
  52428. if !(filename != 0) {
  52429. XFcStrBufString(tls, bp+1176, __ccgo_ts+9235)
  52430. if name != 0 {
  52431. v1 = name
  52432. } else {
  52433. v1 = __ccgo_ts + 4341
  52434. }
  52435. XFcStrBufString(tls, bp+1176, v1)
  52436. goto bail0
  52437. }
  52438. realfilename = XFcConfigRealFilename(tls, config, name)
  52439. if !(realfilename != 0) {
  52440. XFcStrBufString(tls, bp+1176, __ccgo_ts+9250)
  52441. if name != 0 {
  52442. v2 = name
  52443. } else {
  52444. v2 = __ccgo_ts + 4341
  52445. }
  52446. XFcStrBufString(tls, bp+1176, v2)
  52447. goto bail0
  52448. }
  52449. if XFcStrSetMember(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0 {
  52450. XFcStrFree(tls, filename)
  52451. XFcStrFree(tls, realfilename)
  52452. return int32(m_FcTrue)
  52453. }
  52454. if load != 0 {
  52455. if !(XFcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, filename) != 0) {
  52456. goto bail0
  52457. }
  52458. }
  52459. if !(XFcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0) {
  52460. goto bail0
  52461. }
  52462. if XFcFileIsDir(tls, realfilename) != 0 {
  52463. ret = _FcConfigParseAndLoadDir(tls, config, name, realfilename, complain, load)
  52464. XFcStrFree(tls, filename)
  52465. XFcStrFree(tls, realfilename)
  52466. return ret
  52467. }
  52468. XFcStrBufInit(tls, bp, libc.UintptrFromInt32(0), 0)
  52469. fd = XFcOpen(tls, realfilename, m_O_RDONLY2, 0)
  52470. if fd == -int32(1) {
  52471. XFcStrBufString(tls, bp+1176, __ccgo_ts+9269)
  52472. XFcStrBufString(tls, bp+1176, realfilename)
  52473. goto bail1
  52474. }
  52475. for cond := true; cond; cond = len1 != 0 {
  52476. len1 = int32(libc.Xread(tls, fd, bp+152, uint64(m_BUFSIZ)))
  52477. if len1 < 0 {
  52478. errno_ = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  52479. libc.Xstrerror_r(tls, errno_, bp+1328, uint64(m_BUFSIZ))
  52480. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9285, libc.VaList(bp+2368, realfilename, bp+1328, errno_))
  52481. libc.Xclose(tls, fd)
  52482. goto bail1
  52483. }
  52484. XFcStrBufData(tls, bp, bp+152, len1)
  52485. }
  52486. libc.Xclose(tls, fd)
  52487. ret = _FcConfigParseAndLoadFromMemoryInternal(tls, config, filename, XFcStrBufDoneStatic(tls, bp), complain, load)
  52488. complain_again = m_FcFalse /* no need to reclaim here */
  52489. goto bail1
  52490. bail1:
  52491. ;
  52492. XFcStrBufDestroy(tls, bp)
  52493. goto bail0
  52494. bail0:
  52495. ;
  52496. if filename != 0 {
  52497. XFcStrFree(tls, filename)
  52498. }
  52499. if realfilename != 0 {
  52500. XFcStrFree(tls, realfilename)
  52501. }
  52502. if !(complain != 0) {
  52503. return int32(m_FcTrue)
  52504. }
  52505. if !(ret != 0) && complain_again != 0 {
  52506. if name != 0 {
  52507. if load != 0 {
  52508. v3 = __ccgo_ts + 9170
  52509. } else {
  52510. v3 = __ccgo_ts + 8366
  52511. }
  52512. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9331, libc.VaList(bp+2368, v3, name, XFcStrBufDoneStatic(tls, bp+1176)))
  52513. } else {
  52514. if load != 0 {
  52515. v4 = __ccgo_ts + 9170
  52516. } else {
  52517. v4 = __ccgo_ts + 8366
  52518. }
  52519. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9362, libc.VaList(bp+2368, v4, XFcStrBufDoneStatic(tls, bp+1176)))
  52520. }
  52521. XFcStrBufDestroy(tls, bp+1176)
  52522. return m_FcFalse
  52523. }
  52524. XFcStrBufDestroy(tls, bp+1176)
  52525. return ret
  52526. }
  52527. func XFcConfigParseOnly(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  52528. return __FcConfigParse(tls, config, name, complain, m_FcFalse)
  52529. }
  52530. func XFcConfigParseAndLoad(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  52531. return __FcConfigParse(tls, config, name, complain, int32(m_FcTrue))
  52532. }
  52533. func XFcConfigParseAndLoadFromMemory(tls *libc.TLS, config uintptr, buffer uintptr, complain TFcBool) (r TFcBool) {
  52534. return _FcConfigParseAndLoadFromMemoryInternal(tls, config, __ccgo_ts+9396, buffer, complain, int32(m_FcTrue))
  52535. }
  52536. const m_FC_DIR_SEPARATOR6 = '/'
  52537. // C documentation
  52538. //
  52539. // /* only used internally */
  52540. func _ftglue_qalloc(tls *libc.TLS, memory TFT_Memory, size TFT_ULong, perror uintptr) (r TFT_Pointer) {
  52541. var block TFT_Pointer
  52542. var error1 TFT_Error
  52543. _, _ = block, error1
  52544. error1 = 0
  52545. block = libc.UintptrFromInt32(0)
  52546. if size > uint64(0) {
  52547. block = (*(*func(*libc.TLS, TFT_Memory, int64) uintptr)(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Falloc})))(tls, memory, libc.Int64FromUint64(size))
  52548. if !(block != 0) {
  52549. error1 = int32(_FT_Err_Out_Of_Memory)
  52550. }
  52551. }
  52552. *(*TFT_Error)(unsafe.Pointer(perror)) = error1
  52553. return block
  52554. }
  52555. func _ftglue_free(tls *libc.TLS, memory TFT_Memory, block TFT_Pointer) {
  52556. if block != 0 {
  52557. (*(*func(*libc.TLS, TFT_Memory, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Ffree})))(tls, memory, block)
  52558. }
  52559. }
  52560. func Xftglue_stream_pos(tls *libc.TLS, stream TFT_Stream) (r TFT_Long) {
  52561. return libc.Int64FromUint64((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  52562. }
  52563. func Xftglue_stream_seek(tls *libc.TLS, stream TFT_Stream, pos TFT_Long) (r TFT_Error) {
  52564. var error1 TFT_Error
  52565. _ = error1
  52566. error1 = 0
  52567. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  52568. if (*(*func(*libc.TLS, TFT_Stream, uint64, uintptr, uint64) uint64)(unsafe.Pointer(&struct{ uintptr }{(*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread})))(tls, stream, libc.Uint64FromInt64(pos), uintptr(0), uint64(0)) != 0 {
  52569. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  52570. }
  52571. } else {
  52572. if pos < 0 || libc.Uint64FromInt64(pos) > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  52573. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  52574. }
  52575. }
  52576. if !(error1 != 0) {
  52577. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos = libc.Uint64FromInt64(pos)
  52578. }
  52579. return error1
  52580. }
  52581. func Xftglue_stream_frame_enter(tls *libc.TLS, stream TFT_Stream, count TFT_ULong) (r TFT_Error) {
  52582. bp := tls.Alloc(16)
  52583. defer tls.Free(16)
  52584. var memory TFT_Memory
  52585. var read_bytes TFT_ULong
  52586. var _ /* error at bp+0 */ TFT_Error
  52587. _, _ = memory, read_bytes
  52588. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Ok)
  52589. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  52590. /* allocate the frame in memory */
  52591. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  52592. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = _ftglue_qalloc(tls, memory, count, bp)
  52593. if *(*TFT_Error)(unsafe.Pointer(bp)) != libc.Int32FromInt32(0) {
  52594. goto Exit
  52595. }
  52596. /* read it */
  52597. read_bytes = (*(*func(*libc.TLS, TFT_Stream, uint64, uintptr, uint64) uint64)(unsafe.Pointer(&struct{ uintptr }{(*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread})))(tls, stream, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase, count)
  52598. if read_bytes < count {
  52599. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  52600. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  52601. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  52602. }
  52603. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  52604. }
  52605. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase
  52606. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  52607. *(*uint64)(unsafe.Pointer(stream + 16)) += read_bytes
  52608. } else {
  52609. /* check current and new position */
  52610. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos >= (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize || (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos+count > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  52611. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  52612. goto Exit
  52613. }
  52614. /* set cursor */
  52615. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase + uintptr((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  52616. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  52617. *(*uint64)(unsafe.Pointer(stream + 16)) += count
  52618. }
  52619. goto Exit
  52620. Exit:
  52621. ;
  52622. return *(*TFT_Error)(unsafe.Pointer(bp))
  52623. }
  52624. func Xftglue_stream_frame_exit(tls *libc.TLS, stream TFT_Stream) {
  52625. var memory TFT_Memory
  52626. _ = memory
  52627. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  52628. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  52629. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  52630. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  52631. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  52632. }
  52633. }
  52634. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = uintptr(0)
  52635. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = uintptr(0)
  52636. }
  52637. func Xftglue_face_goto_table(tls *libc.TLS, face TFT_Face, the_tag TFT_ULong, stream TFT_Stream) (r TFT_Error) {
  52638. var checksum, offset, sig, size, start, tag TFT_ULong
  52639. var count, nn TFT_UInt
  52640. var error1, v1, v10, v11, v2, v4, v5, v7, v8 TFT_Error
  52641. var v12, v3, v6, v9 bool
  52642. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = checksum, count, error1, nn, offset, sig, size, start, tag, v1, v10, v11, v12, v2, v3, v4, v5, v6, v7, v8, v9
  52643. if !!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(3)) != 0) {
  52644. error1 = int32(_FT_Err_Invalid_Face_Handle)
  52645. } else {
  52646. /* parse the directory table directly, without using
  52647. * FreeType's built-in data structures
  52648. */
  52649. offset = uint64(0)
  52650. v1 = Xftglue_stream_seek(tls, stream, 0)
  52651. error1 = v1
  52652. if v3 = v1 != 0; !v3 {
  52653. v2 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  52654. error1 = v2
  52655. }
  52656. if v3 || v2 != 0 {
  52657. goto Exit
  52658. }
  52659. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52660. sig = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52661. Xftglue_stream_frame_exit(tls, stream)
  52662. if sig == uint64(uint32(libc.Uint64FromUint8('t')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('t')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('c')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('f'))) {
  52663. /* deal with TrueType collections */
  52664. v4 = Xftglue_stream_seek(tls, stream, int64(12)+(*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_index*int64(4))
  52665. error1 = v4
  52666. if v6 = v4 != 0; !v6 {
  52667. v5 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  52668. error1 = v5
  52669. }
  52670. if v6 || v5 != 0 {
  52671. goto Exit
  52672. }
  52673. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52674. offset = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52675. Xftglue_stream_frame_exit(tls, stream)
  52676. }
  52677. v7 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(offset+uint64(4)))
  52678. error1 = v7
  52679. if v9 = v7 != 0; !v9 {
  52680. v8 = Xftglue_stream_frame_enter(tls, stream, uint64(2))
  52681. error1 = v8
  52682. }
  52683. if v9 || v8 != 0 {
  52684. goto Exit
  52685. }
  52686. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  52687. count = uint32(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1)))))))
  52688. Xftglue_stream_frame_exit(tls, stream)
  52689. v10 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(offset+uint64(12)))
  52690. error1 = v10
  52691. if v12 = v10 != 0; !v12 {
  52692. v11 = Xftglue_stream_frame_enter(tls, stream, uint64(count*uint32(16)))
  52693. error1 = v11
  52694. }
  52695. if v12 || v11 != 0 {
  52696. goto Exit
  52697. }
  52698. nn = uint32(0)
  52699. for {
  52700. if !(nn < count) {
  52701. break
  52702. }
  52703. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52704. tag = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52705. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52706. checksum = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52707. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52708. start = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52709. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52710. size = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52711. if tag == the_tag {
  52712. error1 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(start))
  52713. goto FoundIt
  52714. }
  52715. goto _13
  52716. _13:
  52717. ;
  52718. nn++
  52719. }
  52720. error1 = int32(_FT_Err_Table_Missing)
  52721. goto FoundIt
  52722. FoundIt:
  52723. ;
  52724. Xftglue_stream_frame_exit(tls, stream)
  52725. }
  52726. goto Exit
  52727. Exit:
  52728. ;
  52729. return error1
  52730. }
  52731. func __ccgo_fp(f interface{}) uintptr {
  52732. type iface [2]uintptr
  52733. return (*iface)(unsafe.Pointer(&f))[1]
  52734. }
  52735. var XFcDebugVal int32
  52736. /*
  52737. * Copyright (c) 2002-2017 Apple Inc. All rights reserved.
  52738. *
  52739. * @APPLE_LICENSE_HEADER_START@
  52740. *
  52741. * The contents of this file constitute Original Code as defined in and
  52742. * are subject to the Apple Public Source License Version 1.1 (the
  52743. * "License"). You may not use this file except in compliance with the
  52744. * License. Please obtain a copy of the License at
  52745. * http://www.apple.com/publicsource and read it before using this file.
  52746. *
  52747. * This Original Code and all software distributed under the License are
  52748. * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  52749. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  52750. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  52751. * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
  52752. * License for the specific language governing rights and limitations
  52753. * under the License.
  52754. *
  52755. * @APPLE_LICENSE_HEADER_END@
  52756. */
  52757. /*
  52758. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  52759. *
  52760. * @APPLE_LICENSE_HEADER_START@
  52761. *
  52762. * This file contains Original Code and/or Modifications of Original Code
  52763. * as defined in and that are subject to the Apple Public Source License
  52764. * Version 2.0 (the 'License'). You may not use this file except in
  52765. * compliance with the License. Please obtain a copy of the License at
  52766. * http://www.opensource.apple.com/apsl/ and read it before using this
  52767. * file.
  52768. *
  52769. * The Original Code and all software distributed under the License are
  52770. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  52771. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  52772. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  52773. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  52774. * Please see the License for the specific language governing rights and
  52775. * limitations under the License.
  52776. *
  52777. * @APPLE_LICENSE_HEADER_END@
  52778. */
  52779. /*-
  52780. * Copyright (c) 1990, 1993
  52781. * The Regents of the University of California. All rights reserved.
  52782. *
  52783. * Redistribution and use in source and binary forms, with or without
  52784. * modification, are permitted provided that the following conditions
  52785. * are met:
  52786. * 1. Redistributions of source code must retain the above copyright
  52787. * notice, this list of conditions and the following disclaimer.
  52788. * 2. Redistributions in binary form must reproduce the above copyright
  52789. * notice, this list of conditions and the following disclaimer in the
  52790. * documentation and/or other materials provided with the distribution.
  52791. * 3. All advertising materials mentioning features or use of this software
  52792. * must display the following acknowledgement:
  52793. * This product includes software developed by the University of
  52794. * California, Berkeley and its contributors.
  52795. * 4. Neither the name of the University nor the names of its contributors
  52796. * may be used to endorse or promote products derived from this software
  52797. * without specific prior written permission.
  52798. *
  52799. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  52800. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  52801. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  52802. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  52803. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  52804. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  52805. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  52806. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  52807. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  52808. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  52809. * SUCH DAMAGE.
  52810. *
  52811. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  52812. */
  52813. /*
  52814. * Copyright (c) 2023 Apple Inc. All rights reserved.
  52815. *
  52816. * @APPLE_LICENSE_HEADER_START@
  52817. *
  52818. * This file contains Original Code and/or Modifications of Original Code
  52819. * as defined in and that are subject to the Apple Public Source License
  52820. * Version 2.0 (the 'License'). You may not use this file except in
  52821. * compliance with the License. Please obtain a copy of the License at
  52822. * http://www.opensource.apple.com/apsl/ and read it before using this
  52823. * file.
  52824. *
  52825. * The Original Code and all software distributed under the License are
  52826. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  52827. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  52828. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  52829. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  52830. * Please see the License for the specific language governing rights and
  52831. * limitations under the License.
  52832. *
  52833. * @APPLE_LICENSE_HEADER_END@
  52834. */
  52835. /*-
  52836. * Copyright (c) 1990, 1993
  52837. * The Regents of the University of California. All rights reserved.
  52838. *
  52839. * Redistribution and use in source and binary forms, with or without
  52840. * modification, are permitted provided that the following conditions
  52841. * are met:
  52842. * 1. Redistributions of source code must retain the above copyright
  52843. * notice, this list of conditions and the following disclaimer.
  52844. * 2. Redistributions in binary form must reproduce the above copyright
  52845. * notice, this list of conditions and the following disclaimer in the
  52846. * documentation and/or other materials provided with the distribution.
  52847. * 3. All advertising materials mentioning features or use of this software
  52848. * must display the following acknowledgement:
  52849. * This product includes software developed by the University of
  52850. * California, Berkeley and its contributors.
  52851. * 4. Neither the name of the University nor the names of its contributors
  52852. * may be used to endorse or promote products derived from this software
  52853. * without specific prior written permission.
  52854. *
  52855. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  52856. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  52857. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  52858. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  52859. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  52860. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  52861. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  52862. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  52863. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  52864. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  52865. * SUCH DAMAGE.
  52866. *
  52867. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  52868. */
  52869. /*
  52870. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  52871. *
  52872. * @APPLE_LICENSE_HEADER_START@
  52873. *
  52874. * This file contains Original Code and/or Modifications of Original Code
  52875. * as defined in and that are subject to the Apple Public Source License
  52876. * Version 2.0 (the 'License'). You may not use this file except in
  52877. * compliance with the License. Please obtain a copy of the License at
  52878. * http://www.opensource.apple.com/apsl/ and read it before using this
  52879. * file.
  52880. *
  52881. * The Original Code and all software distributed under the License are
  52882. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  52883. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  52884. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  52885. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  52886. * Please see the License for the specific language governing rights and
  52887. * limitations under the License.
  52888. *
  52889. * @APPLE_LICENSE_HEADER_END@
  52890. */
  52891. /*
  52892. * Copyright (c) 1989, 1993
  52893. * The Regents of the University of California. All rights reserved.
  52894. * (c) UNIX System Laboratories, Inc.
  52895. * All or some portions of this file are derived from material licensed
  52896. * to the University of California by American Telephone and Telegraph
  52897. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  52898. * the permission of UNIX System Laboratories, Inc.
  52899. *
  52900. * This code is derived from software contributed to Berkeley by
  52901. * Paul Borman at Krystal Technologies.
  52902. *
  52903. * Redistribution and use in source and binary forms, with or without
  52904. * modification, are permitted provided that the following conditions
  52905. * are met:
  52906. * 1. Redistributions of source code must retain the above copyright
  52907. * notice, this list of conditions and the following disclaimer.
  52908. * 2. Redistributions in binary form must reproduce the above copyright
  52909. * notice, this list of conditions and the following disclaimer in the
  52910. * documentation and/or other materials provided with the distribution.
  52911. * 3. All advertising materials mentioning features or use of this software
  52912. * must display the following acknowledgement:
  52913. * This product includes software developed by the University of
  52914. * California, Berkeley and its contributors.
  52915. * 4. Neither the name of the University nor the names of its contributors
  52916. * may be used to endorse or promote products derived from this software
  52917. * without specific prior written permission.
  52918. *
  52919. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  52920. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  52921. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  52922. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  52923. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  52924. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  52925. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  52926. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  52927. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  52928. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  52929. * SUCH DAMAGE.
  52930. *
  52931. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  52932. */
  52933. /*
  52934. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  52935. *
  52936. * @APPLE_LICENSE_HEADER_START@
  52937. *
  52938. * This file contains Original Code and/or Modifications of Original Code
  52939. * as defined in and that are subject to the Apple Public Source License
  52940. * Version 2.0 (the 'License'). You may not use this file except in
  52941. * compliance with the License. Please obtain a copy of the License at
  52942. * http://www.opensource.apple.com/apsl/ and read it before using this
  52943. * file.
  52944. *
  52945. * The Original Code and all software distributed under the License are
  52946. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  52947. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  52948. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  52949. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  52950. * Please see the License for the specific language governing rights and
  52951. * limitations under the License.
  52952. *
  52953. * @APPLE_LICENSE_HEADER_END@
  52954. */
  52955. /*
  52956. * Copyright (c) 1989, 1993
  52957. * The Regents of the University of California. All rights reserved.
  52958. * (c) UNIX System Laboratories, Inc.
  52959. * All or some portions of this file are derived from material licensed
  52960. * to the University of California by American Telephone and Telegraph
  52961. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  52962. * the permission of UNIX System Laboratories, Inc.
  52963. *
  52964. * This code is derived from software contributed to Berkeley by
  52965. * Paul Borman at Krystal Technologies.
  52966. *
  52967. * Redistribution and use in source and binary forms, with or without
  52968. * modification, are permitted provided that the following conditions
  52969. * are met:
  52970. * 1. Redistributions of source code must retain the above copyright
  52971. * notice, this list of conditions and the following disclaimer.
  52972. * 2. Redistributions in binary form must reproduce the above copyright
  52973. * notice, this list of conditions and the following disclaimer in the
  52974. * documentation and/or other materials provided with the distribution.
  52975. * 3. All advertising materials mentioning features or use of this software
  52976. * must display the following acknowledgement:
  52977. * This product includes software developed by the University of
  52978. * California, Berkeley and its contributors.
  52979. * 4. Neither the name of the University nor the names of its contributors
  52980. * may be used to endorse or promote products derived from this software
  52981. * without specific prior written permission.
  52982. *
  52983. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  52984. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  52985. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  52986. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  52987. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  52988. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  52989. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  52990. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  52991. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  52992. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  52993. * SUCH DAMAGE.
  52994. *
  52995. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  52996. */
  52997. var XFcIdentityMatrix = TFcMatrix{
  52998. Fxx: libc.Float64FromInt32(1),
  52999. Fyy: libc.Float64FromInt32(1),
  53000. }
  53001. var Xdefault_langs uintptr
  53002. var Xother_types uintptr
  53003. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  53004. var __ccgo_ts1 = ".NEW\x00.LCK\x00.TMP-XXXXXX\x00w\x00%ld\n\x00.uuid\x00Unable to revert mtime: %s\n\x00FONTCONFIG_USE_MMAP\x00-le64.cache-8\x00 (mapped to \x00\x00)\x00, salt: \x00cache: %s (dir: %s%s%s%s%s%s)\n\x00cache fallbacks to: %s (dir: %s)\n\x00Fontconfig error: not freed %p (dir: %s, refcount %d)\n\x00FcCacheTimeValid dir \"%s\" cache checksum %d dir checksum %d\n\x00SOURCE_DATE_EPOCH\x00Fontconfig: SOURCE_DATE_EPOCH invalid\n\x00Fontconfig: SOURCE_DATE_EPOCH: strtoull: %s: %llu\n\x00Fontconfig: SOURCE_DATE_EPOCH has trailing garbage\n\x00Fontconfig: SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n\x00Fontconfig error: No writable cache directories\n\x00FcDirCacheWriteDir dir \"%s\" file \"%s\"\n\x00write cache\x00Fontconfig error: %s: out of memory\n\x00unwritable\x00non-existent\x00%s: not cleaning %s cache directory\n\x00%s: cleaning cache directory\n\x00Fontconfig error: %s: allocation failure\n\x00%s: invalid cache file: %s\n\x00%s: %s: missing directory: %s \n\x00CACHEDIR.TAG\x00wb\x00Created CACHEDIR.TAG at %s\n\x00Unable to create CACHEDIR.TAG at %s\n\x00FONTCONFIG_SYSROOT\x00Fontconfig warning: Directory/file mtime in the future. New fonts may not be detected.\n\x00adding fonts from %s\n\x00 (salt: \x00%s -> %s%s%s%s\n\x00%s%s%s%s\n\x00Reset font directories!\n\x00Fontconfig warning: <name> tag has target=\"font\" in a <match target=\"pattern\">.\n\x00Fontconfig warning: FcPattern object %s does not accept value\x00\n\x00Not adding\n\x00position not on list\n\x00Append\x00Prepend\x00%s list before \x00%s list after \x00und\x00FcConfigSubstitute \x00\nRule Set: %s\n\x00FcConfigSubstitute test \x00No match\n\x00Substitute \x00\n\n\x00FcConfigSubstitute edit\x00FcConfigSubstitute done\x00/\x00FONTCONFIG_PATH\x00/etc/fonts\x00HOME\x00XDG_CACHE_HOME\x00/.cache\x00XDG_CONFIG_HOME\x00/.config\x00XDG_DATA_HOME\x00/.local/share\x00XDG_DATA_DIRS\x00/usr/local/share\x00/usr/share\x00FONTCONFIG_FILE\x00fonts.conf\x00Fontconfig warning: Unable to initialize config and retry limit exceeded. sysroot functionality may not work as expected.\n\x00Add Rule(kind:%d, name: %s) \x00No description\x00%x\x00\ncharsets %d -> %d leaves %d -> %d\n\x00<unknown>\x00<void>\x00%d(i)\x00%g(f)\x00\"%s\"\x00True\x00False\x00DontCare\x00[%g %g; %g %g]\x00face\x00[%g %g]\x00 \x00 [marker] \x00(w)\x00(s)\x00(=)\x00(?)\x00 [marker]\x00%s\x00langset (alloc error)\x00\t\x00%04x:\x00 %08x\x00Null pattern\n\x00Pattern has %d elts (size %d)\n\x00\t%s:\x00Pattern has %d elts (size %d), %d elts (size %d)\n\x00\t%s: (None) -> \x00 -> (None)\n\x00 -> \x00Integer\x00Double\x00String\x00Matrix\x00Range\x00Bool\x00CharSet\x00LangSet\x00Field\x00Const\x00Assign\x00AssignReplace\x00PrependFirst\x00AppendLast\x00Delete\x00DeleteAll\x00Quest\x00Or\x00And\x00Equal\x00(ignore blanks)\x00NotEqual\x00Less\x00LessEqual\x00More\x00MoreEqual\x00Contains\x00NotContains\x00Plus\x00Minus\x00Times\x00Divide\x00Not\x00Nil\x00Comma\x00Floor\x00Ceil\x00Round\x00Trunc\x00Listing\x00Invalid\x00none\x00%d\x00%g\x00[\x00; \x00]\x00(%g, %g)\x00true\x00false\x00charset\n\x00langset:\x00nil\n\x00%s \x00(pattern) \x00(font) \x00 quest \x00 colon \x00Not \x00Floor \x00Ceil \x00Round \x00Trunc \x00pattern \x00font \x00scan \x00any \x00all \x00first \x00not_first \x00Edit %s \x00[test]\n\x00[edit]\n\x00;\n\x00FontSet %d of %d\n\x00Font %d \x00FC_DEBUG\x00FC_DEBUG=%s\n\x00FC_LANG\x00LC_ALL\x00LC_CTYPE\x00LANG\x00en\x00en-us\x00\tScanning file %s...\x00done\n\x00Final font pattern:\n\x00\tScanning dir %s\n\x00cache scan dir %s\n\x00Fontconfig: Pattern format error: \x00.\n\x00format ended while expecting '%c'\x00expected '%c' at %d\x00expected identifier at %d\x00expected character data at %d\x00unparse\x00fccat\x00\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\"\x00fcmatch\x00%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\"\x00fclist\x00%{?file{%{file}: }}%{-file{%{=unparse}}}\x00pkgkit\x00%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}\x00unknown builtin \"%s\"\x00expected non-negative number at %d\x00'\\''\x00&amp;\x00&lt;\x00&gt;\x00downcase\x00basename\x00dirname\x00cescape\x00shescape\x00xmlescape\x00delete\x00escape\x00translate\x00unknown converter \"%s\"\x00Adobe\x00adobe\x00Bigelow\x00b&h\x00Bitstream\x00bitstream\x00Gnat\x00culmus\x00Iorsh\x00HanYang System\x00hanyang\x00Font21\x00hwan\x00IBM\x00ibm\x00International Typeface Corporation\x00itc\x00Linotype\x00linotype\x00LINOTYPE-HELL\x00Microsoft\x00microsoft\x00Monotype\x00monotype\x00Omega\x00omega\x00Tiro Typeworks\x00tiro\x00URW\x00urw\x00XFree86\x00xfree86\x00Xorg\x00xorg\x00MACINTOSH\x00SJIS\x00UCS-2BE\x00UTF-16BE\x00ASCII\x00ISO-8859-1\x00thin\x00extralight\x00ultralight\x00demilight\x00semilight\x00light\x00book\x00regular\x00normal\x00medium\x00demibold\x00demi\x00semibold\x00extrabold\x00superbold\x00ultrabold\x00bold\x00ultrablack\x00superblack\x00extrablack\x00<ultra\x00black\x00heavy\x00ultracondensed\x00extracondensed\x00semicondensed\x00condensed\x00semiexpanded\x00extraexpanded\x00ultraexpanded\x00expanded\x00extended\x00italic\x00kursiv\x00oblique\x00shadow\x00caps\x00antiqua\x00romansc\x00embosed\x00dunhill\x00found family (n %2d p %d e %d l 0x%04x)\x00found full (n %2d p %d e %d l 0x%04x)\x00found style (n %2d p %d e %d l 0x%04x) \x00(null)\x00%s\n\x00using FreeType family \"%s\"\n\x00Regular\x00using FreeType style \"%s\"\n\x00applying default style Regular\n\x00using filename for family %s\n\x00\tos2 weight class %d multiplier %g maps to weight %g\n\x00\tos2 width class %d multiplier %g maps to width %g\n\x00style\x00\tStyle %s maps to weight %g\n\x00\tStyle %s maps to width %g\n\x00\tStyle %s maps to slant %d\n\x00\tStyle %s maps to decorative %d\n\x00unknown\x00otlayout:\x00ttable:Silf \x00complex_ features in this font: %s\n\x00<fontconfig><dir>/System/Library/Fonts</dir> <dir>/Library/Fonts</dir> <dir>~/Library/Fonts</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font3</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font4</dir> <dir prefix=\"xdg\">fonts</dir> <cachedir>/usr/var/cache/fontconfig</cachedir> <cachedir prefix=\"xdg\">fontconfig</cachedir> <include ignore_missing=\"yes\">/etc/fonts/conf.d</include> <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/conf.d</include> <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/fonts.conf</include></fontconfig>\x00/usr/share/fontconfig/conf.avail\x00Fontconfig warning: no <cachedir> elements found. Check configuration.\n\x00Fontconfig warning: adding <cachedir>%s</cachedir>\n\x00/usr/var/cache/fontconfig\x00/fontconfig\x00Fontconfig warning: adding <cachedir prefix=\"xdg\">fontconfig</cachedir>\n\x00Fontconfig error: out of memory\x00font charset\x00%s charset\x00\n%s(%u) \x00{\x00 %04x\x00 }\n\t\x00%s(%u) \x00C\x00C.UTF-8\x00C.utf8\x00POSIX\x00Fontconfig warning: ignoring %s: not a valid language tag\n\x00Fontconfig warning: ignoring %s: not a valid region tag\n\x00Checking the existence of %s.orth\n\x00normalized: %s -> %s\n\x00Unable to normalize %s\n\x00FcLangSet \x00 contains \x00\tMissing bitmap %s\n\x00\tMissing string %s\n\x00family\x00familylang\x00fullname\x00fullnamelang\x00stylelang\x00 -\x00 %s: %g \x00, \x00%s: %g \x00 \x00wght\x00wdth\x00opsz\x00%4s=%g\x00Match \x00Score\x00 %g\x00Best score\x00FC_DBG_MATCH_FILTER\x00charset\x00Add \x00Sort \x00lang\x00Font %s:%s matches language %d\n\x00First font \x00slant\x00weight\x00width\x00size\x00aspect\x00pixelsize\x00spacing\x00foundry\x00antialias\x00hintstyle\x00hinting\x00verticallayout\x00autohint\x00globaladvance\x00file\x00index\x00rasterizer\x00outline\x00scalable\x00dpi\x00rgba\x00scale\x00minspace\x00charwidth\x00charheight\x00matrix\x00fontversion\x00capability\x00fontformat\x00embolden\x00embeddedbitmap\x00decorative\x00lcdfilter\x00namelang\x00fontfeatures\x00prgname\x00hash\x00postscriptname\x00color\x00symbol\x00fontvariations\x00variable\x00fonthashint\x00order\x00roman\x00proportional\x00dual\x00mono\x00charcell\x00rgb\x00bgr\x00vrgb\x00vbgr\x00hintnone\x00hintslight\x00hintmedium\x00hintfull\x00lcdnone\x00lcddefault\x00lcdlight\x00lcdlegacy\x00Fontconfig error: Unexpected constant name `%s' used for object `%s': should be `%s'\n\x00%lg %lg %lg %lg\x00[%lg %lg]\x00[%s %[^]]]\x00-,:\x00=_:\x00:,\x00%g %g %g %g\x00,\x00\\-:,\x00-\x00:\x00\\=_:,\x00=\x00Fontconfig error: No object ID to assign\n\x00Raw pattern:\n\x00Serialized pattern:\n\x00nfs\x00msdosfs\x00pcfs\x00.\x00/.\x00/..\x00its:\x00info\x00warning\x00error\x00Fontconfig %s: \"%s\", line %d: \x00Fontconfig %s: line %d: \x00Fontconfig %s: \x00void\x00number\x00string\x00bool\x00FT_Face\x00langset\x00range\x00saw %s, expected %s\x00invalid constant used : %s\x00out of memory\x00mismatching element\x00invalid attribute '%s'\x00xdg\x00default\x00cwd\x00relative\x00Use of ambiguous path in <%s> element. please add prefix=\"cwd\" if current behavior is desired.\x00unknown element \"%s\"\x00non-integer rescan\x00\"%s\": not a valid integer\x00\"%s\": not a valid double\x00target\x00pattern\x00font\x00invalid name target \"%s\"\x00Missing values in matrix element\x00wrong number of matrix elements\x00too many elements in range\x00invalid element in range\x00invalid range\x00\"%s\" is not known boolean\x00invalid character: 0x%04x\x00invalid element in charset\x00invalid langset: %s\x00invalid element in langset\x00weak\x00strong\x00same\x00invalid binding \"%s\"\x00non-family\x00binding\x00Having multiple <family> in <alias> isn't supported and may not work as expected\x00bad alias\x00missing family in alias\x00domain\x00empty font directory name for remap ignored\x00as-path\x00Missing as-path in remap-dir\x00prefix\x00salt\x00out of memory; cannot create remap data for %s as %s\x00Unable to reset fonts dirs\x00empty font directory name ignored\x00out of memory; cannot add directory %s\x00empty cache directory name ignored\x00out of memory; cannot add cache directory %s\x00ignore_missing\x00deprecated\x00conf.d\x00reading configurations from %s is deprecated. please move it to %s manually\x00scan\x00invalid test target \"%s\"\x00qual\x00any\x00all\x00first\x00not_first\x00invalid test qual \"%s\"\x00name\x00missing test name\x00compare\x00invalid test compare \"%s\"\x00ignore-blanks\x00invalid test ignore-blanks \"%s\"\x00missing test expression\x00Having multiple values in <test> isn't supported and may not work as expected\x00missing edit name\x00mode\x00invalid edit mode \"%s\"\x00Expression doesn't take any effects for delete and delete_all\x00invalid match target \"%s\"\x00<match target=\"scan\"> cannot edit user-defined object \"%s\"\x00invalid match element\x00No <test> nor <edit> elements in <match>\x00bad font selector\x00unknown pattern element %d\x00missing pattern element name\x00unknown pattern element\x00fontconfig\x00invalid doctype \"%s\"\x00Cannot open config dir \"%s\"\x00\tScanning config dir %s\n\x00.conf\x00Loading\x00Scanning\x00\t%s config file from %s\n\x00UTF-8\x00cannot get parse buffer\x00load\x00Cannot %s config file from %s\x00\t%s config file from %s done\n\x00No such file: \x00No such realfile: \x00Unable to open \x00failed reading config file: %s: %s (errno %d)\x00Cannot %s config file \"%s\": %s\x00Cannot %s default config file: %s\x00memory\x00"